Краткое руководство по быстрому запуску веб-сервера 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».