web-dev-qa-db-fra.com

Je reçois l'erreur "Commande non valide 'WSGIScriptAlias'" lors du démarrage d'Apache

Je souhaite déployer mon projet Django sur le serveur EC2. J'ai installé mod_wsgi. 

Et fait la configuration comme dans le tutoriel de Django.

Je reçois ce qui suit:

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

Quelle est la raison? mod_wsgi n'est pas installé correctement?

LoadModule wsgi_module     libexec/httpd/mod_wsgi.so
LoadModule alias_module    libexec/httpd/mod_alias.so


WSGIScriptAlias / /usr/local/Apache2/htdocs/mysite/mysite/wsgi.py
WSGIPythonPath /usr/local/Apache2/htdocs/mysite/mysite


<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
16
Burak

L'erreur indique spécifiquement que mod_wsgi n'est pas chargé dans Apache.

Dans quel fichier se trouve:

LoadModule wsgi_module     libexec/httpd/mod_wsgi.so

Avez-vous activé le module mod_wsgi avec la commande de gestion de la distribution Linux appropriée afin qu'il soit chargé si vous utilisiez des packages binaires distro pour mod_wsgi?

15
Graham Dumpleton

Le problème est que mod_wsgi n'est pas installé correctement.

Solution (avec Apache 2):

  1. installer Apache:

    $ Sudo apt-get install Apache2
    
  2. installer libapache2-mod-wsgi:

    $ Sudo apt-get install libapache2-mod-wsgi
    

Et cela devrait bien fonctionner.

43
om choudhary

juste pour ajouter, comment j'ai résolu mon problème si vous ne connaissez pas l'emplacement des modules , cherchez-les simplement

 locate mod_alias.so

alors vous pouvez obtenir une sortie comme 

/usr/lib/Apache2/modules/mod_alias.so

alors vous pouvez ajouter cet emplacement dans votre fichier de configuration 

LoadModule alias_module /usr/lib/Apache2/modules/mod_alias.so
1
madhu131313

Je viens de rencontrer le même problème sur openSUSE 12.2, avec Apache 2.2.

Même si wsgi est installé, c'est une bonne idée de vérifier s'il a été activé. Ce que je veux dire, c'est ceci:

#outputs a list of registered modules
/usr/sbin/httpd2 -M

Si wsgi_module (shared) n'apparaît pas, ajoutez wsgi à la variable Apache_MODULES, dans le fichier /etc/sysconfig/Apache2.

De cette façon, je pourrais éviter complètement la ligne LoadModule de httpd.conf.

1
p_barill