lighttpd/ru
Warning: Display title "lighttpd/ru" overrides earlier display title "Lighttpd".
lighttpd — это быстрый и легкий веб–сервер.
Установка
USE–флаги
USE flags for www-servers/lighttpd Lightweight high-performance web server
brotli
|
Enable output compression via app-arch/brotli (recommended) |
dbi
|
Enable dev-db/libdbi (database-independent abstraction layer) support |
gnutls
|
Build module for TLS via net-libs/gnutls |
kerberos
|
Add kerberos support |
ldap
|
Add LDAP support (Lightweight Directory Access Protocol) |
lua
|
Enable Lua scripting support |
maxminddb
|
Add support for geolocation using dev-libs/libmaxminddb |
mbedtls
|
Build module for TLS via net-libs/mbedtls |
mmap
|
Use mmap when sendfile is not available |
mysql
|
Add mySQL Database support |
nettle
|
Use dev-libs/nettle as crypto backend |
nss
|
Build module for TLS via Mozilla's Network Security Services |
pcre
|
Add support for Perl Compatible Regular Expressions |
php
|
Include support for the PHP language |
postgres
|
Add support for the postgresql database |
rrdtool
|
Enable rrdtool support via mod_rrdtool |
sasl
|
Add support for the Simple Authentication and Security Layer |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
sqlite
|
Add support for sqliteembedded sql database |
ssl
|
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security) |
system-xxhash
|
Use system provided dev-libs/xxhash |
test
|
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) |
unwind
|
Add support for call stack unwinding and function name resolution |
webdav
|
Enable webdav properties |
xattr
|
Add support for extended attributes (filesystem-stored metadata) |
zlib
|
Enable output compression via gzip or deflate algorithms from sys-libs/zlib |
zstd
|
Enable output compression via Zstandard (app-arch/zstd) algorithm |
Emerge
Установите пакет www-servers/lighttpd:
root #
emerge --ask www-servers/lighttpd
Конфигурация
lighttpd настраивается при помощи файла /etc/lighttpd/lighttpd.conf. Первый пример показывает доступ к одному сайту, с SSL и без динамических возможностей (таких, как PHP).
/etc/lighttpd/lighttpd.conf
Пример 1$SERVER["socket"] == "192.0.2.10:443" { server.name = "www.genfic.com" server.document-root = "/var/www/www.genfic.com/" server.errorlog = "/var/log/lighttpd/http_error.log" accesslog.filename = "/var/log/lighttpd/http_access.log" ## Настройка SSL ssl.engine = "enable" ssl.pemfile = "/etc/ssl/lighttpd-ssl.pem" ssl.ca-file = "/etc/ssl/certs/ca-certificate.crt" # Опции SSL ssl.use-sslv2 = "disable" ssl.cipher-list = "TLSv1+HIGH !SSLv2 RC4+MEDIUM !aNULL !eNULL !3DES @STRENGTH" }
Для включения дополнительных функций настройте нужные модули в /etc/lighttpd/lighttpd.conf. Например, чтобы включить PHP с использованием FastCGI:
/etc/lighttpd/lighttpd.conf
Пример 2 — Включение поддержки PHP... include "mod_fastcgi.conf" ...
Списки контроля доступа по IP
Этот третий пример показывает, как разрешить доступ к определенному сайту /server-status только определённым IP–адресам. Чтобы разрешить использование статуса сервиса на адресах 198.51.100.1 и 127.0.0.1, выставьте следующие строки в файл lighttpd.conf:
/etc/lighttpd/lighttpd.conf
Пример 3 — Включение и настройка списка контроля доступа по IP к странице /server-status# Включить модель "access" server.modules = { ... "mod_access", } ... # Глобально включить страницу server-status status.status-url = "/server-status" ... # Разрешить доступ к странице server-status только для следующих IP–хостов $HTTP["remoteip"] !~ "198.51.100.1|127.0.0.1" { url.access-deny = ( "/server-status" ) }
Запуск
Для того, чтобы служба lighttpd запускалась автоматически, она должна быть правильно добавлена в обработчик сервисов. В Gentoo есть две основных системы, которые её содержат: OpenRC и systemd.
OpenRC
В случае с OpenRC используйте команду rc-update:
root #
rc-update add lighttpd default
systemd
В случае с systemd используйте команду systemctl:
root #
systemctl enable lighttpd.service
Устранение проблем
Проверка конфигурационного файла /etc/lighttpd/lighttpd.conf с помощью lighttpd-angel вернёт код выхода 0
, если всё настроено правильно:
root #
lighttpd-angel -t -f /etc/lighttpd/lighttpd.conf
Syntax OK lighttpd-angel.c.140: child (pid=32491) exited normally with exitcode: 0
Если в конфигурационном файле есть ошибки, он выведет их в stdout, как показано в примере ниже:
root #
lighttpd-angel -t -f /etc/lighttpd/lighttpd.conf
2012-09-02 12:52:08: (plugin.c.131) Cannot load plugin mod_fastcgi more than once, please fix your config 2012-09-02 12:52:08: (network.c.379) can't bind to port: 192.168.0.1 80 Address already in use lighttpd-angel.c.140: child (pid=32139) exited normally with exitcode: 255
Смотрите также
- Apache — эффективный и расширяемый веб-сервер. Он является одним из самых популярных веб-серверов в Интернете.
- Nginx — надежный, маленький и очень производительный веб-сервер и обратный прокси-сервер.
Внешние ресурсы
- https://redmine.lighttpd.net/projects/lighttpd/wiki — вики Lighttpd (англ.)