Краткая инструкция, которая позволяет запустить интерпретатор Perl и расширить стек LEMP на ОС Debian GNU/Linux 11.2, Ubuntu Server 21.10 и CentOS Stream 8.
Настройка LEMP-сервера для Debian описана здесь: https://dondub.com/2021/07/zapusk-lemp-servera-na-debian-10/, а для Ubuntu Server — здесь: https://dondub.com/2021/07/zapusk-lemp-servera-na-ubuntu-server/
Устанавливаем необходимые пакеты
# apt install perl nginx fcgiwrap
Затем создадим файл конфигурации nginx для fcgiwrap
# touch /etc/nginx/fcgiwrap.conf
откроем его
# nano /etc/nginx/fcgiwrap.conf
и пропишем несколько строк:
location /cgi-bin/ { gzip off; root /var/www; fastcgi_pass unix:/var/run/fcgiwrap.socket; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; }
После этого создадим директорию /var/www/cgi-bin/ и зададим для неё необходимые права
# mkdir /var/www/cgi-bin/ # chmod 755 /var/www/cgi-bin/
Далее откроем файл конфигурации /etc/nginx/sites-available/default
# nano /etc/nginx/sites-available/default
и в самом конце секции server перед закрывающей фигурной скобкой добавим сроку подключения файла fcgiwrap.conf:
include /etc/nginx/fcgiwrap.conf;
Затем перезапустим службу nginx
# systemctl restart nginx
Теперь создадим файл (скрипт) /var/www/cgi-bin/welcome.cgi
# touch /var/www/cgi-bin/welcome.cgi
зададим ему необходимые права
# chmod 755 /var/www/cgi-bin/welcome.cgi
откроем его
# nano /var/www/cgi-bin/welcome.cgi
и для проверки работы Perl впишем такой код:
#!/usr/bin/perl print "Content-Type: text/html; charset=utf-8 \n\n"; print "<h1>Файл welcome.cgi работает!</h1>";
На другой машине в сети в адресной строке браузера введём http://IP_адрес_или_имя_хоста/cgi-bin/welcome.cgi и увидим страницу с сообщением:
Файл welcome.cgi работает!
Также создадим скрипт с краткой информацией о данном сервере
# touch /var/www/cgi-bin/cgi.pl # chmod 755 /var/www/cgi-bin/cgi.pl
откроем его
# nano /var/www/cgi-bin/cgi.pl
и впишем такие строчки:
#!/usr/bin/perl print "Content-Type: text/plain; charset=utf-8 \r\n\r\n"; print "Информация о сервере: \n"; foreach ( keys %ENV ) { print "$_\t$ENV{$_}\n"; }
На странице http://IP_адрес_или_имя_хоста/cgi-bin/cgi.pl должна отобразиться информация о сервере.
Для подключения к базе данных с помощью скриптов Perl необходимо будет установить и дополнительные пакеты. Это описано здесь: https://dondub.com/2022/03/podklyuchenie-perl-k-lamp-serveru-v-linux/