Сегодня довольно часто вместо “тяжелого” Apache используют более
“легкие” сервера. Например lighttpd (www.lighttpd.net) входит в пятерку
наиболее популярных решений и используется на таких сайтах как
SourceForge, Youtube, Википедия.
Но если в Ubuntu 8.04 LTS он у меня завелся буквально с полпинка, достаточно было ввести:
И уточнить параметры в /etc/lighttpd/lighttpd.conf
Но имеющиеся инструкции для FreeBSD помогли лишь отчасти.
Обновляем порты: # portsnap update
Проверяем где находится нужный порт lighttpd: # whereis lighttpd Lighttpd: /usr/ports/www/lighttpd
Ставим # cd /usr/ports/www/lighttpd
# make install clean
В процессе установки выскочит окно с параметрами, я установил все кроме: “IPV6, OPENLDAP, VALGRIND, WEBDAV”.
В процессе установки выбираем нужные параметры
Теперь если нужно PHP5: # whereis php5 php5: /usr/ports/lang/php5
# cd /usr/ports/lang/php5
# make install clean
В окне параметров обязательно отмечаем FastCGI. Терпеливо ждем пока все соберется.
Конфигурационный файл сервера lighttpd.conf находится в /usr/local/etc/,
здесь же лежит еще один (lighttpd.conf.sample) по содержанию они
одинаковы. Шаблон часто нужно всего лишь чуть подправить. Файл
lighttpd.conf состоит из директив и стандартен для Unix. Если директива
должна принимать несколько значений, они перечисляются через запятую и
заключаются в скобки.
# ee /usr/local/etc/lighttpd.conf
;Описание модулей server.modules = (
“mod_access”,
“mod_alias”,
“mod_accesslog”,
“mod_compress”,
; эта строка подключает FastCGI “mod_fastcgi”,
# “mod_rewrite”,
)
; Расположение файлов сервера server.document-root = “/usr/local/www/data”
; Логи ошибок и доступа server.errorlog = “/var/log/lighttpd.error.log”
accesslog.filename = “/var/log/lighttpd.access.log”
; Индексные файлы index-file.names = ( “index.php”, “index.html”,
“index.htm”, “default.htm”)
; По умолчанию порт 80, его можно изменить
; server.port = 80
; слушаются все интерфейсы, тоже можно поменять
; server.bind = “localhost”
; Кодировка для листинга файлов dir-listing.encoding = “utf-8″
;UID|GID, с правами которых будет работать демон server.username = “www”
server.groupname = “www”
; чуть ниже снимаем комментарии со строк предназначенных для активации FastCGI fastcgi.server = ( “.php” =>
( “localhost” =>
; здесь в файле нужно поправить имя заменив php-cgi-cgi, на php-cgi
(”bin-path” => “/usr/local/bin/php-cgi”,
“socket” => “/tmp/php-fastcgi.socket”
)))
Остальное можно не трогать.
Добавляем запуск в rc.conf # echo lighttpd_enable=\”YES\” >> /etc/rc.conf
# cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini
Чтобы не нарушать совместимость с большинством приложений,
необходимо снять знак комментаряи в php.ini с параметра
“cgi.fix_pathinfo=1″: # ee /usr/local/etc/php.ini cgi.fix_pathinfo = 1
Создаем файлы журналов, без них демон не запустится. # touch /var/log/lighttpd.error.log
# touch /var/log/lighttpd.access.log
По окончании настройки проверяем файл на отсутствие ошибок: # /usr/local/etc/rc.d/lighttpd -t -f /usr/local/etc/lighttpd.conf Syntax OK
Стартуем. # /usr/local/etc/rc.d/lighttpd restart
Для проверки работы PHP пишем скрипт # /usr/local/www/data/test.php
Открываем в браузере http://localhost/test.php
Тестовая страница
Если видим страницу с параметрами PHP все работает.