Django on OpenSUSE Virtual Server

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:

  1. I installed subversion, the MySQL Python lib and python-devel via yast.
  2. I checked out the up to date django version via svn into /opt.
  3. I ran “sudo python install” from the trunk directory.
  4. I added “PYTHONPATH = djangoProjectDirectory” to my bash configuration (exchange djangoProjectDirectory with the path to your project directory).
  5. For the integration of django into Apache I needed to enable mod_env.
  6. 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
    #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
  7. 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.
  8. Restart Apache.
  9. Go to or (as you might have guessed already, exchange with your domain)


Published by Johannes Luderschmidt

About this blog