Эта статья устарела.
Эта статья написана для услуги Виртуальный хостинг, которая считается устаревшей с 1 июня 2019 года.
Актуальную услугу хостинга можно заказать на нашем сайте netangels.ru/hosting
В данной статье рассмотрена работа с интерпретаторами PHP, Perl, CPAN, Python, Parser, Ruby. Их запуск, настройка и наиболее часто встречающиеся ошибки.
На нашем хостинге Вы можете запускать любые приложения, написанные на интерпретируемых языках, в числе которых Perl, Python, Ruby и Parser. Запустить такие приложения бывает сложнее, чем развернуть обычный движок на PHP. Цель приведенной статьи состоит в том, чтобы помочь вам преодолеть сложности, с которыми, вы возможно, столкнетесь.
Быстрые ссылки:
PHP
Parser
Perl
Python, Ruby
Наиболее распространенные ошибки
Запуск скриптов на PHP обычно не доставляет особых проблем. Для запуска вашего проекта достаточно выполнить следующие действия:
www
вашего сайта (например, sitename.ru/www
).-rw-r--r-- (0644)
.-rwxr-xr-x (0755)
.В том случае, если для конкретного сайта или каталога необходимо использовать версию PHP, отличную от настроенной по умолчанию, вы можете воспользоваться инструкциями из статьи "Индивидуальные настройки PHP для сайтов".
PHP на наших серверах работает в режиме FastCGI.
Parser — это объектно-ориентированный язык программирования, разработанный Студией Артемия Лебедева, и предназначенный для генерации HTML-страниц на стороне веб-сервера. Для запуска сайта необходимо выполнить следующие действия:
www
вашего сайта (например, sitename.ru/www
).Перейти в каталог www
нужного сайта и в конфигурационный файл .htaccess
добавить указание о том, что загруженные скрипты необходимо обрабатывать интерпретатором языка Parser. В нашем случае для этого достаточно добавить следующее указание:
AddType application/x-httpd-parser .p .html
Проверить, что на загруженные файлы установлены корректные права – -rw-r--r-- (644)
.
Как правило, этих действий достаточно для того, чтобы запустить сайт на Parser. Однако, если в процессе работы вы сталкиваетесь в какими-либо ошибками, то более подробное их описание можно найти в специальном журнале, доступном по адресу ~/log/parser3.log
.
На момент написания данной статьи на серверах хостинга установлена версия Parser 3.4.0. В том случае, если для работы сайта требуется иная версия интерпретатора, вы можете загрузить нужную версию с официального сайта и использовать ее для обработки кода скриптов. Порядок действий при этом будет следующим:
parser3.cgi
в каталог cgi-bin
вашего сайта (например, sitename.ru/cgi-bin
).parser3.cgi
установлены корректные права – -rwxr-xr-x (755)
.www
нужного сайта и отредактируйте файл .htaccess
, добавив в него следующие строки:Action application/x-httpd-parser /cgi-bin/parser3.cgi
AddType application/x-httpd-parser .p .html
Parser работает в режиме CGI.
Запуск скриптов, написанных на языке Perl, возможен двумя различными способами – в каталоге cgi-bin
по всем правилам запуска CGI-скриптов (назовем его “классический способ”), либо в каталоге www
, по аналогии с методом запуска PHP-скриптов (“альтернативный способ”). Последний способ подходит в тех случаях, когда сайт переносится с хостинга, где Perl работал в качестве модуля веб-сервера Apache. Рассмотрим подробнее оба способа:
cgi-bin
вашего сайта (например, sitename.ru/cgi-bin
).-rwxr-xr-x (755)
.cgi-bin
создайте файл .htaccess
и запишите в нем указание, которое позволит запускать скрипты в режиме FastCGI:AddHandler fcgid-script .pl
Обратите внимание, что CGI-скрипты обязательно должны содержать в самом начале специальную последовательность (#!
), указывающую системе какой интерпретатор следует использовать для исполнения сценария. В мире UNIX-подобных ОС такая последовательность называется sha-bang
.
Заметим также, что вместо каталога cgi-bin
можно использовать и каталог www
. В этом случае, настройки в файле .htaccess
должны будут иметь следующий вид:
для режима CGI:
Options +ExecCGI
AddHandler cgi-script .pl
для режима FastCGI:
Options +ExecCGI
AddHandler fcgid-script .pl
www
вашего сайта (например, sitename.ru/www
).-rw-r--r-- (644)
.Perl в данном способе будет работать в режиме CGI.
CPAN (Comprehensive Perl Archive Network) – это обширная сеть архивов Perl, состоящая из большого количества сайтов по всему миру. Одноименный модуль из дистрибутива Perl позволяет автоматизировать операции установки необходимых программисту дополнительных модулей. Поскольку работа на сервере выполняется вами не от имени главного пользователя системы, перед использованием модуля CPAN необходимо выполнить его настройку таким образом, чтобы все модули устанавливались внутрь вашего домашнего каталога. Для этого выполните следующие действия:
Определите переменную окружения PERL5LIB
, которая будет содержать путь до каталога, в который будут устанавливаться библиотеки Perl:
export PERL5LIB=~/perl5/lib/perl5:$PERL5LIB
Вы можете добавить эту строку в файл .bashrc
, и тогда эта переменная окружения будет автоматически устанавливаться каждый раз,
как вы входите в систему через SSH. Сделать это проще всего так:
echo 'export PERL5LIB=~/perl5/lib/perl5:$PERL5LIB' >> ~/.bashrc
Для установки некоторых модулей требуются права на компиляцию (gcc). Для того чтобы их получить необходимо отправить письмо в техническую поддержку на почтовый ящик info@netangels.ru.
Устанавливаются модули (для примера взят MIME::Lite::TT::HTML
) следующей командой:
perl -MCPAN -Mlocal::lib -e 'CPAN::install(MIME::Lite::TT::HTML)'
В процессе установки можно на все вопросы нажимать клавишу enter.
Проверить корректность установки модуля можно командой
/usr/bin/perl -I ~/perl5/lib/perl5 -MMIME::Lite::TT::HTML -e 'print "OK\n";'
Обратите внимание, что теперь, если вы хотите использовать установленные библиотеки в своих скриптах, вам необходимо будет изменить sha-bang строку в первой строке скрипта и привести ее к виду:
#!/usr/bin/perl -I /home/u0000/perl5/lib/perl5
где заменить u0000
на ваш логин.
На виртуальном хостинге используется устаревшая версия Python. Для использования актуальных версий Python мы рекомендуем выбрать Облачный хостинг.
Работа с сайтами на Python на облачном хостинге описана в отдельной статье.
Запуск скриптов, написанных на языке Python или Ruby, выполняется по всем правилам запуска CGI-скриптов, в каталоге cgi-bin
(“классический способ”). Порядок действий при этом будет следующим:
cgi-bin
вашего сайта (например, sitename.ru/cgi-bin
).-rwxr-xr-x (755)
.cgi-bin
создайте файл .htaccess
и запишите в нем указание, которое позволит запускать скрипты в режиме FastCGI:AddHandler fcgid-script .py .rb
Обратите внимание, что CGI-скрипты обязательно должны содержать в самом начале специальную последовательность (#!
), указывающую системе какой интерпретатор следует использовать для исполнения сценария. В мире UNIX-подобных ОС такая последовательность называется sha-bang
.
Заметим также, что вместо каталога cgi-bin
можно использовать и каталог www
. В этом случае, настройки в файле .htaccess
должны будут иметь следующий вид:
для режима CGI:
Options +ExecCGI
AddHandler cgi-script .py .rb
для режима FastCGI:
Options +ExecCGI
AddHandler fcgid-script .py .rb
Возможно Вам также будет интересно прочитать про запуск Django или Ruby on Rails на нашем хостинге:
Проверьте, выполняются ли следующие условия применительно к вашим скриптам:
-rwxr-xr-x (755)
.uXXXXX
).Обратите внимание, что все CGI-скрипты обязательно должны содержать в самом начале специальную последовательность (#!
), указывающую системе какой интерпретатор следует использовать для исполнения сценария. В мире UNIX-подобных ОС такая последовательность называется sha-bang
.
Симптомы: загруженные вами скрипты не работают, а при их просмотре в редакторе vim
в конце каждой строки видны символы ".^M
".
В различных ОС для обозначения завершения строки в текстовых файлах используются разные символы. Данная ситуация может произойти в том случае, если скрипт редактируется в операционной системе Windows, а затем загружается на сервер хостинга. Поэтому, если вы создаете или редактируете свои скрипты в Windows-подобной ОС, то вам необходимо удостовериться, что файл вашей программы сохранялся с соответствующими разделителями строк.
Обратите также внимание, что при загрузке скриптов по протоколу FTP, ваш клиент должен быть настроен на пересылку файлов в текстовом (ASCII
), а не в двоичном (binary
) режиме.
Тарифы на виртуальный хостинг, php хостинг, хостинг для Битрикс