Установка веб-сервера lighttpd в FreeBSD

7 Фев
2009

Сегодня довольно часто вместо “тяжелого” Apache используют более “легкие” сервера. Например lighttpd (www.lighttpd.net) входит в пятерку наиболее популярных решений и используется на таких сайтах как SourceForge, Youtube, Википедия.

Но если в Ubuntu 8.04 LTS он у меня завелся буквально с полпинка, достаточно было ввести:

$ sudo apt-get install lighttpd lighttpd-doc php5-cgi

Включить модуль fastcgi:

$ sudo lighty-enable-mod fastcgi

И уточнить параметры в /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 все работает.

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

Наверх