2010-11-08 26 views
1

Bonjour J'ai un problème avec Django essayant de le déployer sur un serveur utilisant Apache. pour une raison quelconque lorsque j'écris ces informations dans mon fichier httpd.conf.J'ai un problème avec le déploiement de django en utilisant apache

<location "/mysite"> 
    SetHandler python-program 
    PythonHandler django.core.handlers.modpython 
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings 
    PythonOption django.root /mysite 
    PythonDebug off 
    PythonPath "['/user/local/src/djcode','/user/local/src/djcode/mysite'] + sys.path" 
</Location> 

Je reçois cette erreur lorsque je redémarre Apache.

Syntax error on line 3 of /etc/apache2/httpd.conf: 
Invalid command 'PythonHandler', perhaps misspelled or defined by a module not included in the server configuration 
Action 'configtest' failed. 

Des idées?

+0

Avez-vous installé mod_python http://www.modpython.org/? – seriyPS

+0

Maintenant, je pense à ce sujet, quand je vais dans mon dossier de modules. Je n'ai pas mod_python.so dans mon dossier de modules. C'est peut-être le problème. – Shehzad009

+0

J'ai installé mod_python.so en utilisant toutes les configurations par défaut. Je ne peux pas voir dans/usr/local/apache2/modules /. Ce n'est même pas dans/usr/lib/apache2/modules. donc quand je redémarre apache ça donne la même erreur indéfinie. – Shehzad009

Répondre

2

cette erreur est à peu près explicite (deuxième ligne est important pour vous):

Invalid command 'PythonHandler', perhaps misspelled 
or defined by a module not included in the server configuration 

PythonHandler est une commande inconnue par apache. c'est une "commande de module" connue par mod_python. donc s'il manque il dit commande invalide (OU défini par module pas dans ...). Alors assurez-vous que mod_python est installé.

vous pourriez le savoir de toute façon, mais il suffit de suivre ce document http://docs.djangoproject.com/en/dev/howto/deployment/modpython/

+0

Comment installer mod_python? – Shehzad009

+0

Sur Centos, 'yum install mod_python' a fonctionné pour moi et m'a fait passer cette erreur. – harperville

1

Aussi, je vous recommande d'utiliser mod_wsgi au lieu de mod_python. Voir avertissement sur deprecation haut de cette page: http://docs.djangoproject.com/en/1.2/howto/deployment/modpython/

soutien mod_python sera dépréciée dans une future version de Django . Si vous configurez un nouveau déploiement , vous êtes fortement encouragé à envisager d'utiliser mod_wsgi ou l'un des autres backend pris en charge .

1

python_mod n'est pas installé ou n'est pas configuré en httpd.conf. Si vous avez installé, puis ajoutez cette ligne ci-dessous dans httpd.conf:

LoadModule python_module modules/mod_python.so