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