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

Краткая инструкция по быстрому запуску веб-сервера Apache HTTP Server с Python 3 и системами управления базами данных MariaDB (MySQL) и PostgreSQL на ОС CentOS Stream 8.

Для начала необходимо установить СУБД MariaDB и/или PostgreSQL. Инструкции по установкам находятся по следующим ссылкам:

Затем устанавливаем Apache и Python 3.9 с модулями для работы с СУБД

# yum install httpd python39 python39-pip python39-psycopg2 python39-mod_wsgi

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

# systemctl start httpd
# systemctl enable httpd

Если в дальнейшем будет использоваться СУБД MariaDB (MySQL), тогда установим для него модуль через pip

# pip3 install mysql-connector-python39

Теперь отключаем SELINUX. Открываем файл

# vi /etc/sysconfig/selinux

и изменяем значение SELINUX на disabled:

SELINUX=disabled

а также выполняем команду

# setenforce 0

Вместе с этим создадим необходимые правила для файрволла

# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
# firewall-cmd --reload

После этого создаём каталог /var/www/scripts/, в котором будут храниться скрипты Python

# mkdir /var/www/scripts/

Далее открываем файл конфигурации Apache

# vi /etc/httpd/conf/httpd.conf

ищем строчку

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

и ниже добавляем такую:

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

а также после блока

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

ниже добавим такой:

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

Затем перезапускаем Apache

# systemctl restart httpd

и проверяем что у нас получилось.

Создаём простой скрипт /var/www/scripts/welcome.py, зададим ему необходимые права, а также открываем его

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

впишем в него страницу приветствия:

#!/usr/bin/python3

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

На другой машине в сети в адресной строке браузера вводим: http://IP_или_хост_сервера/scripts/welcome.py и увидим страницу с текстом «Добро пожаловать на страницу Python».

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

Ваш адрес email не будет опубликован.