Хостинг РБК. Установка модулей Perl
Автор: jump | Рубрика: Perl, WEB, Новости Среда 02 Июл 2008Для проверки установленных модулей Perl нужно воспользоваться скриптом perl_mod_inst.cgi следующего вида:
#!/usr/bin/perl
print «Content-type: text/html\n\n»;
print «<html><head><title>Installed Perl Modules</title></head><body><table width=\»300px\» border=1><td><tr><td>Module</td> <td>Version</td>
«;
use ExtUtils::Installed;
my $instmod = ExtUtils::Installed->new();
foreach my $module ($instmod->modules())
{ my $version = $instmod->version($module) || «-»; print «<tr><td>$module</td> <td>$version</td></tr> \r\n»; }
print «</table></body></html>»;
Его нужно сохранить в директории cgi-bin вашего сайта и дать ему права на выполнение:
chmod 755 perl_mod_inst.cgi
Пример выполнения можно посмотреть ТУТ
Далее при попытке установки модулей через CPAN получил:
$ cpan -i CGI::Ajax
CPAN: Storable loaded ok
mkdir /home/ivan/.cpan: Permission denied at /usr/local/lib/perl5/5.8.8/CPAN.pm line 2341
$ cpan
Terminal does not support AddHistory.
Your configuration suggests «/home/ivan/.cpan» as your
CPAN.pm working directory. I could not create this directory due
to this error: mkdir /home/ivan/.cpan: Permission denied at /usr/local/lib/perl5/5.8.8/CPAN.pm line 553
Please make sure the directory exists and is writable.
вот..
Скачиваю модуль CGI::Ajax
cd ~/
mkdir perl_modules_bin
cd perl_modules_bin
wget http://search.cpan.org/CPAN/authors/id/B/BC/BCT/CGI-Ajax-0.701.tar.gz
tar zxf CGI-Ajax-0.701.tar.gz
cd CGI-Ajax-0.701
Итак, из под root‘a я бы сделал вот так:
perl Makefile.PL
make
make test
make install
Так как я являюсь обычным хостинг-пользователем и хочу установить модуль к себе в локальную директорию, выполню команды:
perl Makefile.PL prefix=$HOME/библиотеки
make
make test
make install
Подробнее:
$ perl Makefile.PL prefix=$HOME/lib
Checking if your kit is complete…
Looks good
Writing Makefile for CGI::Ajax
$ make
cp lib/CGI/Ajax.pm blib/lib/CGI/Ajax.pm
Manifying blib/man3/CGI::Ajax.3
$ make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl «-MExtUtils::Command::MM» «-e» «test_harness(0, ‘blib/lib’, ‘blib/arch’)» t/*.t
t/001_load….ok
t/002_load….ok
All tests successful.
Files=2, Tests=3, 0 wallclock secs ( 0.06 cusr + 0.05 csys = 0.11 CPU)
$ make install
Installing /www/remaxm/lib/lib/perl5/site_perl/5.8.8/CGI/Ajax.pm
Installing /www/remaxm/lib/lib/perl5/5.8.8/man/man3/CGI::Ajax.3
Writing /www/remaxm/lib/lib/perl5/site_perl/5.8.8/mach/auto/CGI/Ajax/.packlist
FreeBSD: Registering installation in the package database
Cannot create directory /var/db/pkg/bsdpan-CGI-Ajax-0.701: Permission denied
Appending installation info to /www/remaxm/lib/lib/perl5/5.8.8/mach/perllocal.pod
После выполнения последней команды в домашнем каталоге создастся директория «lib», а в ней — какие-то дополнительные поддиректории. Но как же Perl найдет путь к нужному модулю?.. Очень просто: указываем его в первой строчке запускаемого скрипта:
#!/usr/bin/perl -w
use lib ($ENV{HOME}||»$ENV{DOCUMENT_ROOT}/..»).
‘/lib/lib/perl5/site_perl/5.8.8/CGI/’;
А точнее
use lib («$ENV{HOME}/lib/lib/perl5/site_perl/5.8.8″);
use CGI::Ajax в скрипте – подразумевает наличие модуля Ajax.pm в директории CGI ))
$ENV{DOCUMENT_ROOT} – используется, если недоступна $ENV{HOME}
Здесь подразумевается, что модуль Ajax.pm установился в вашем домашнем каталоге в директорию /lib/lib/perl5/site_perl/5.8.8/CGI/.
- mysqldumpupload ISPmanager 4.3 Lite Ошибка: Внутренняя ошибка malformed result Для включения: Настройки сервера-> Расширения-> mysqldumpupload Затем идём в Инструменты-> Импорт дампа MySQL «Ошибка: Внутренняя ошибка malformed result» Соответственно, нет...
- Проверка скрипта Perl на наличие ошибок Это можно сделать через ssh командой: perl -Tw script_name.pl ...
- Установка ffmpeg для php5 в ISPManager 4.3.30 Lite на Debian Lenny (5.0.3) Идём в ISPManager – «Настройки сервера»->»Расширения PHP» Здесь отображается список всех установленных расширений, затем справа вверху кликаем по значку в...
- Установка «Битрикс 8.0.5″ в кодировке UTF8 и проблема с mbstring.func_overload При установке «1С-Битрикс: Управление сайтом 8.0.5» может возникнуть ошибка: «Для установки продукта в кодировке UTF-8 необходимо установить библиотеку mbstring c...
- SSH for WINDOWS в 5 сек! Windows XP Professional and OpenSSH После установки OpenSSH (берём отсюда: Portable OpenSSH), в коммандной строке (cmd.exe) перехожу в директорию C:\Program...
Спасибо, очень помогла статья, столкнулся с аналогичной проблемой.
Рульная тема, работает.
Столкнулся с проблемой. Ман помог при установке ряда модулей, но вот например DBIx::Class согласно этому ману не идет. Можете дать комментарий как поставить данный модуль на хостинг РБК?
Воспользуйтесь CPAN, здесь подробно описано: http://www.dcc.fc.up.pt/~pbrandao/aulas/0203/AR/modules_inst_cpan.html но на РБК не все модули ставятся, иногда возникают ошибки, которые смело можно игнорировать, а если не ставится попробуйте forced-режим. Не разберётесь, пишите.
А ещё, чтобы не получать ошибки:
Cannot create directory /var/db/pkg
перед установкой модулей установите переменную DISABLE_BSDPAN в 1:
DISABLE_BSDPAN=1
export DISABLE_BSDPAN
Проверить можно так
echo $DISABLE_BSDPAN
Ага, спасибо за подсказку.
А хостинг уже давно не РБК а Хостинг Центр )