I had some struggles when installing django on my OpenSUSE virtual server. It started with the problem, that I have not found a django rpm via yast in the OpenSUSE repositories. Thus, I decided to install django manually and to keep the footprint as small as possible. Luckily, Python 2.5.1 and the appropriate mod_python module for Apache have been installed already.
These are the steps that worked for me:
- I installed subversion, the MySQL Python lib and python-devel via yast.
- I checked out the up to date django version via svn into /opt.
- I ran “sudo python setup.py install” from the trunk directory.
- I added “PYTHONPATH = djangoProjectDirectory” to my bash configuration (exchange djangoProjectDirectory with the path to your project directory).
- For the integration of django into Apache I needed to enable mod_env.
- According to the django mod_python site, I created a snippet I need for the integration into Apache. This snippet looks like this:
#Map global URL /media to media folder of django's admin page
Alias /media /opt/trunk/django/contrib/admin/media
<Directory /opt/trunk/django/contrib/admin/media>
Order allow,deny
Allow from all
</Directory>
#add django project itself (repeat so for each additional django project)
<Location "/mysite/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
PythonOption django.root /mysite
PythonDebug On
</Location> - I stored this snippet in a separate config file called django.conf into the folder /etc/apache2/conf.d/ from which all files are automatically loaded whenever Apache starts.
- Restart Apache.
- Go to http://your-domain.com/mysite or http://your-domain.com/mysite/admin (as you might have guessed already, exchange your-domain.com with your domain)
Done.