Categories
python SHOUTcast

Python Dynamic Playlist Script for SHOUTcast Transcoder (for Linux)

If you want to provide music to a SHOUTcast server directly from the same server (instead of streaming it to the server from you PC) then SHOUTcast Transcoder is your weapon of choice.

Categories
django facebook python Uncategorized

How to Build a Facebook App in Django

Nice tutorial.

Categories
django opensuse python

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.

Categories
apache django opensuse python

Django Invalid command ‘SetEnv’ in OpenSUSE

Today I came upon a problem when I wanted to integrate a Django project into my Apache via mod_python on my OpenSUSE virtual server.

I put the snippet I need for Django into a separate config file called django.conf into the folder /etc/apache2/conf.d/ from which all files are automatically loaded whenever Apache starts.

Everytime I wanted to start my Apache it said
Syntax error on line 6 of /etc/apache2/conf.d/django.conf:
Invalid command 'SetEnv', perhaps misspelled or defined by a module not included in the server configuration

This seems to be a problem with the Apache configuration of OpenSUSE as mod_env which provides the SetEnv directive is installed but disabled.

Solution:

  1. Start yast (from the command line)
  2. Select “Network Services”
  3. Select “HTTP Server”
  4. Select “Server Modules”
  5. Select “Network Services”
  6. Scroll to “env”
  7. Select “Toggle Status”
  8. Select “Finish”

Done.