Skip to content

Документация по BlackArch на русском языке

Инструкции, советы, новые программы

Menu
  • Главная
  • Список инструментов
  • HackWare
Menu

Как настроить Python в качестве CGI модуля в Apache на Arch Linux (Manjaro, BlackArch)

Posted on 20.05.202320.05.2023 by Alexey

Настройка Python CGI для одной директории

Создайте директорию /srv/http/cgi-bin/ - здесь будут располагаться скрипты Python:

sudo mkdir /srv/http/cgi-bin/

Откройте файл /etc/httpd/conf/httpd.conf — конфигурационный файл веб-сервера:

sudo gedit /etc/httpd/conf/httpd.conf

Найдите группу строк:

<Directory "/srv/http/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

И замените её на:

<Directory "/srv/http/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Require all granted
</Directory>

Примечание: если вы не видите разницу, то обратите внимание на директиву «Options» - добавлена опция «ExecCGI».

Найдите группу строк

<IfModule mpm_prefork_module>
	#LoadModule cgi_module modules/mod_cgi.so
</IfModule>

И замените на

<IfModule mpm_prefork_module>
	LoadModule cgi_module modules/mod_cgi.so
</IfModule>

То есть раскомментируйте строку.

Обратите внимание на строку

ScriptAlias /cgi-bin/ "/srv/http/cgi-bin/"

Менять её необязательно, но при желании вы можете вместо /srv/http/cgi-bin/ использовать любую другую папку, достаточно только создать новую папку и указать её с этой директивой вместо /srv/http/cgi-bin/.

Закройте файл.

Перезапустите веб-сервер, чтобы изменения вступили в силу:

sudo systemctl restart httpd.service

Создайте файл /srv/http/cgi-bin/test.py:

sudo gedit /srv/http/cgi-bin/test.py

Скопируйте в этот файл следующее содержимое:

#!/usr/bin/python3

print ("Content-type: text/html")
print ("")
print ("")
print ("<html><head>")
print ("")
print ("</head><body>")
print ("Hello.")
print ("</body></html>")

Сделайте этот файл исполнимым:

sudo chmod +x /srv/http/cgi-bin/test.py

Откройте в веб-браузере адрес http://localhost/cgi-bin/test.py


Если всё настроено правильно, то вы должны увидеть в веб-браузере строку

Hello.

Настройка Python CGI для всего веб-сервера

Откройте файл /etc/httpd/conf/httpd.conf — конфигурационный файл веб-сервера:

sudo gedit /etc/httpd/conf/httpd.conf

Найдите группу строк

<IfModule mpm_prefork_module>
	#LoadModule cgi_module modules/mod_cgi.so
</IfModule>

И замените на

<IfModule mpm_prefork_module>
	LoadModule cgi_module modules/mod_cgi.so
</IfModule>

То есть раскомментируйте строку.

Затем найдите строку

Options Indexes FollowSymLinks

и добавьте к ней ExecCGI. Должна получиться такая строка (ВНИМАНИЕ: набор опций у вас может быть другим):

Options Indexes FollowSymLinks ExecCGI

Теперь найдите строку:

#AddHandler cgi-script .cgi

Раскомментируйте её, то есть удалите символ # в начале строки и добавьте к концу строки .py. Новая строка будет выглядеть примерно так:

AddHandler cgi-script .cgi .py

Закройте файл.

Перезапустите веб-сервер, чтобы изменения вступили в силу:

sudo systemctl restart httpd.service

Создайте файл /srv/http/test.py:

sudo gedit /srv/http/test.py

Скопируйте в этот файл следующее содержимое:

#!/usr/bin/python3

print ("Content-type: text/html")
print ("")
print ("")
print ("<html><head>")
print ("")
print ("</head><body>")
print ("Hello.")
print ("</body></html>")

Сделайте этот файл исполнимым:

sudo chmod +x /srv/http/cgi-bin/test.py

Откройте в веб-браузере адрес http://localhost/test.py

Если всё настроено правильно, то вы должны увидеть в веб-браузере строку

Hello.

Близкие статьи

  • Как установить Varnish в Arch Linux — кэширование для Apache (100%)
  • Настройка скрытого сервиса Tor в Arch Linux / BlackArch (76.5%)
  • LEMP (Nginx, PHP, MariaDB/MySQL и phpMyAdmin) в Arch Linux: установка, создание виртуальных хостов, защита паролем папок, включение SSL (76.5%)
  • Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch (73.6%)
  • Установка ownCloud в Arch Linux / BlackArch (73.6%)
  • Как установить AMD APP SDK в BlackArch / Arch (RANDOM - 50%)

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

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

wp-puzzle.com logo


Поиск


Свежие записи

  • Как настроить Python в качестве CGI модуля в Apache на Arch Linux (Manjaro, BlackArch)
  • PHP Warning: PHP Startup: imap: Unable to initialize module (РЕШЕНО). Как установить imap модуль для PHP в Arch Linux
  • Как обновить загрузчик GRUB в Arch Linux и производных дистрибутивах (Manjaro, BlackArch)
  • Ошибка «error: failed to commit transaction (invalid or corrupted package)» (РЕШЕНО)
  • Ошибка «TypeError: ‘AURPackageInfo’ does not have attribute ‘submitter’» (РЕШЕНО)

Свежие комментарии

  • Анастасия к записи Как установить и настроить OpenVPN в ArchLinux / BlackArch
  • Alexey к записи Как в Arch Linux найти все программы, установленные из AUR
  • МаксимК к записи Как в Arch Linux найти все программы, установленные из AUR
  • Vova к записи Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP8 и phpMyAdmin) в Arch Linux / BlackArch
  • Furi к записи Приложение в .AppImage не запускается в Arch Linux (РЕШЕНО)




Рубрики

  • Sniffing и Spoofing
  • Архив
  • Без рубрики
  • Взлом Wi-Fi сетей
  • Инструкции
  • Новости
  • Общая информация/новости
  • Разведка
  • Справка и подсказки




Яндекс.Метрика
© 2023 Документация по BlackArch на русском языке | Powered by Minimalist Blog WordPress Theme