Установка и настройка lighttpd
lighttpd позиционируется как, легкий, безопасный вебсервер. Используют в своей деятельности многие известные проекты, такие как YouTube, wikipedia. Мы построим простейший сервер, ориентированный на отдачу статических файлов. Во FreeBSD, lighttpd присутствует в портах, оттуда его и поставим:
cd /usr/ports/www/lighttpd/ make install clean
Перед сборкой вызывается диалог настройки:
┌────────────────────────────────────────────────────────────────────┐ │ Options for lighttpd 1.4.20 │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │ [X] BZIP2 Enable Bzip2 support │ │ │ │ [ ] CML Enable Cache Meta Language support │ │ │ │ [X] FAM Enable fam/gamin support │ │ │ │ [ ] GDBM Enable gdbm storage support │ │ │ │ [ ] IPV6 Enable IPV6 support │ │ │ │ [ ] MAGNET Enable magnet support │ │ │ │ [ ] MEMCACHE Enable memory caching support │ │ │ │ [ ] MYSQL Enable MYSQL support │ │ │ │ [ ] OPENLDAP Enable LDAP support │ │ │ │ [X] OPENSSL Enable SSL support │ │ │ │ [ ] VALGRIND Enable valgrind support │ │ │ │ [ ] WEBDAV Enable WebDAV support │ │ ├─└────────────────────────────────────────────────────────────────┘─┤ │ [ OK ] Cancel │ └────────────────────────────────────────────────────────────────────┘
Перечисленные настройки подойдут к большинству задач. После того, как установка будет закончена,
перейдем к настройке. Настроим виртуальный сервер www.hilik.org.ua. Конфигурационный файл /usr/local/etc/lighttpd.conf будет выглядеть так:
#Перечисляем модули, которые будет пожгружать при старте lighttpd server.modules = ( "mod_rewrite", "mod_redirect", "mod_alias", "mod_access", "mod_setenv", "mod_accesslog" ) #Документ рут по умолчанию server.document-root = "/usr/local/www/data/" #Описываем лог файл куда будут писаться ошибки server.errorlog = "/var/log/lighttpd.error.log" #Имена файлов, которые будут отдаваться по умолчанию, если имя файла не задано в запросе index-file.names = ( "index.php", "index.html", "index.htm", "default.htm" ) #Метод обработки запросов server.event-handler = "freebsd-kqueue" #Сопоставление MIMEType расширениям файлов mimetype.assign = ( ".pdf" => "application/pdf", ".sig" => "application/pgp-signature", ".spl" => "application/futuresplash", ".class" => "application/octet-stream", ".ps" => "application/postscript", ".torrent" => "application/x-bittorrent", ".dvi" => "application/x-dvi", ".gz" => "application/x-gzip", ".pac" => "application/x-ns-proxy-autoconfig", ".swf" => "application/x-shockwave-flash", ".tar.gz" => "application/x-tgz", ".tgz" => "application/x-tgz", ".tar" => "application/x-tar", ".zip" => "application/zip", ".mp3" => "audio/mpeg", ".m3u" => "audio/x-mpegurl", ".wma" => "audio/x-ms-wma", ".wax" => "audio/x-ms-wax", ".ogg" => "application/ogg", ".wav" => "audio/x-wav", ".gif" => "image/gif", ".jar" => "application/x-java-archive", ".jpg" => "image/jpeg", ".jpeg" => "image/jpeg", ".png" => "image/png", ".xbm" => "image/x-xbitmap", ".xpm" => "image/x-xpixmap", ".xwd" => "image/x-xwindowdump", ".css" => "text/css", ".html" => "text/html", ".htm" => "text/html", ".js" => "text/javascript", ".asc" => "text/plain", ".c" => "text/plain", ".cpp" => "text/plain", ".log" => "text/plain", ".conf" => "text/plain", ".text" => "text/plain", ".txt" => "text/plain", ".dtd" => "text/xml", ".xml" => "text/xml", ".mpeg" => "video/mpeg", ".mpg" => "video/mpeg", ".mov" => "video/quicktime", ".qt" => "video/quicktime", ".avi" => "video/x-msvideo", ".asf" => "video/x-ms-asf", ".asx" => "video/x-ms-asf", ".wmv" => "video/x-ms-wmv", ".bz2" => "application/x-bzip", ".tbz" => "application/x-bzip-compressed-tar", ".tar.bz2" => "application/x-bzip-compressed-tar", # default mime type "" => "application/octet-stream", ) #Идентификатор сервера server.tag = "lighttpd" #Файл для записи обработанных запросов accesslog.filename = "/var/log/lighttpd.access.log" #Запрещенные для отдачи имена файлов url.access-deny = ( "~", ".inc" ) #Расширения файлов которые надо отдавать на обработку FastCGI процессам static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) #Принимаем запросы на 80-м порту server.port = 80 #IP адрес на котором принимаем запросы server.bind = "89.252.34.107" #PID файл server.pid-file = "/var/run/lighttpd.pid" #Устанавливаем документ рут в зависимости от имени хоста $HTTP["host"] == "www.hilik.org.ua" { server.document-root = "/home/www/hilik.kiev.ua/" } $HTTP["host"] == "hilik.org.ua" { server.document-root = "/home/www/hilik.kiev.ua/" } #Пользователь и группа от имени которых работает lightttpd server.username = "www" server.groupname = "www"
После того, как файл настроек будет сохранен, нужно добавить в /etc/rc.conf запись, разрешающую запуск lighttpd:
lighttpd_enable="YES"
Запускаем его:
/usr/local/etc/rc.d/lighttpd start
На этом настройка окончена.




By Plastilin, 16.01.2010 @ 23:50
Неплохо было бы добавить обработку .php
# В модули
“mod_fastcgi”,
————————–
#Настройки php
fastcgi.server = ( “.php” =>
( “localhost” =>
(
“socket” => “/tmp/php-fastcgi.socket”,
“bin-path” => “/usr/local/bin/php-cgi”
)
)
)
By prolianta, 17.05.2010 @ 10:20
Слишком ужато, где php и mysql? Неплохо было и про настройку онных написать, а то какой сайт и без mysql??
By hilik, 19.05.2010 @ 13:57
Как то так получилось, что кроме отдачи статики дело не пошло.