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!