diff options
author | mnag <mnag@FreeBSD.org> | 2007-03-26 11:31:58 +0800 |
---|---|---|
committer | mnag <mnag@FreeBSD.org> | 2007-03-26 11:31:58 +0800 |
commit | c2daa3394649b99ac42877bec47cf8c475e3a604 (patch) | |
tree | 262daf8498b495fca5e61ab14298df36e9a42971 /www | |
parent | 76821804d14a336d8afb7de01f910144480afb54 (diff) | |
download | freebsd-ports-gnome-c2daa3394649b99ac42877bec47cf8c475e3a604.tar.gz freebsd-ports-gnome-c2daa3394649b99ac42877bec47cf8c475e3a604.tar.zst freebsd-ports-gnome-c2daa3394649b99ac42877bec47cf8c475e3a604.zip |
- Add WEBDAV support [1]
- Add workaround to enable IPV6 in lighttpd.conf [2]
- Add support to graceful restart [3]
PR: 107599 [1], 110371 [2], 110683 [3]
Submitted by: Dazza<dazza___luckydonkey.com> [1],
Joseph Terner<jtsn___gmx.de> [2],
Peter Beckman <beckman___purplecow.com> [3]
Diffstat (limited to 'www')
-rw-r--r-- | www/lighttpd/Makefile | 32 | ||||
-rw-r--r-- | www/lighttpd/files/lighttpd.conf.sample | 322 | ||||
-rw-r--r-- | www/lighttpd/files/lighttpd.sh.in | 16 |
3 files changed, 43 insertions, 327 deletions
diff --git a/www/lighttpd/Makefile b/www/lighttpd/Makefile index f68d009200c4..385c8fa997f0 100644 --- a/www/lighttpd/Makefile +++ b/www/lighttpd/Makefile @@ -40,7 +40,8 @@ OPTIONS= BZIP2 "Enable Bzip2 support" off \ MYSQL "Enable MYSQL support" off \ OPENLDAP "Enable LDAP support" off \ OPENSSL "Enable SSL support" on \ - VALGRIND "Enable valgrind support" off + VALGRIND "Enable valgrind support" off \ + WEBDAV "Enable WebDAV support" off .include <bsd.port.pre.mk> @@ -108,16 +109,37 @@ RUN_DEPENDS+= valgrind:${PORTSDIR}/devel/valgrind CONFIGURE_ARGS+= --with-valgrind .endif +.if defined(WITH_WEBDAV) +USE_GNOME+= libxml2 +LIB_DEPENDS+= uuid.1:${PORTSDIR}/misc/e2fsprogs-libuuid \ + sqlite3.8:${PORTSDIR}/databases/sqlite3 +CONFIGURE_ARGS+= --with-webdav-props --with-webdav-locks +.endif + SUB_LIST+= REQUIRE="${_REQUIRE}" post-patch: - @${REINPLACE_CMD} -e 's|-D_XOPEN_SOURCE=600||' -e 's|-std=gnu99||' \ - ${WRKSRC}/configure.in + @${REINPLACE_CMD} -e 's|-std=gnu99||' ${WRKSRC}/configure.in + @${REINPLACE_CMD} -E -e 's|(server.document-root.*=).*|\1 "${PREFIX}/www/data/"|' \ + -e 's|(server.errorlog.*=).*|\1 "/var/log/lighttpd.error.log"|' \ + -e 's|# server.event-handler|server.event-handler|' \ + -e 's|(accesslog.filename.*=).*|\1 "/var/log/lighttpd.access.log"|' \ + -e 's|#server.pid-file|server.pid-file|' \ + -e 's|#server.username.*|server.username = "www"|' \ + -e 's|#server.groupname.*|server.groupname = "www"|' \ + -e 's|/usr/local/bin/php|${PREFIX}/bin/php-cgi|' \ + ${WRKSRC}/doc/lighttpd.conf +.if !defined(WITHOUT_IPV6) + @${ECHO} "" >> ${WRKSRC}/doc/lighttpd.conf + @${ECHO} "# Enable IPV6 and IPV4 together" >> ${WRKSRC}/doc/lighttpd.conf + @${ECHO} "server.use-ipv6 = \"enable\"" >> ${WRKSRC}/doc/lighttpd.conf + @${ECHO} "\$$SERVER[\"socket\"] == \"0.0.0.0:80\" { }" >> ${WRKSRC}/doc/lighttpd.conf +.endif post-install: - @${INSTALL_DATA} ${FILESDIR}/lighttpd.conf.sample ${PREFIX}/etc + @${INSTALL_DATA} ${WRKSRC}/doc/lighttpd.conf ${PREFIX}/etc/lighttpd.conf.sample .if !exists(${PREFIX}/etc/lighttpd.conf) - @${INSTALL_DATA} ${FILESDIR}/lighttpd.conf.sample ${PREFIX}/etc/lighttpd.conf + @${INSTALL_DATA} ${WRKSRC}/doc/lighttpd.conf ${PREFIX}/etc/lighttpd.conf .endif @${LIBTOOL} --finish ${PREFIX}/lib diff --git a/www/lighttpd/files/lighttpd.conf.sample b/www/lighttpd/files/lighttpd.conf.sample deleted file mode 100644 index 625ac8809127..000000000000 --- a/www/lighttpd/files/lighttpd.conf.sample +++ /dev/null @@ -1,322 +0,0 @@ -# lighttpd configuration file -# -# use it as a base for lighttpd 1.0.0 and above -# -# $Id: lighttpd.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $ - -############ Options you really have to take care of #################### - -## modules to load -# at least mod_access and mod_accesslog should be loaded -# all other module should only be loaded if really neccesary -# - saves some time -# - saves memory -server.modules = ( -# "mod_rewrite", -# "mod_redirect", -# "mod_alias", - "mod_access", -# "mod_cml", -# "mod_trigger_b4_dl", -# "mod_auth", -# "mod_status", -# "mod_setenv", -# "mod_fastcgi", -# "mod_proxy", -# "mod_simple_vhost", -# "mod_evhost", -# "mod_userdir", -# "mod_cgi", -# "mod_compress", -# "mod_ssi", -# "mod_usertrack", -# "mod_expire", -# "mod_secdownload", -# "mod_rrdtool", - "mod_accesslog" ) - -## a static document-root, for virtual-hosting take look at the -## server.virtual-* options -server.document-root = "/usr/local/www/data/" - -## where to send error-messages to -server.errorlog = "/var/log/lighttpd.error.log" - -# files to check for if .../ is requested -index-file.names = ( "index.php", "index.html", - "index.htm", "default.htm" ) - -## set the event-handler (read the performance section in the manual) -server.event-handler = "freebsd-kqueue" # needed on OS X - -# mimetype mapping -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", - ".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" - ) - -# Use the "Content-Type" extended attribute to obtain mime type if possible -#mimetype.use-xattr = "enable" - - -## send a different Server: header -## be nice and keep it at lighttpd -# server.tag = "lighttpd" - -#### accesslog module -accesslog.filename = "/var/log/lighttpd.access.log" - -## deny access the file-extensions -# -# ~ is for backupfiles from vi, emacs, joe, ... -# .inc is often used for code includes which should in general not be part -# of the document-root -url.access-deny = ( "~", ".inc" ) - -$HTTP["url"] =~ "\.pdf$" { - server.range-requests = "disable" -} - -## -# which extensions should not be handle via static-file transfer -# -# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi -static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) - -######### Options that are good to be but not neccesary to be changed ####### - -## bind to port (default: 80) -#server.port = 81 - -## bind to localhost (default: 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" - -## to help the rc.scripts -server.pid-file = "/var/run/lighttpd.pid" - - -###### virtual hosts -## -## 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/" - - -## -## Format: <errorfile-prefix><status-code>.html -## -> ..../status-404.html for 'File not found' -#server.errorfile-prefix = "/home/weigon/projects/lighttpd/doc/status-" - -## virtual directory listings -#dir-listing.activate = "enable" - -## enable debugging -#debug.log-request-header = "enable" -#debug.log-response-header = "enable" -#debug.log-request-handling = "enable" -#debug.log-file-not-found = "enable" - -### only root can use these options -# -# chroot() to directory (default: no chroot() ) -#server.chroot = "/" - -## change uid to <uid> (default: don't care) -server.username = "www" - -## change uid to <uid> (default: don't care) -server.groupname = "www" - -#### compress module -#compress.cache-dir = "/tmp/lighttpd/cache/compress/" -#compress.filetype = ("text/plain", "text/html") - -#### proxy module -## read proxy.txt for more info -#proxy.server = ( ".php" => -# ( "localhost" => -# ( -# "host" => "192.168.0.101", -# "port" => 80 -# ) -# ) -# ) - -#### fastcgi module -## read fastcgi.txt for more info -## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini -#fastcgi.server = ( ".php" => -# ( "localhost" => -# ( -# "socket" => "/tmp/php-fastcgi.socket", -# "bin-path" => "/usr/local/bin/php-cgi" -# ) -# ) -# ) - -#### CGI module -#cgi.assign = ( ".pl" => "/usr/bin/perl", -# ".cgi" => "/usr/bin/perl" ) -# - -#### SSL engine -#ssl.engine = "enable" -#ssl.pemfile = "server.pem" - -#### status module -#status.status-url = "/server-status" -#status.config-url = "/server-config" - -#### auth module -## read authentication.txt for more info -#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-config" => -# ( -# "method" => "digest", -# "realm" => "download archiv", -# "require" => "valid-user" -# ) -# ) - -#### url handling modules (rewrite, redirect, access) -#url.rewrite = ( "^/$" => "/server-status" ) -#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" ) -#### both rewrite/redirect support back reference to regex conditional using %n -#$HTTP["host"] =~ "^www\.(.*)" { -# url.redirect = ( "^/(.*)" => "http://%1/$1" ) -#} - -# -# 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/" - -#### expire module -#expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes") - -#### ssi -#ssi.extension = ( ".shtml" ) - -#### rrdtool -#rrdtool.binary = "/usr/bin/rrdtool" -#rrdtool.db-name = "/var/www/lighttpd.rrd" - -#### setenv -#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" ) -#setenv.add-response-header = ( "X-Secret-Message" => "42" ) - -## for mod_trigger_b4_dl -# 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 - -## for mod_cml -## don't forget to add index.cml to server.indexfiles -# cml.extension = ".cml" -# cml.memcache-hosts = ( "127.0.0.1:11211" ) - -#### variable usage: -## variable name without "." is auto prefixed by "var." and becomes "var.bar" -#bar = 1 -#var.mystring = "foo" - -## integer add -#bar += 1 -## string concat, with integer cast as string, result: "www.foo1.com" -#server.name = "www." + mystring + var.bar + ".com" -## array merge -#index-file.names = (foo + ".php") + index-file.names -#index-file.names += (foo + ".php") - -#### include -#include /etc/lighttpd/lighttpd-inc.conf -## same as above if you run: "lighttpd -f /etc/lighttpd/lighttpd.conf" -#include "lighttpd-inc.conf" - -#### include_shell -#include_shell "echo var.a=1" -## the above is same as: -#var.a=1 diff --git a/www/lighttpd/files/lighttpd.sh.in b/www/lighttpd/files/lighttpd.sh.in index 4cb5cb758954..3bf514b0b44b 100644 --- a/www/lighttpd/files/lighttpd.sh.in +++ b/www/lighttpd/files/lighttpd.sh.in @@ -30,6 +30,11 @@ pidfile=/var/run/lighttpd.pid required_files=${lighttpd_conf} stop_postcmd=stop_postcmd restart_precmd="checkconfig" +reload_precmd=reload_precmd +reload_postcmd=reload_postcmd +sig_reload="-INT" +check_cmd="checkconfig" +extra_commands="reload check" checkconfig() { @@ -42,4 +47,15 @@ stop_postcmd() rm -f ${pidfile} } +reload_precmd() +{ + echo "Stoping ${name} and start gracefully." +} + +reload_postcmd() +{ + rm -f ${pidfile} + run_rc_command start +} + run_rc_command "$1" |