Pourquoi est-ce que j'obtiens une erreur, commande invalide 'PythonHandler'?

8

J'essaie de déployer une application Django, mais j'ai heurté un mur de briques. Sur Debian (dernière), j'ai exécuté ces commandes jusqu'à présent:

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

J'ai essayé d'ajouter le module manuellement dans les fichiers de configuration d'Apache 2, mais pour être honnête, je suis totalement perdu. C'est totalement différent de la version 1 d'Apache que j'utilisais il y a des années.

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

J'ai ajouté ce qui suit à mon sites-available/defaultfichier, entre les balises.

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

Voici les tutoriels que j'ai utilisés jusqu'à présent, sans beaucoup de chance:

Nick Bolton
la source

Réponses:

5

Avez-vous activé mod_python.load dans les mods-enabled? Vous pouvez le faire en créant simplement un lien logiciel vers le même fichier dans mods-available.

txwikinger
la source
txwikinger, merci pour l'astuce - j'ai dû créer manuellement le fichier .load. Ce qui est étrange puisque je pensais que ce serait déjà là.
Nick Bolton
5

moyen plus facile de le faire

a2enmod python

llazzaro
la source
3

Sur Ubuntu, vous devez:

apt-get install libapache2-mod-python
Chris McAfee
la source
0

On dirait que j'ai dû créer manuellement le fichier python.load, bizarre. Quoi qu'il en soit, ces deux commandes l'ont corrigé:

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
la source
Hmm, un vote négatif. Je vais peut-être examiner la réponse qui convient le mieux à cette question.
Nick Bolton
il manque une barre oblique: etc / apache2 / mods-enabled / python.load
Petr
0

Si vous utilisez Gentoo, définissez -D PYTHON dans /etc/conf.d/apache2


la source