Mengapa saya mendapatkan kesalahan, Perintah 'PythonHandler' tidak valid?

8

Saya mencoba untuk menyebarkan aplikasi Django, tetapi saya telah menabrak dinding bata. Pada Debian (terbaru), saya sudah menjalankan perintah ini sejauh ini:

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

Saya sudah mencoba menambahkan modul secara manual di file konfigurasi Apache 2, tetapi jujur ​​saya benar-benar hilang. Sangat berbeda dengan Apache versi 1 yang saya gunakan bertahun-tahun yang lalu.

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

Saya telah menambahkan berikut ini ke sites-available/defaultfile saya , di antara tag.

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

Inilah tutorial yang saya gunakan sejauh ini, tanpa banyak keberuntungan:

Nick Bolton
sumber

Jawaban:

5

Sudahkah Anda mengaktifkan mod_python.load di mod-enabled? Anda dapat melakukan ini dengan hanya membuat softlink ke file yang sama di mod-tersedia.

txwikinger
sumber
txwikinger, terima kasih atas tipnya - saya harus secara manual membuat file .load. Yang aneh karena saya menganggap sudah ada di sana.
Nick Bolton
5

cara yang lebih mudah untuk melakukannya

python a2enmod

llazzaro
sumber
3

Di Ubuntu, Anda perlu:

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

Sepertinya saya harus membuat file python.load secara manual, aneh. Bagaimanapun, dua perintah ini memperbaikinya:

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
sumber
Hmm, suara turun. Mungkin saya akan meninjau jawaban mana yang paling cocok untuk pertanyaan ini.
Nick Bolton
ada slash yang hilang: etc / apache2 / mods-enabled / python.load
Petr
0

Jika Anda menggunakan Gentoo, tentukan -D PYTHON di /etc/conf.d/apache2


sumber