8

I'm trying to deploy a Django application, but I've hit a brick wall. On Debian (latest), I've run these commands so far:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-python python-django

I've tried adding the module manually in the Apache 2 config files, but to be honest I'm totally lost. It's totally different to Apache version 1 which I used years ago.

Syntax error on line 7 of /etc/apache2/sites-enabled/000-default:
Invalid command 'PythonHandler', perhaps misspelled or defined by a module not included in the server configuration

I've added the following to my sites-available/default file, between the tags.

    <Location "/">
              SetHandler python-program
              PythonHandler django.core.handlers.modpython
              SetEnv DJANGO_SETTINGS_MODULE hellodjango1.settings
              PythonDebug Off
    </Location>

Here's what tutorials I've used so far, without much luck:

Nick Bolton
  • 5,016
  • 12
  • 51
  • 62

5 Answers5

5

more easy way to do it

a2enmod python

llazzaro
  • 421
  • 3
  • 16
5

Have you enabled mod_python.load in mods-enabled? You can do this by just creating a softlink to the same file in mods-available.

txwikinger
  • 903
  • 7
  • 14
  • txwikinger, thanks for the tip - I had to manually create the .load file. Which is odd since I assumed it'd already be there. – Nick Bolton Aug 23 '09 at 10:55
3

On Ubuntu, you need to:

apt-get install libapache2-mod-python
RichVel
  • 3,524
  • 1
  • 17
  • 23
0

If you're using Gentoo, define -D PYTHON in /etc/conf.d/apache2

0

Looks like I had to manually create the python.load file, weird. Anyway, these two commands fixed it:

echo "LoadModule python_module /usr/lib/apache2/modules/mod_python.so" > /etc/apache2/mods-available/python.load
ln -s ../mods-available/python.load etc/apache2/mods-enabled/python.load
Nick Bolton
  • 5,016
  • 12
  • 51
  • 62