Ads 468x60px

суббота, 17 марта 2012 г.

Установка lighhtpd с поддержкой perl скриптов в Debian.

Для отладки perl скриптов для вэб, мне показалось удобным использовать легковесный lighttpd.
Установка веб сервера:
$ sudo aptitude install lighttpd
По умолчанию в настройках lighttpd не включен модуль для работы с cgi скриптами, его необходимо добавить в секцию server.modules(6-ая строка из примера конф. файла), а так же необходимо указать использование файлов с расширением .pl как cgi скриптов(21-ая строка из примера конф. файла). Мой конфигурационный файл /etc/lighttpd/lighttpd.conf имеет следующий вид.
server.modules = (
        "mod_access",
        "mod_alias",
        "mod_compress",
        "mod_redirect",
        "mod_cgi",      # включаем модуль использования cgi скриптов
#       "mod_rewrite",
)

server.document-root        = "/home/user/www"        # корень сайта
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"

index-file.names            = ( "index.php", "index.html",
                                "index.htm", "default.htm",
                               " index.lighttpd.html" )

cgi.assign = ( ".pl" => "/usr/bin/perl" ) # указание расширения и пути к интерпритатору perl

url.access-deny             = ( "~", ".inc" )

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

include_shell "/usr/share/lighttpd/use-ipv6.pl"

dir-listing.encoding        = "utf-8"
server.dir-listing          = "enable"

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/x-javascript", "text/css", "text/html", "text/plain" )

include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
создаем тестовый файл /home/user/www/test.pl:
#!/usr/bin/perl 
# test.pl

print "Content-type: text/plain\n\n";
print "Hello World!\n";
Перезапускаем сервер:
# sudo service lighttpd restart
проверяем работу localhost/test.pl
В случае получение ошибки "403 - Forbidden" вероятнее всего не достаточно прав на каталог для lighttpd, исправляем сложивщуюся ситуацию:
# sudo chown user:www-data /home/user
# sudo chown -R user:www-data /home/user/www

Комментариев нет: