Подключение Perl к веб-серверу nginx в Debian 11 и Ubuntu Server 21.10

Краткая инструкция, которая позволяет запустить интерпретатор 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/

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

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