Можно установить Mojolicious на виртуальный хостинг?
Добавляем в конец файла ~/.bashrc следующие строки:
export PATH=$PATH:$HOME/bin:/sbin:/usr/sbin
export PERL5LIB=$HOME:$HOME/lib:$HOME/lib/perl5
Если редактирование выполнялось через ssh, то нужно переподключиться для применения новых настроек.
После подключения к ssh запускаем cpan, при первом запуске он предложит автоматически настроить все параметры. Соглашаемся, достаточно просто нажать Enter.
$ cpan
CPAN is the world-wide archive of perl resources. It consists of about
300 sites that all replicate the same contents around the globe. Many
countries have at least one CPAN site already. The resources found on
CPAN are easily accessible with the CPAN.pm module. If you want to use
CPAN.pm, lots of things have to be configured. Fortunately, most of
them can be determined automatically. If you prefer the automatic
configuration, answer 'yes' below.
If you prefer to enter a dialog instead, you can answer 'no' to this
question and I'll let you configure in small steps one thing after the
other. (Note: you can revisit this dialog anytime later by typing 'o
conf init' at the cpan prompt.)
Would you like me to configure as much as possible automatically? [yes]
После настройки выходим из cpan
cpan[1]> exit
С помощью любого текстового редактора откройте файл .cpan/CPAN/MyConfig.pm и измените значение параметров makepl_arg и mbuildpl_arg. Они должны иметь следующие значения
'makepl_arg' => qq[INSTALL_BASE=$ENV{'HOME'}],
'mbuildpl_arg' => qq[--install_base $ENV{'HOME'}],
Будьте очень внимательны при редактировании файла конфигурации, любой пропущенный или лишний символ приведет к ошибкам при установке.
Установка Mojolicious
$ cpan i Mojolicious
В процессе установки cpan будет запрашивать разрешение на установку зависимостей. Соглашаемся, достаточно нажать Enter
Looks good
Warning: prerequisite IO::Socket::IP 0.37 not found.
Warning: prerequisite JSON::PP 2.27103 not found.
Warning: prerequisite Time::Local 1.2 not found. We have 1.1901.
Writing Makefile for Mojolicious
---- Unsatisfied dependencies detected during ----
---- SRI/Mojolicious-7.94.tar.gz ----
JSON::PP [requires]
IO::Socket::IP [requires]
Time::Local [requires]
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes]
В конце вы должны увидеть
SRI/Mojolicious-7.94.tar.gz
/usr/bin/make install -- OK
Это означает что установка прошла успешно.
Создадим наше первое приложение, для это переходим в каталог cgi-bin вашего сайта
$ cd www/mojo.eurodir.ru/cgi-bin/
$ mojo generate lite_app
[exist] /var/www/vh247155/data/www/mojo.eurodir.ru/cgi-bin
[write] /var/www/vh247155/data/www/mojo.eurodir.ru/cgi-bin/myapp.pl
[chmod] /var/www/vh247155/data/www/mojo.eurodir.ru/cgi-bin/myapp.pl 744
$ chmod 755 myapp.pl
В файл myapp.pl перед строкой use Mojolicious::Lite; нужно добавить путь к perl библиотекам которые установлены ранее. Первые три строки файла должны выглядеть так:
#!/usr/bin/env perl
use lib qw(/var/www/vhXXXXX/data/lib/perl5);
use Mojolicious::Lite;
Где vhXXXXX - имя услуги хостинга.
Если все сделано правильно, то перейдя по адресу http://ваш_доме/cgi-bin/myapp.pl вы увидите
Внимание! На виртуальном хостинге запрещено запускать процессы просушивающие сокет, поэтому использовать этот framework можно только как CGI приложение. При запуске ./myapp.pl daemon -m production -l http://*:8080 сайт может быть заблокирован.