Установка lighttpd из исходников на FreeBSD

Установка lighttpd из исходников на FreeBSD

Lighttpd безопасный и быстрый веб сервер который распространяется по лицензии BSD. Он оптимизирован для высокопроизводительных средах с небольшим объемом памяти по сравнению с другими веб-серверами, служит для эффективного управления CPU-нагрузки из расширенным набором функций (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting  и многие другие).

Lighttpd — является идеальным решением для сервера который страдает от проблем с  нагрузками на него.
Скачаем lighttpd в виде исходного кода, на момент написания статьи последняя версия была— lighttpd-1.4.34 и  можно скачать ее:
# wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.34.tar.gz
Распакуем ее:
# tar zxvf lighttpd-1.4.34.tar.gz
Перейдем в распакованную папку и начнем сборку lighttpd:
# cd lighttpd-1.4.34
# ./configure --prefix=/usr/local/lighttpd
# make
# make install
Добавим в автозагрузку процесс:
# echo 'lighttpd_enable="YES"' >> /etc/rc.conf
Скопируем пример конфига, потом мы его подправим:
# cd /usr/local/etc/
# cp lighttpd.conf.sample lighttpd.conf
Нужно отредактировать файл конфигурации lighttpd.conf.
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"
#Установка lighttpd из исходников на FreeBSD
#Имена файлов, которые будут отдаваться по умолчанию, если имя файла не задано в запросе
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                = "192.168.77.136"
#PID файл
server.pid-file            = "/var/run/lighttpd.pid"
#Устанавливаем документ рут в зависимости от имени хоста
$HTTP["host"] == "192.168.77.136" { server.document-root = "/home/captain/www/" }
$HTTP["host"] == "192.168.77.136" { server.document-root = "/home/captain/www/" }
#Пользователь и группа от имени которых работает lightttpd
server.username            = "www"
server.groupname           = "www"
Создадим каталог и в нем будем хранить все логи по серверу:
# mkdir /var/log/lighttpd
# touch /var/log/lighttpd/lighttpd.error.log
# touch /var/log/lighttpd/lighttpd.access.log
# chown www:www /var/log/lighttpd
# chown www:www /var/log/lighttpd/lighttpd.error.log
# chown www:www /var/log/lighttpd/lighttpd.access.log
Нужно отредактировать lighttpd.conf чтобы использовать логи, если Вы еще это не сделали раньше:
* server.errorlog = "/var/log/lighttpd/lighttpd.error.log"
* accesslog.filename = "/var/log/lighttpd/lighttpd.access.log"
Запустим сервер lighttpd:
# service lighttpd start
Проверяем старт:
# ps -ax | grep lighttpd
Установка lighttpd из исходников на FreeBSD закончена. Если есть вопросы пишите.

2 thoughts on “Установка lighttpd из исходников на FreeBSD

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.