Warum erhalte ich den Fehler "Ungültiger Befehl 'PythonHandler'?

8

Ich versuche, eine Django-Anwendung bereitzustellen, bin aber gegen eine Mauer gestoßen. Unter Debian (aktuell) habe ich bisher folgende Befehle ausgeführt:

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

Ich habe versucht, das Modul manuell in die Apache 2-Konfigurationsdateien einzufügen, aber um ehrlich zu sein, bin ich total verloren. Es ist völlig anders als Apache Version 1, die ich vor Jahren verwendet habe.

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

Ich habe meiner sites-available/defaultDatei zwischen den Tags Folgendes hinzugefügt .

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

Hier sind die Tutorials, die ich bisher ohne viel Glück verwendet habe:

Nick Bolton
quelle

Antworten:

5

Haben Sie mod_python.load in mods-enabled aktiviert? Sie können dies tun, indem Sie einfach einen Softlink zu derselben Datei in den verfügbaren Mods erstellen.

txwikinger
quelle
txwikinger, danke für den Tipp - ich musste die .load-Datei manuell erstellen. Was seltsam ist, da ich davon ausgegangen bin, dass es bereits da ist.
Nick Bolton
5

einfacher Weg, es zu tun

a2enmod Python

llazzaro
quelle
3

Unter Ubuntu müssen Sie:

apt-get install libapache2-mod-python
Chris McAfee
quelle
0

Sieht so aus, als müsste ich die Datei python.load manuell erstellen, komisch. Wie auch immer, diese beiden Befehle haben es behoben:

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
quelle
Hmm, eine Abwahl. Vielleicht werde ich überprüfen, welche Antwort für diese Frage am besten geeignet ist.
Nick Bolton
Es fehlt ein Schrägstrich: etc / apache2 / mods-enabled / python.load
Petr
0

Wenn Sie Gentoo verwenden, definieren Sie -D PYTHON in /etc/conf.d/apache2


quelle