touch MAX

получи максимум — личный блог "тыж программиста"

Установка mod_perl на Debian, CentOS или другой Linux

Несколько дней промучился с чистой установкой mod_perl на Linux, при установке важен порядок. Иначе можно получать различные ошибки, например, при установке cpan модуля Apache2::Request

Can't open perl script "INSTALLDIRS=site": No such file or directory
configure: error: Bad apache2 binary (/usr/sbin/apache2)
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
ISAAC/libapreq2-2.13.tar.gz
/usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK

Или при сборке модуля DBD::Oracle

Unable to locate an oracle.mk or other suitable *.mk


Получаем root если у пользователя нет соответствующих прав и при необходимости обновляем ОС

~apt-get update
~apt-get upgrade
~apt-get install net-tools

Настраиваем сеть при необходимости.

Устанавливаем Apache2

~apt-get install apache2 -y
~service apache2 restart

~apt-get install build-essential 
~apt-get install alien

Скачиваем и устанавливаем клиента Oracle

oracle-instantclient12.X-basic-12.X.x86_64.rpm
oracle-instantclient12.X-sqlplus-12.X.x86_64.rpm
oracle-instantclient12.X-devel-12.X.x86_64.rpm

~alien -i oracle*.rpm

настраиваем переменные окружения

~nano ~/.bashrc

добавляем в файл и сохраняем:

export ORACLE_HOME="/usr/lib/oracle/12.2/client64"
export LD_LIBRARY_PATH="/usr/lib/oracle/12.2/client64/lib:$LD_LIBRARY_PATH"

применяем

~source ~/.bashrc

Прописываем в файл oracle.conf путь к Oracle

~nano /etc/ld.so.conf.d/oracle.conf && chmod o+r /etc/ld.so.conf.d/oracle.conf

/usr/lib/oracle/12.2/client64/lib/

применяем

~ldconfig
apt-get install libaio1

Ставим доп утилиты

~cpan YAML
~cpan Log::Log4perl
~cpan ExtUtils::XSBuilder::ParseSource

Основной модуль для поддержки БД

~cpan Class::DBI

ставим модуль DBD::Oracle вручную

~wget http://search.cpan.org/CPAN/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.74.tar.gz
~perl Makefile.PL -m /usr/share/oracle/12.2/client64/demo/demo.mk
~make
~make test
~make install
~cpan Class::DBI
~cpan Class::DBI::Oracle

~cpan DateTime
~cpan DateTime::Format::Builder

~cpan Crypt::PasswdMD5

Поддержка XML

~apt-get install libexpat1-dev
~cpan XML::Parser
~cpan XML::XPath

Поддержка apache request и шаблонизатора Mason

~apt-get install libapreq2-3
~apt-get install apache2-dev -y
~apt-get install libapache2-mod-apreq2
~apt-get install libapache2-mod-perl2
~apt-get install libapache2-mod-perl2-dev

~apt-get install libapache2-request-perl

~cpan Apache::Test
~cpan Apache::DBI
~cpan Apache2::Profiler
~cpan Apache2::Cookie
~cpan Apache2::Request

~cpan HTML::Mason
~cpan MasonX::Request::WithApacheSession

Меняем права на папку с сайтом

~chown -R www-data:www-data /var/www
~service apache2 restart

Добавляем  в /etc/apache2/sites-enabled

 <Location /perl-status>
 SetHandler perl-script
 PerlResponseHandler Apache2::Status
 </Location>

проверить url http://ip_server/perl-status

, , , ,