Ошибка Apache/httpd: недопустимая команда 'WSGIPythonHome'

ВОПРОС:

Мой сервер Apache/httpd не запускается. journalctl -xe показывает:

Feb 27 01:50:12 localhost.localdomain httpd[4398]: AH00526: Syntax error on line 355 of /etc/httpd/conf/httpd.conf:
Feb 27 01:50:12 localhost.localdomain httpd[4398]: Invalid command 'WSGIPythonHome', perhaps misspelled or defined by a module not included in the server configuration
Feb 27 01:50:12 localhost.localdomain systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Feb 27 01:50:13 localhost.localdomain kill[4399]: kill: cannot find process ""
Feb 27 01:50:13 localhost.localdomain systemd[1]: httpd.service: control process exited, code=exited status=1
Feb 27 01:50:13 localhost.localdomain systemd[1]: Failed to start The Apache HTTP Server.

httpd -S показывает:

AH00526: Syntax error on line 355 of /etc/httpd/conf/httpd.conf:
Invalid command 'WSGIPythonHome', perhaps misspelled or defined by a module not included in the server configuration

SPECS

  • CentOS 7 (это виртуальная машина, работающая на хосте Ubuntu 18.10)
  • rh-python36 установлены
  • rh-python36-mod_wsgi-4.5.18-1.el7.x86_64 установлены
  • виртуальная среда разработки Python, созданная в /var/www/web-virt-env

httpd.conf:

WSGIPythonHome /var/www/web-virt-env
WSGIPythonPath /var/www/html/somewebsite

<VirtualHost *:80>

    ServerName awebsite.com
    DocumentRoot /var/www/html/somewebsite
    WSGIDaemonProcess somewebsite1 python-home=/var/www/web-virt-env
    WSGIProcessGroup somewebsite1
    WSGIScriptAlias / /var/www/html/somewebsite/somewebsite/wsgi.py

    <Directory /var/www/html/somewebsite/somewebsite>
            Require all granted
    </Directory>

    Alias /static /var/www/html/somewebsite/static
    <Directory /var/www/html/somewebsite/static>
            Require all granted
    </Directory>

</VirtualHost>

Ожидаемый результат:

Я ожидал, что сайт запустится, когда я выполню systemctl start httpd

Я подозреваю что rh-python36-mod_wsgi-4.5.18-1.el7.x86_64 не "найден", но я не уверен, как это работает за кулисами.

Что я могу сделать, чтобы обойти это? Или, по крайней мере, какие шаги я должен предпринять, чтобы решить эту проблему?

1 ответ

Решение

EUREKA!

Я смог решить проблему, добавив следующее перед httpd.conf дополнения, которые я отобразил в вопросе (так, как раз перед WSGIPythonHome /var/www/web-virt-env):

LoadModule wsgi_module /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so

Я поставил это перед виртуальным хостом

LoadModule wsgi_module /usr/lib64/apache2/modules/mod_wsgi.so
<VirtualHost 69.16.201.27:443>
     ServerName blue.domain.com
     ....

Мне помогла установка пакета apt libapache2-mod-wsgi-py3

Другие вопросы по тегам