Сегодня довольно часто вместо “тяжелого” 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 все работает.
//
Судя по скриншоту вы его в Ubuntu установили 😉
//
Нет ставил под FreeBSD, а снимки делал подключившись к серверу из бубунты 🙂