Запуск веб-сервера Apache в связке с Python 3 и СУБД PostgreSQL на Gentoo

Краткое руководство по быстрому запуску веб-сервера Apache HTTP Server с Python 3 и системой управления базами данных PostgreSQL на ОС Gentoo GNU/Linux.

Сначала необходимо установить СУБД PostgreSQL

# USE="python" emerge --ask postgresql
# emerge --config postgresql

Затем стартуем службу postgresql-13 и включим её в автозагрузку

# rc-service postgresql-13 start
# rc-update add postgresql-13 default

После этого устанавливаем веб-сервер Apache

# USE="ithreads ssl apache2" emerge apache

Также запускаем службу apache2 и включаем её в автозагрузку

# rc-service apache2 start
# rc-update add apache2 default

Далее установим Python, коннектор psycopg2 для PostgreSQL и модуль WSGI для Apache

# emerge --ask python psycopg mod_wsgi

После этого открываем файл /etc/conf.d/apache2

# nano /etc/conf.d/apache2

находим строчку APACHE2_OPTS… и в самом конце этой строки допишем -D WSGI:

APACHE2_OPTS="… -D WSGI"

Затем создадим каталог для хранения скриптов Python /var/www/localhost/scripts/

# mkdir /var/www/localhost/scripts/

Далее откроем файл /etc/apache2/vhosts.d/00_default_vhost.include

# nano /etc/apache2/vhosts.d/00_default_vhost.include

и сразу после строки

ScriptAlias /cgi-bin/ "/var/www/localhost/cgi-bin/"

вставим такую строчку:

ScriptAlias /scripts/ "/var/www/localhost/scripts/"

а также в самом конце файла допишем такой блок:

<Directory /var/www/localhost/scripts/>
        Options ExecCGI Indexes
        AddHandler cgi-script .cgi .py
        AddHandler wsgi-script .wsgi
        Require all granted
</Directory>

Перезапускаем службу apache2

# rc-service apache2 restart

Готово. Теперь проверяем.

Создадим файл welcome.py в директории со скриптами Python, зададим ему необходимые права

# touch /var/www/localhost/scripts/welcome.py
# chmod 755 /var/www/localhost/scripts/welcome.py

откроем его

# nano /var/www/localhost/scripts/welcome.py

и впишем такой скрипт:

#!/usr/bin/python3

print('Content-Type: text/html; charset=utf-8')
print('')
print('<h1>Добро пожаловать на страницу Python</h1>')

После этого на другой машине в сети в адресной строке браузера вводим http://IP_или_имя_хоста/cgi-bin/welcome.py

Должна появиться страница приветствия с текстом «Добро пожаловать на страницу Python».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *