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 setup.py 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
    </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>
  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 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.

Posted in django, opensuse, python Tagged with: django, opensuse, python