Running your own Apache, mod_wsgi and Django on HCOOP is reasonable easy. You must realize that you're not doing a server installation, but a local (aka your own home-directory) installation. Apache don't care, as long as you enter the correct configuration. The only tricky part is Virtualenv. You need this popular Python tool to create a your own Django environment. Using Virtualenv is straight forward. Unfortunaly, Virtualenv makes the installation and configuration of your other tools a little bit more complex. Therefore, I created this page to help you through these steps. = Apache = == Introduction == Download the latest version from http://apache.org. Choose for unix source and build your Apache yourself. If you follow the instructions, then it is quite simple. Don't forget to include the mod_rewrite module in your build. Also, don't do /apache which you're not allowed on HCOOP, but $HOME/apache. More information is on RunningYourOwnApache. == MOD_WSGI == == HTTPD.conf == === Static media === You need to organize a couple of things in the Apache configuration file. First of all, you want an alias for your "favicon.ico". With a static web-site the favicon is in the document root. I prefer the favicon in the same directory as my other static media. Therefore you need an alias for the directory with your static media, as well as an alias for your favicon. Don't forget to add the Directory entry for this directory. {{{#!highlight apacheconf alias /favicon.ico /YOURPROJECT/site_media/favicon.ico alias /site_media/ /YOURPROJECT/site_media/ }}} For the Admin part of your Django project you will probably use the default Django admin pages and media files. Add a symbolic link to your Django directory (don't forget to add followsymlinks to your Apache configuration) and configure that one too. {{{#!highlight apacheconf alias /media/ /YOURPROJECT/media/ }}} = Django = == WSGI == You need to have a special WSGI script in your Django project. Don't put this one in the same directory as your settings file but use a subdirectory. Only then you can enter a separate Directory with the appropriate allow and deny. You don't want to expose your directory with your settings file. == Settings.py == == More information == * http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango = Alternatives = == Django_cpserver == The application CherryPy is also very good in serving Python applications. CherryPy is also a Web Framework, but you can use it for serving only.