Lighttpd 1.4.42 added.
This commit is contained in:
parent
80f06b6f34
commit
eee0c8b15a
|
@ -0,0 +1 @@
|
|||
DIST lighttpd-1.4.42.tar.xz 652140 SHA256 b2c9069ed0bade9362c27b469a9b884641786aea1c3d686f9fd9f01d15e2a15f SHA512 eb43a53f1fe7a115d0cf60ed8b79a22472a4fef939937401a475bdfd7244e53efa3aae1f66cd709989e77064aadd40004455b167ea3c4efc07ced261c18bd773 WHIRLPOOL 2886d02c477ffe4a36a4d33656c69c34df65b563e6ee81dad7be957ab472197fb91087e1e494b23f4e83a35939f102494140d34737fd280692503e54b3676fe7
|
|
@ -0,0 +1,330 @@
|
|||
###############################################################################
|
||||
# Default lighttpd.conf for Gentoo.
|
||||
# $Id$
|
||||
###############################################################################
|
||||
|
||||
# {{{ variables
|
||||
var.basedir = "/var/www/localhost"
|
||||
var.logdir = "/var/log/lighttpd"
|
||||
var.statedir = "/var/lib/lighttpd"
|
||||
# }}}
|
||||
|
||||
# {{{ modules
|
||||
# At the very least, mod_access and mod_accesslog should be enabled.
|
||||
# All other modules should only be loaded if necessary.
|
||||
# NOTE: the order of modules is important.
|
||||
server.modules = (
|
||||
# "mod_rewrite",
|
||||
# "mod_redirect",
|
||||
# "mod_alias",
|
||||
"mod_access",
|
||||
# "mod_cml",
|
||||
# "mod_trigger_b4_dl",
|
||||
# "mod_auth",
|
||||
# "mod_status",
|
||||
# "mod_setenv",
|
||||
# "mod_proxy",
|
||||
# "mod_simple_vhost",
|
||||
# "mod_evhost",
|
||||
# "mod_userdir",
|
||||
# "mod_compress",
|
||||
# "mod_ssi",
|
||||
# "mod_usertrack",
|
||||
# "mod_expire",
|
||||
# "mod_secdownload",
|
||||
# "mod_rrdtool",
|
||||
# "mod_webdav",
|
||||
"mod_accesslog"
|
||||
)
|
||||
# }}}
|
||||
|
||||
# {{{ includes
|
||||
include "mime-types.conf"
|
||||
# fcgi and cgi are included below
|
||||
# }}}
|
||||
|
||||
# {{{ server settings
|
||||
server.username = "lighttpd"
|
||||
server.groupname = "lighttpd"
|
||||
|
||||
server.document-root = var.basedir + "/htdocs"
|
||||
server.pid-file = "/var/run/lighttpd.pid"
|
||||
|
||||
server.errorlog = var.logdir + "/error.log"
|
||||
# log errors to syslog instead
|
||||
# server.errorlog-use-syslog = "enable"
|
||||
|
||||
server.indexfiles = ("index.php", "index.html",
|
||||
"index.htm", "default.htm")
|
||||
|
||||
# server.tag = "lighttpd"
|
||||
|
||||
server.follow-symlink = "enable"
|
||||
|
||||
# event handler (defaults to "poll")
|
||||
# see performance.txt
|
||||
#
|
||||
# for >= linux-2.4
|
||||
# server.event-handler = "linux-rtsig"
|
||||
# for >= linux-2.6
|
||||
# server.event-handler = "linux-sysepoll"
|
||||
# for FreeBSD
|
||||
# server.event-handler = "freebsd-kqueue"
|
||||
|
||||
# chroot to directory (defaults to no chroot)
|
||||
# server.chroot = "/"
|
||||
|
||||
# bind to port (defaults to 80)
|
||||
# server.port = 81
|
||||
|
||||
# bind to name (defaults to all interfaces)
|
||||
# server.bind = "grisu.home.kneschke.de"
|
||||
|
||||
# error-handler for status 404
|
||||
# server.error-handler-404 = "/error-handler.html"
|
||||
# server.error-handler-404 = "/error-handler.php"
|
||||
|
||||
# Format: <errorfile-prefix><status-code>.html
|
||||
# -> ..../status-404.html for 'File not found'
|
||||
# server.errorfile-prefix = var.basedir + "/error/status-"
|
||||
|
||||
# FAM support for caching stat() calls
|
||||
# requires that lighttpd be built with USE=fam
|
||||
# server.stat-cache-engine = "fam"
|
||||
|
||||
# If lighttpd was build with IPv6 support, and you would like to listen on IPv6,
|
||||
# uncomment the following:
|
||||
# server.use-ipv6 = "enable"
|
||||
|
||||
# }}}
|
||||
|
||||
# {{{ mod_staticfile
|
||||
|
||||
# which extensions should not be handled via static-file transfer
|
||||
# (extensions that are usually handled by mod_cgi, mod_fastcgi, etc).
|
||||
static-file.exclude-extensions = (".php", ".pl", ".cgi", ".fcgi")
|
||||
# }}}
|
||||
|
||||
# {{{ mod_accesslog
|
||||
accesslog.filename = var.logdir + "/access.log"
|
||||
# }}}
|
||||
|
||||
# {{{ mod_dirlisting
|
||||
# enable directory listings
|
||||
# dir-listing.activate = "enable"
|
||||
#
|
||||
# don't list hidden files/directories
|
||||
# dir-listing.hide-dotfiles = "enable"
|
||||
#
|
||||
# use a different css for directory listings
|
||||
# dir-listing.external-css = "/path/to/dir-listing.css"
|
||||
#
|
||||
# list of regular expressions. files that match any of the
|
||||
# specified regular expressions will be excluded from directory
|
||||
# listings.
|
||||
# dir-listing.exclude = ("^\.", "~$")
|
||||
# }}}
|
||||
|
||||
# {{{ mod_access
|
||||
# see access.txt
|
||||
|
||||
url.access-deny = ("~", ".inc")
|
||||
# }}}
|
||||
|
||||
# {{{ mod_userdir
|
||||
# see userdir.txt
|
||||
#
|
||||
# userdir.path = "public_html"
|
||||
# userdir.exclude-user = ("root")
|
||||
# }}}
|
||||
|
||||
# {{{ mod_ssi
|
||||
# see ssi.txt
|
||||
#
|
||||
# ssi.extension = (".shtml")
|
||||
# }}}
|
||||
|
||||
# {{{ mod_ssl
|
||||
# see ssl.txt
|
||||
#
|
||||
# ssl.engine = "enable"
|
||||
# ssl.pemfile = "server.pem"
|
||||
# }}}
|
||||
|
||||
# {{{ mod_status
|
||||
# see status.txt
|
||||
#
|
||||
# status.status-url = "/server-status"
|
||||
# status.config-url = "/server-config"
|
||||
# }}}
|
||||
|
||||
# {{{ mod_simple_vhost
|
||||
# see simple-vhost.txt
|
||||
#
|
||||
# If you want name-based virtual hosting add the next three settings and load
|
||||
# mod_simple_vhost
|
||||
#
|
||||
# document-root =
|
||||
# virtual-server-root + virtual-server-default-host + virtual-server-docroot
|
||||
# or
|
||||
# virtual-server-root + http-host + virtual-server-docroot
|
||||
#
|
||||
# simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
|
||||
# simple-vhost.default-host = "grisu.home.kneschke.de"
|
||||
# simple-vhost.document-root = "/pages/"
|
||||
# }}}
|
||||
|
||||
# {{{ mod_compress
|
||||
# see compress.txt
|
||||
#
|
||||
# compress.cache-dir = var.statedir + "/cache/compress"
|
||||
# compress.filetype = ("text/plain", "text/html")
|
||||
# }}}
|
||||
|
||||
# {{{ mod_proxy
|
||||
# see proxy.txt
|
||||
#
|
||||
# proxy.server = ( ".php" =>
|
||||
# ( "localhost" =>
|
||||
# (
|
||||
# "host" => "192.168.0.101",
|
||||
# "port" => 80
|
||||
# )
|
||||
# )
|
||||
# )
|
||||
# }}}
|
||||
|
||||
# {{{ mod_auth
|
||||
# see authentication.txt
|
||||
#
|
||||
# auth.backend = "plain"
|
||||
# auth.backend.plain.userfile = "lighttpd.user"
|
||||
# auth.backend.plain.groupfile = "lighttpd.group"
|
||||
|
||||
# auth.backend.ldap.hostname = "localhost"
|
||||
# auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
|
||||
# auth.backend.ldap.filter = "(uid=$)"
|
||||
|
||||
# auth.require = ( "/server-status" =>
|
||||
# (
|
||||
# "method" => "digest",
|
||||
# "realm" => "download archiv",
|
||||
# "require" => "user=jan"
|
||||
# ),
|
||||
# "/server-info" =>
|
||||
# (
|
||||
# "method" => "digest",
|
||||
# "realm" => "download archiv",
|
||||
# "require" => "valid-user"
|
||||
# )
|
||||
# )
|
||||
# }}}
|
||||
|
||||
# {{{ mod_rewrite
|
||||
# see rewrite.txt
|
||||
#
|
||||
# url.rewrite = (
|
||||
# "^/$" => "/server-status"
|
||||
# )
|
||||
# }}}
|
||||
|
||||
# {{{ mod_redirect
|
||||
# see redirect.txt
|
||||
#
|
||||
# url.redirect = (
|
||||
# "^/wishlist/(.+)" => "http://www.123.org/$1"
|
||||
# )
|
||||
# }}}
|
||||
|
||||
# {{{ mod_evhost
|
||||
# define a pattern for the host url finding
|
||||
# %% => % sign
|
||||
# %0 => domain name + tld
|
||||
# %1 => tld
|
||||
# %2 => domain name without tld
|
||||
# %3 => subdomain 1 name
|
||||
# %4 => subdomain 2 name
|
||||
#
|
||||
# evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"
|
||||
# }}}
|
||||
|
||||
# {{{ mod_expire
|
||||
# expire.url = (
|
||||
# "/buggy/" => "access 2 hours",
|
||||
# "/asdhas/" => "access plus 1 seconds 2 minutes"
|
||||
# )
|
||||
# }}}
|
||||
|
||||
# {{{ mod_rrdtool
|
||||
# see rrdtool.txt
|
||||
#
|
||||
# rrdtool.binary = "/usr/bin/rrdtool"
|
||||
# rrdtool.db-name = var.statedir + "/lighttpd.rrd"
|
||||
# }}}
|
||||
|
||||
# {{{ mod_setenv
|
||||
# see setenv.txt
|
||||
#
|
||||
# setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
|
||||
# setenv.add-response-header = ( "X-Secret-Message" => "42" )
|
||||
# }}}
|
||||
|
||||
# {{{ mod_trigger_b4_dl
|
||||
# see trigger_b4_dl.txt
|
||||
#
|
||||
# trigger-before-download.gdbm-filename = "/home/weigon/testbase/trigger.db"
|
||||
# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
|
||||
# trigger-before-download.trigger-url = "^/trigger/"
|
||||
# trigger-before-download.download-url = "^/download/"
|
||||
# trigger-before-download.deny-url = "http://127.0.0.1/index.html"
|
||||
# trigger-before-download.trigger-timeout = 10
|
||||
# }}}
|
||||
|
||||
# {{{ mod_cml
|
||||
# see cml.txt
|
||||
#
|
||||
# don't forget to add index.cml to server.indexfiles
|
||||
# cml.extension = ".cml"
|
||||
# cml.memcache-hosts = ( "127.0.0.1:11211" )
|
||||
# }}}
|
||||
|
||||
# {{{ mod_webdav
|
||||
# see webdav.txt
|
||||
#
|
||||
# $HTTP["url"] =~ "^/dav($|/)" {
|
||||
# webdav.activate = "enable"
|
||||
# webdav.is-readonly = "enable"
|
||||
# }
|
||||
# }}}
|
||||
|
||||
# {{{ extra rules
|
||||
#
|
||||
# set Content-Encoding and reset Content-Type for browsers that
|
||||
# support decompressing on-thy-fly (requires mod_setenv)
|
||||
# $HTTP["url"] =~ "\.gz$" {
|
||||
# setenv.add-response-header = ("Content-Encoding" => "x-gzip")
|
||||
# mimetype.assign = (".gz" => "text/plain")
|
||||
# }
|
||||
|
||||
# $HTTP["url"] =~ "\.bz2$" {
|
||||
# setenv.add-response-header = ("Content-Encoding" => "x-bzip2")
|
||||
# mimetype.assign = (".bz2" => "text/plain")
|
||||
# }
|
||||
#
|
||||
# }}}
|
||||
|
||||
# {{{ debug
|
||||
# debug.log-request-header = "enable"
|
||||
# debug.log-response-header = "enable"
|
||||
# debug.log-request-handling = "enable"
|
||||
# debug.log-file-not-found = "enable"
|
||||
# }}}
|
||||
|
||||
# {{{ cgi includes
|
||||
# uncomment for cgi support
|
||||
# include "mod_cgi.conf"
|
||||
# uncomment for php/fastcgi support
|
||||
# include "mod_fastcgi.conf"
|
||||
# }}}
|
||||
|
||||
# vim: set ft=conf foldmethod=marker et :
|
|
@ -0,0 +1,79 @@
|
|||
###############################################################################
|
||||
# Default mime-types.conf for Gentoo.
|
||||
# include'd from lighttpd.conf.
|
||||
# $Id$
|
||||
###############################################################################
|
||||
|
||||
# {{{ mime types
|
||||
mimetype.assign = (
|
||||
".svg" => "image/svg+xml",
|
||||
".svgz" => "image/svg+xml",
|
||||
".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",
|
||||
".dmg" => "application/x-apple-diskimage",
|
||||
".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",
|
||||
".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",
|
||||
".h" => "text/plain",
|
||||
".cc" => "text/plain",
|
||||
".cpp" => "text/plain",
|
||||
".hh" => "text/plain",
|
||||
".hpp" => "text/plain",
|
||||
".conf" => "text/plain",
|
||||
".log" => "text/plain",
|
||||
".text" => "text/plain",
|
||||
".txt" => "text/plain",
|
||||
".diff" => "text/plain",
|
||||
".patch" => "text/plain",
|
||||
".ebuild" => "text/plain",
|
||||
".eclass" => "text/plain",
|
||||
".rtf" => "application/rtf",
|
||||
".bmp" => "image/bmp",
|
||||
".tif" => "image/tiff",
|
||||
".tiff" => "image/tiff",
|
||||
".ico" => "image/x-icon",
|
||||
".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"
|
||||
)
|
||||
# }}}
|
||||
|
||||
# vim: set ft=conf foldmethod=marker et :
|
|
@ -0,0 +1,33 @@
|
|||
###############################################################################
|
||||
# mod_cgi.conf
|
||||
# include'd by lighttpd.conf.
|
||||
# $Id$
|
||||
###############################################################################
|
||||
|
||||
#
|
||||
# see cgi.txt for more information on using mod_cgi
|
||||
#
|
||||
|
||||
server.modules += ("mod_cgi")
|
||||
|
||||
# NOTE: this requires mod_alias
|
||||
alias.url = (
|
||||
"/cgi-bin/" => var.basedir + "/cgi-bin/"
|
||||
)
|
||||
|
||||
#
|
||||
# Note that you'll also want to enable the
|
||||
# cgi-bin alias via mod_alias (above).
|
||||
#
|
||||
|
||||
$HTTP["url"] =~ "^/cgi-bin/" {
|
||||
# disable directory listings
|
||||
dir-listing.activate = "disable"
|
||||
# only allow cgi's in this directory
|
||||
cgi.assign = (
|
||||
".pl" => "/usr/bin/perl",
|
||||
".cgi" => "/usr/bin/perl"
|
||||
)
|
||||
}
|
||||
|
||||
# vim: set ft=conf foldmethod=marker et :
|
|
@ -0,0 +1,17 @@
|
|||
###############################################################################
|
||||
# mod_fastcgi.conf
|
||||
# include'd by lighttpd.conf.
|
||||
# $Id$
|
||||
###############################################################################
|
||||
|
||||
server.modules += ("mod_fastcgi")
|
||||
fastcgi.server = ( ".php" =>
|
||||
( "localhost" =>
|
||||
(
|
||||
"socket" => "/var/run/lighttpd/lighttpd-fastcgi-php-" + PID + ".socket",
|
||||
"bin-path" => "/usr/bin/php-cgi"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
# vim: set ft=conf foldmethod=marker et :
|
|
@ -0,0 +1,8 @@
|
|||
# /etc/conf.d/lighttpd
|
||||
|
||||
# Location of a shell used by the 'include_shell' directive
|
||||
# in the lighttpd's configuration file
|
||||
#export SHELL="/bin/bash"
|
||||
|
||||
# Location of the lighttpd configuration file
|
||||
LIGHTTPD_CONF="/etc/lighttpd/lighttpd.conf"
|
|
@ -0,0 +1,80 @@
|
|||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
extra_started_commands="reload graceful"
|
||||
|
||||
LIGHTTPD_PID="$($(which lighttpd) -pf ${LIGHTTPD_CONF} | grep pid | cut -d '=' -f 2 | tr -d \\\" | tr -d [:space:])"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use mysql logger spawn-fcgi ldap slapd netmount dns
|
||||
after famd
|
||||
after sshd
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if [ ! -f "${LIGHTTPD_CONF}" ] ; then
|
||||
ewarn "${LIGHTTPD_CONF} does not exist."
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ -z "${LIGHTTPD_PID}" ] ; then
|
||||
eerror "server.pid-file variable in ${LIGHTTPD_CONF}"
|
||||
eerror "is not set. Please set this variable properly"
|
||||
eerror "and try again"
|
||||
return 1
|
||||
fi
|
||||
/usr/sbin/lighttpd -t -f ${LIGHTTPD_CONF} >/dev/null
|
||||
}
|
||||
|
||||
start() {
|
||||
checkconfig || return 1
|
||||
# Glean lighttpd's credentials from the configuration file
|
||||
# Fixes bug 454366
|
||||
LIGHTTPD_USER="$(awk '/^server.username/{s=$3};{sub("\"","",s)};END{print s}' ${LIGHTTPD_CONF})"
|
||||
LIGHTTPD_GROUP="$(awk '/^server.groupname/{s=$3};{sub("\"","",s)};END{print s}' ${LIGHTTPD_CONF})"
|
||||
checkpath -d -q -m 0750 -o "${LIGHTTPD_USER}":"${LIGHTTPD_GROUP}" /run/lighttpd/
|
||||
|
||||
ebegin "Starting lighttpd"
|
||||
start-stop-daemon --start --quiet --exec /usr/sbin/lighttpd \
|
||||
--pidfile "${LIGHTTPD_PID}" -- -f "${LIGHTTPD_CONF}"
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
local rv=0
|
||||
ebegin "Stopping lighttpd"
|
||||
start-stop-daemon --stop --quiet --pidfile "${LIGHTTPD_PID}"
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
if ! service_started "${SVCNAME}" ; then
|
||||
eerror "${SVCNAME} isn't running"
|
||||
return 1
|
||||
fi
|
||||
checkconfig || return 1
|
||||
|
||||
ebegin "Re-opening lighttpd log files"
|
||||
start-stop-daemon --quiet --pidfile "${LIGHTTPD_PID}" \
|
||||
--signal HUP
|
||||
eend $?
|
||||
}
|
||||
|
||||
graceful() {
|
||||
if ! service_started "${SVCNAME}" ; then
|
||||
eerror "${SVCNAME} isn't running"
|
||||
return 1
|
||||
fi
|
||||
checkconfig || return 1
|
||||
|
||||
ebegin "Gracefully stopping lighttpd"
|
||||
start-stop-daemon --quiet --pidfile "${LIGHTTPD_PID}" \
|
||||
--signal INT
|
||||
if eend $? ; then
|
||||
rm -f "${LIGHTTPD_PID}"
|
||||
start
|
||||
fi
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
# $Id$
|
||||
# lighttpd logrotate script for Gentoo
|
||||
|
||||
/var/log/lighttpd/*.log {
|
||||
daily
|
||||
missingok
|
||||
copytruncate
|
||||
rotate 7
|
||||
compress
|
||||
notifempty
|
||||
sharedscripts
|
||||
postrotate
|
||||
test -e /run/openrc/softlevel && /etc/init.d/lighttpd reload 1>/dev/null || true
|
||||
test -e /run/systemd/system && systemctl reload lighttpd.service || true
|
||||
endscript
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
[Unit]
|
||||
Description=Lightning Fast Webserver With Light System Requirements
|
||||
After=syslog.target network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1 @@
|
|||
d /var/run/lighttpd 0750 lighttpd lighttpd -
|
|
@ -0,0 +1,217 @@
|
|||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
inherit base autotools eutils readme.gentoo user systemd
|
||||
|
||||
DESCRIPTION="Lightweight high-performance web server"
|
||||
HOMEPAGE="http://www.lighttpd.net/"
|
||||
SRC_URI="http://download.lighttpd.net/lighttpd/releases-1.4.x/${P}.tar.xz"
|
||||
|
||||
LICENSE="BSD GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
|
||||
IUSE="bzip2 doc fam gdbm ipv6 kerberos ldap libev libressl lua minimal mmap memcache mysql pcre php rrdtool selinux ssl test webdav xattr zlib"
|
||||
|
||||
REQUIRED_USE="kerberos? ( ssl !libressl )"
|
||||
|
||||
CDEPEND="
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
fam? ( virtual/fam )
|
||||
gdbm? ( sys-libs/gdbm )
|
||||
ldap? ( >=net-nds/openldap-2.1.26 )
|
||||
libev? ( >=dev-libs/libev-4.01 )
|
||||
lua? ( >=dev-lang/lua-5.1:= )
|
||||
memcache? ( dev-libs/libmemcache )
|
||||
mysql? ( >=virtual/mysql-4.0 )
|
||||
pcre? ( >=dev-libs/libpcre-3.1 )
|
||||
php? ( dev-lang/php:*[cgi] )
|
||||
rrdtool? ( net-analyzer/rrdtool )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.7:0=[kerberos?] )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
webdav? (
|
||||
dev-libs/libxml2
|
||||
>=dev-db/sqlite-3
|
||||
sys-fs/e2fsprogs
|
||||
)
|
||||
xattr? ( kernel_linux? ( sys-apps/attr ) )
|
||||
zlib? ( >=sys-libs/zlib-1.1 )"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
virtual/pkgconfig
|
||||
doc? ( dev-python/docutils )
|
||||
test? (
|
||||
virtual/perl-Test-Harness
|
||||
dev-libs/fcgi
|
||||
)"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-apache )
|
||||
"
|
||||
|
||||
# update certain parts of lighttpd.conf based on conditionals
|
||||
update_config() {
|
||||
local config="${D}/etc/lighttpd/lighttpd.conf"
|
||||
|
||||
# enable php/mod_fastcgi settings
|
||||
use php && { sed -i -e 's|#.*\(include.*fastcgi.*$\)|\1|' ${config} || die; }
|
||||
|
||||
# enable stat() caching
|
||||
use fam && { sed -i -e 's|#\(.*stat-cache.*$\)|\1|' ${config} || die; }
|
||||
|
||||
# automatically listen on IPv6 if built with USE=ipv6. Bug #234987
|
||||
use ipv6 && { sed -i -e 's|# server.use-ipv6|server.use-ipv6|' ${config} || die; }
|
||||
}
|
||||
|
||||
# remove non-essential stuff (for USE=minimal)
|
||||
remove_non_essential() {
|
||||
local libdir="${D}/usr/$(get_libdir)/${PN}"
|
||||
|
||||
# text docs
|
||||
use doc || rm -fr "${D}"/usr/share/doc/${PF}/txt
|
||||
|
||||
# non-essential modules
|
||||
rm -f \
|
||||
${libdir}/mod_{compress,evhost,expire,proxy,scgi,secdownload,simple_vhost,status,setenv,trigger*,usertrack}.*
|
||||
|
||||
# allow users to keep some based on USE flags
|
||||
use pcre || rm -f ${libdir}/mod_{ssi,re{direct,write}}.*
|
||||
use webdav || rm -f ${libdir}/mod_webdav.*
|
||||
use mysql || rm -f ${libdir}/mod_mysql_vhost.*
|
||||
use lua || rm -f ${libdir}/mod_{cml,magnet}.*
|
||||
use rrdtool || rm -f ${libdir}/mod_rrdtool.*
|
||||
use zlib || rm -f ${libdir}/mod_compress.*
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if ! use pcre ; then
|
||||
ewarn "It is highly recommended that you build ${PN}"
|
||||
ewarn "with perl regular expressions support via USE=pcre."
|
||||
ewarn "Otherwise you lose support for some core options such"
|
||||
ewarn "as conditionals and modules such as mod_re{write,direct}"
|
||||
ewarn "and mod_ssi."
|
||||
fi
|
||||
if use mmap; then
|
||||
ewarn "You have enabled the mmap option. This option may allow"
|
||||
ewarn "local users to trigger SIGBUG crashes. Use this option"
|
||||
ewarn "with EXTRA care."
|
||||
fi
|
||||
enewgroup lighttpd
|
||||
enewuser lighttpd -1 -1 /var/www/localhost/htdocs lighttpd
|
||||
|
||||
DOC_CONTENTS="IPv6 migration guide:\n
|
||||
http://redmine.lighttpd.net/projects/lighttpd/wiki/IPv6-Config"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
base_src_prepare
|
||||
#dev-python/docutils installs rst2html.py not rst2html
|
||||
sed -i -e 's|\(rst2html\)|\1.py|g' doc/outdated/Makefile.am || \
|
||||
die "sed doc/Makefile.am failed"
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf --libdir=/usr/$(get_libdir)/${PN} \
|
||||
--enable-lfs \
|
||||
$(use_enable ipv6) \
|
||||
$(use_enable mmap) \
|
||||
$(use_with bzip2) \
|
||||
$(use_with fam) \
|
||||
$(use_with gdbm) \
|
||||
$(use_with kerberos kerberos5) \
|
||||
$(use_with ldap) \
|
||||
$(use_with libev) \
|
||||
$(use_with lua) \
|
||||
$(use_with memcache) \
|
||||
$(use_with mysql) \
|
||||
$(use_with pcre) \
|
||||
$(use_with ssl openssl) \
|
||||
$(use_with webdav webdav-props) \
|
||||
$(use_with webdav webdav-locks) \
|
||||
$(use_with xattr attr) \
|
||||
$(use_with zlib)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
|
||||
if use doc ; then
|
||||
einfo "Building HTML documentation"
|
||||
cd doc || die
|
||||
emake html
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
default_src_test
|
||||
else
|
||||
ewarn "test skipped, please re-run as root if you wish to test ${PN}"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# init script stuff
|
||||
newinitd "${FILESDIR}"/lighttpd.initd lighttpd
|
||||
newconfd "${FILESDIR}"/lighttpd.confd lighttpd
|
||||
use fam && has_version app-admin/fam && \
|
||||
{ sed -i 's/after famd/need famd/g' "${D}"/etc/init.d/lighttpd || die; }
|
||||
|
||||
# configs
|
||||
insinto /etc/lighttpd
|
||||
doins "${FILESDIR}"/conf/lighttpd.conf
|
||||
doins "${FILESDIR}"/conf/mime-types.conf
|
||||
doins "${FILESDIR}"/conf/mod_cgi.conf
|
||||
doins "${FILESDIR}"/conf/mod_fastcgi.conf
|
||||
|
||||
# update lighttpd.conf directives based on conditionals
|
||||
update_config
|
||||
|
||||
# docs
|
||||
dodoc AUTHORS README NEWS doc/scripts/*.sh
|
||||
newdoc doc/config//lighttpd.conf lighttpd.conf.distrib
|
||||
use ipv6 && readme.gentoo_create_doc
|
||||
|
||||
use doc && dohtml -r doc/*
|
||||
|
||||
docinto txt
|
||||
dodoc doc/outdated/*.txt
|
||||
|
||||
# logrotate
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}"/lighttpd.logrotate-r1 lighttpd
|
||||
|
||||
keepdir /var/l{ib,og}/lighttpd /var/www/localhost/htdocs
|
||||
fowners lighttpd:lighttpd /var/l{ib,og}/lighttpd
|
||||
fperms 0750 /var/l{ib,og}/lighttpd
|
||||
|
||||
#spawn-fcgi may optionally be installed via www-servers/spawn-fcgi
|
||||
rm -f "${D}"/usr/bin/spawn-fcgi "${D}"/usr/share/man/man1/spawn-fcgi.*
|
||||
|
||||
use minimal && remove_non_essential
|
||||
|
||||
systemd_dounit "${FILESDIR}/${PN}.service"
|
||||
systemd_dotmpfilesd "${FILESDIR}/${PN}.tmpfiles.conf"
|
||||
}
|
||||
|
||||
pkg_postinst () {
|
||||
use ipv6 && readme.gentoo_print_elog
|
||||
|
||||
if [[ -f ${ROOT}etc/conf.d/spawn-fcgi.conf ]] ; then
|
||||
einfo "spawn-fcgi is now provided by www-servers/spawn-fcgi."
|
||||
einfo "spawn-fcgi's init script configuration is now located"
|
||||
einfo "at /etc/conf.d/spawn-fcgi."
|
||||
fi
|
||||
|
||||
if [[ -f ${ROOT}etc/lighttpd.conf ]] ; then
|
||||
elog "Gentoo has a customized configuration,"
|
||||
elog "which is now located in /etc/lighttpd. Please migrate your"
|
||||
elog "existing configuration."
|
||||
fi
|
||||
}
|
Loading…
Reference in New Issue