Подключение Perl к LAMP-серверу в Gentoo

Данная инструкция позволяет запустить интерпретатор Perl и расширить стек LAMP на ОС Gentoo GNU/Linux.

Настройка LAMP-сервера на Gentoo описана здесь: https://dondub.com/2021/07/zapusk-lamp-servera-v-gentoo/. Поэтому все предыдущие установки и настройки берём именно оттуда.

Затем установим модуль Perl для Apache

# USE="ithreads" emerge --ask mod_perl

После этого в /etc/apache2/modules.d/ появится 2 файла: 75_mod_perl.conf и apache2-mod_perl-startup.pl. В файле 75_mod_perl.conf хранятся настройки Perl для Apache. При желании или необходимости их можно поменять.

Главное, в настройках по умолчанию — путь к скриптам в директории /var/www/localhost/perl/. Именно отсюда скрипты будут запускаться и работать.

Далее открываем конфигурационный файл /etc/conf.d/apache2

# nano /etc/conf.d/apache2

и в опциях пропишем, что, помимо PHP, будем запускать ещё и Perl. На выходе эта строка должна выглядеть примерно так:

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP -D PERL"

Теперь создадим директорию /var/www/localhost/perl/ для Perl-скриптов, которая прописана в файле /etc/apache2/modules.d/75_mod_perl.conf

# mkdir /var/www/localhost/perl/

и зададим ей соответствующие права

# chmod 755 /var/www/localhost/perl/

После этого перезапускаем службу apache2

# rc-service apache2 restart

Затем создадим скрипт для проверки работы Perl /var/www/localhost/perl/test.pl

# touch /var/www/localhost/perl/test.pl

назначим ему необходимые права

# chmod 755 /var/www/localhost/perl/test.pl

откроем его

# nano /var/www/localhost/perl/test.pl

и пропишем следующие строки:

#!/usr/bin/perl

print "Content-Type: text/html; charset=utf-8 \n\n";
print "<h1>Файл test.pl работает!</h1>";

Далее на другой машине в сети в адресной строке браузера вводим такой адрес: http://IP_илиимяхоста/cgi-perl/test.pl

Должна появиться страничка с надписью «Файл test.pl работает!«

Также можно создать CGI-скрипт с краткой информацией о данном сервере

# touch /var/www/localhost/perl/cgi.pl
# chmod 755 /var/www/localhost/perl/cgi.pl

открываем его

# nano /var/www/localhost/perl/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-perl/cgi.pl

На странице должна отобразиться информация о сервере в таком виде:

Для того, чтобы Perl мог работать с СУБД MariaDB (или MySQL) и PostgreSQL, необходимо установить дополнительные расширения для него

# emerge --ask DBI Apache-DBI DBD-mysql

Чтобы изменения вступили в силу, перезапускаем службу apache2

# rc-service apache2 restart

Возможно, под другие определённые задачи также необходимо будет устанавливать дополнительные расширения для Perl.

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

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