lighttpd
lighttpd は高速で軽量な web サーバです。
インストール
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 sqlite - embedded sql database |
ssl
|
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security) |
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 |
verify-sig
|
Verify upstream signatures on distfiles |
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 内で必要なモジュールを設定してください。例えば、FastCGI プロセッサを使用して PHP を有効化するには:
/etc/lighttpd/lighttpd.conf
例 2 - PHP サポートを有効化する...
include "mod_fastcgi.conf"
...
IP アクセスリスト
3 番目の例は、特定のサイト /server-status へのアクセスを、特定の IP アドレスのみに許可する方法を示しています。198.51.100.1 と 127.0.0.1 のアドレスに対してサービスステータスの利用を許可するには、lighttpd.conf ファイル内で次の内容を設定してください:
/etc/lighttpd/lighttpd.conf
例 3 - /server-status ページのための IP アクセスリストを有効化して設定する# アクセスモジュールを有効化する
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 サービスを自動で開始するためには、init 管理プログラムに適切に追加する必要があります。Gentoo には 2 つの主要な init 管理プログラムがあります: OpenRC と systemd です。
OpenRC
OpenRC では、rc-update コマンドを使用してください:
root #
rc-update add lighttpd default
systemd
systemd では、systemctl コマンドを使用してください:
root #
systemctl enable lighttpd.service
トラブルシューティング
すべてが適切に設定されていれば、lighttpd-angel で /etc/lighttpd/lighttpd.conf 設定ファイルを検証すると exit コード 0
を返すでしょう:
root #
lighttpd-angel -t -f /etc/lighttpd/lighttpd.conf
Syntax OK lighttpd-angel.c.140: child (pid=32491) exited normally with exitcode: 0
設定ファイルにエラーがある場合は、次の例のように標準出力にエラーを表示するでしょう:
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
関連項目
外部資料
- https://redmine.lighttpd.net/projects/lighttpd/wiki - Lighttpd wiki。