Краткая инструкция по быстрому запуску веб-сервера Apache HTTP Server с Python 3 и системами управления базами данных MariaDB (MySQL) и PostgreSQL на ОС CentOS Stream 8.
Для начала необходимо установить СУБД MariaDB и/или PostgreSQL. Инструкции по установкам находятся по следующим ссылкам:
- СУБД MariaDB — https://dondub.com/2021/05/zapusk-subd-mariadb-v-centos-stream/
- СУБД PostgreSQL — https://dondub.com/2021/05/zapusk-subd-postgresql-v-centos-stream/
Затем устанавливаем 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».