Por que obtenho erro, comando inválido 'PythonHandler'?

8

Estou tentando implantar um aplicativo Django, mas bati em uma parede de tijolos. No Debian (mais recente), eu executei estes comandos até agora:

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

Tentei adicionar o módulo manualmente nos arquivos de configuração do Apache 2, mas, para ser sincero, estou totalmente perdido. É totalmente diferente da versão 1 do Apache, que eu usei anos atrás.

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

Adicionei o seguinte ao meu sites-available/defaultarquivo, entre as tags.

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

Aqui estão os tutoriais que usei até agora, sem muita sorte:

Nick Bolton
fonte

Respostas:

5

Você ativou o mod_python.load no mods-enabled? Você pode fazer isso criando um link para o mesmo arquivo no mods-available.

txwikinger
fonte
txwikinger, obrigado pela dica - tive que criar manualmente o arquivo .load. O que é estranho, já que eu assumi que já estaria lá.
23410 Nick Bolton
5

maneira mais fácil de fazer isso

python a2enmod

llazzaro
fonte
3

No Ubuntu, você precisa:

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

Parece que eu tive que criar manualmente o arquivo python.load, estranho. Enfim, esses dois comandos o consertaram:

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
fonte
Hmm, um voto negativo. Talvez eu revise qual resposta funciona melhor para essa pergunta.
Nick Bolton
há falta barra: etc / apache2 / mods-enabled / python.load
Petr
0

Se você estiver usando o Gentoo, defina -D PYTHON em /etc/conf.d/apache2


fonte