Here is a quick and simple configuration code recipe to serve the admin static files in a production environment using modWSGI and Apache 2.
Modify your apache2 configuration file. By default that would be:
/etc/apache2/sites-available/default
Just add the line:
Alias /media/ /var/www/media/
..under your VirtualHost setting, like so:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
Alias /media/ /var/www/media/
DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> WSGIScriptAlias / /home/ubuntu/RESTCat/apache/django.wsgi . . </VirtualHost>
Note that the WSGIScriptAlias points to your Django application configuration file. I keep it along side my project in a folder called ‘apache’ in a file called ‘django.wsgi’.
Now add a symbolic link to point apache to the admin static content like so:
sudo ln -s /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media /var/www/media
Now simply restart apache.
sudo apache2ctl restart
Your admin static files should now be served!