diff options
Diffstat (limited to 'abs/mv-core/lighttpd')
-rwxr-xr-x | abs/mv-core/lighttpd/PKGBUILD | 49 | ||||
-rw-r--r-- | abs/mv-core/lighttpd/index.html | 15 | ||||
-rwxr-xr-x | abs/mv-core/lighttpd/lighttpd.conf | 369 | ||||
-rw-r--r-- | abs/mv-core/lighttpd/lighttpd.conf.d | 10 | ||||
-rw-r--r-- | abs/mv-core/lighttpd/lighttpd.install | 80 | ||||
-rw-r--r-- | abs/mv-core/lighttpd/lighttpd.logrotate.d | 8 | ||||
-rw-r--r-- | abs/mv-core/lighttpd/lighttpd.rc.d | 39 | ||||
-rw-r--r-- | abs/mv-core/lighttpd/spawn-php.conf.d | 33 | ||||
-rwxr-xr-x | abs/mv-core/lighttpd/spawn-php.rc.d | 67 | ||||
-rw-r--r-- | abs/mv-core/lighttpd/ssl_fix.diff | 10 | ||||
-rw-r--r-- | abs/mv-core/lighttpd/tweakconf.vim | 22 |
11 files changed, 702 insertions, 0 deletions
diff --git a/abs/mv-core/lighttpd/PKGBUILD b/abs/mv-core/lighttpd/PKGBUILD new file mode 100755 index 0000000..1f2d7df --- /dev/null +++ b/abs/mv-core/lighttpd/PKGBUILD @@ -0,0 +1,49 @@ +pkgname=lighttpd +pkgver=1.4.19 +pkgrel=25 +pkgdesc="lighttpd is a secure, fast, compliant and very flexible web-server" +arch=(i686 x86_64) +url="http://www.lighttpd.net/" +depends=('pcre' 'openssl' 'zlib' 'bzip2' 'attr') +makedepends=('fcgi' 'libmysqlclient' 'lua' 'gdbm' \ + 'libxml2' 'vim' 'pkgconfig' 'sqlite3') +backup=('etc/lighttpd/lighttpd.conf' 'etc/logrotate.d/lighttpd' \ + 'etc/conf.d/lighttpd' 'etc/conf.d/spawn-php' \ + 'home/lighttpd/html/index.html') +options=('!libtool') +install=$pkgname.install +source=(http://www.lighttpd.net/download/$pkgname-$pkgver.tar.gz \ + index.html $pkgname.rc.d $pkgname.conf.d $pkgname.logrotate.d \ + spawn-php.rc.d spawn-php.conf.d tweakconf.vim lighttpd.conf) +md5sums=('8f6756452138f5da384251f849b329f2' '85593eb67b928fec79b1efb3fa3cce84'\ + '6d05e499e47425e99bf809c88bd4969d' '14565fa5d30c60941190ceb32b1b551f'\ + 'a8c31344b90328c5b751d965d79c5047' 'df940132363030eafcf7009a5322048f'\ + '1ba657b113b7e473fb301631a7e2e1a4' 'e799c48f7cee46db089f90030cec935a') + +build() { + cd $startdir/src/$pkgname-$pkgver + ./configure --prefix=/usr --libdir=/usr/lib/lighttpd \ + --with-gdbm --with-lua --with-memcache \ + --with-openssl=/usr/include/openssl \ + --with-mysql=/usr/bin/mysql_config \ + --with-webdav-props --with-attr \ + --without-fam + make || return 1 + make DESTDIR=$startdir/pkg install || return 1 + + # install configuration scripts and daemons + #install -Dm644 ../index.html $startdir/pkg/data/srv/httpd/htdocs/index.html + install -Dm755 ../lighttpd.rc.d $startdir/pkg/etc/rc.d/lighttpd + install -Dm644 ../lighttpd.conf.d $startdir/pkg/etc/conf.d/lighttpd + install -Dm644 ../lighttpd.logrotate.d $startdir/pkg/etc/logrotate.d/lighttpd + install -Dm755 ../spawn-php.rc.d $startdir/pkg/etc/rc.d/spawn-php + install -Dm644 ../spawn-php.conf.d $startdir/pkg/etc/conf.d/spawn-php + + # show some mercy on docfiles +# mkdir -p $startdir/pkg/usr/share/lighttpd +# install -m644 doc/*.txt $startdir/pkg/usr/share/lighttpd + + install -Dm644 doc/lighttpd.conf $startdir/pkg/etc/lighttpd/lighttpd.conf + ex $startdir/pkg/etc/lighttpd/lighttpd.conf < $startdir/src/tweakconf.vim + install -Dm644 $startdir/src/lighttpd.conf $startdir/pkg/etc/lighttpd/lighttpd.conf +} diff --git a/abs/mv-core/lighttpd/index.html b/abs/mv-core/lighttpd/index.html new file mode 100644 index 0000000..22ea5d1 --- /dev/null +++ b/abs/mv-core/lighttpd/index.html @@ -0,0 +1,15 @@ +<html> +<head><title>lighttpd Test Page</title></head> + +<body> + <div style="text-align:center; font: 12px sans-serif;"> + <span style="font-weight: bold; font-size: 20px;"> + Arch Linux + </span> + <br><br> + This is a test page for the lighttpd Web Server.<br> + </div> +</body> + +</html> + diff --git a/abs/mv-core/lighttpd/lighttpd.conf b/abs/mv-core/lighttpd/lighttpd.conf new file mode 100755 index 0000000..45fccf6 --- /dev/null +++ b/abs/mv-core/lighttpd/lighttpd.conf @@ -0,0 +1,369 @@ +# lighttpd configuration file +# +# use a it as base for lighttpd 1.0.0 and above +# +# i'm th enew file + +############ 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 = "/data/srv/httpd/htdocs" + +## where to send error-messages to +#server.errorlog = "/var/log/lighttpd/error.log" +server.errorlog-use-syslog = "enable" +#do not log images +$HTTP["url"] !~ "\.(jpe?g|png|gif|css)" { accesslog.use-syslog = "enable" } + + + + +# files to check for if .../ is requested +index-file.names = ( "index.php", "index.html", + "index.htm", "default.htm","mythweb.php") + +# 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", + ".nuv" => "video/nuppelvideo" + ) + + +# 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" +} + +######### Options that are good to be but not neccesary to be changed ####### + +## bind to port (default: 80) +#server.port = 80 + +## bind to localhost (default: all interfaces) +#server.bind = "grisu.home.kneschke.de" + +#custom handlers for mythweb and phpmyadmin +$HTTP["url"] =~ "(mythweb)" { +server.error-handler-404 = "/error/mythweb.html" +} + +$HTTP["url"] =~ "(phpMyAdmin)" { +server.error-handler-404 = "/error/phpadmin.html" +} + +$HTTP["url"] =~ "(hobbit)" { +server.error-handler-404 = "/error/hobbit.html" +} + +## error-handler for status 404 +server.error-handler-404 = "/error-handler.html" +server.errorfile-prefix = "/data/srv/httpd/htdocs/error/status-" +#server.error-handler-404 = "/error-handler.php" + +## to help the rc.scripts +server.pid-file = "/var/run/lighttpd.pid" + +alias.url = ( "/logs/" => "/var/log/" ) + + +$HTTP["url"] =~ "^/logs($|/)" { +dir-listing.activate= "enable" +dir-listing.hide-dotfiles = "enable" +dir-listing.external-css = "/frame.css" +} + + + + +###### 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/lighttpd/vhosts/" +#simple-vhost.default-host = "lighttpd.localhost" +#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 +#server.dir-listing = "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 = "nobody" + +## change uid to <uid> (default: don't care) +server.groupname = "nobody" + +#### compress module +#compress.cache-dir = "/home/lighttpd/cache/" +#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 +fastcgi.server = ( ".php" => + ( "localhost" => + ( + "socket" => "/tmp/php-fastcgi.socket", + "bin-path" => "/usr/bin/php-cgi", + "min-procs" => 0, + "max-procs" => 1, + "max-load-per-proc" => 1, + "idle-timeout" => 10, + # Fix PATH_INFO for PHP scripts that rely on it (like Wordpress). + "broken-scriptfilename" => "enable" + ) + ) +) + + +#the rewrite rule for mythweb + + url.rewrite = ( + "^/mythweb(/tv.*|/music.*|/stats.*|/remote.*|/video.*|/weather.*|/settings.*|/status.*|/backend_log.*)$" => "mythweb/mythweb.php/$1" + ) + + +#### CGI module +cgi.assign = ( ".pl" => "/usr/bin/perl", + ".sh" => "/bin/bash" , + ".py" => "/usr/bin/python" , + ".cgi" => "/bin/bash" ) + + + +#### SSL engine +#$SERVER["socket"] == "0.0.0.0:443" { +# ssl.engine = "enable" +# ssl.pemfile = "/home/lighttpd/ssl/server.pem" +# server.errorlog = "/var/log/lighttpd/error-ssl.log" +# accesslog.filename = "/var/log/lighttpd/access-ssl.log" +# server.document-root = "/home/lighttpd/html-ssl" +#} + + +$SERVER["socket"] == ":1337" { + server.document-root = "/data/srv/httpd/cgi/" + alias.url = ( "/templates/" => "/data/home/mythtv/templates/" ) + +} + + +#### 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-info" => +# ( +# "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" ) + +# +# 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/abs/mv-core/lighttpd/lighttpd.conf.d b/abs/mv-core/lighttpd/lighttpd.conf.d new file mode 100644 index 0000000..5321598 --- /dev/null +++ b/abs/mv-core/lighttpd/lighttpd.conf.d @@ -0,0 +1,10 @@ +DAEMON_NAME="lighttpd" +DAEMON_CONF="/etc/lighttpd/lighttpd.conf" +DAEMON_PATH="/usr/sbin/lighttpd" + # this greps the error-log which is set in the lighttpd.conf + # override it by setting it to a fix path +DAEMON_ERRLOG=`sed -n \ + -e '/server\.errorlog/p' ${DAEMON_CONF} \ + | sed -e '/^ *#.*/d' \ + | sed -e 's/^.*"\(.*\)".*$/\1/'` +# DAEMON_ERRLOG="/var/log/lighttpd/error.log" diff --git a/abs/mv-core/lighttpd/lighttpd.install b/abs/mv-core/lighttpd/lighttpd.install new file mode 100644 index 0000000..1055e4b --- /dev/null +++ b/abs/mv-core/lighttpd/lighttpd.install @@ -0,0 +1,80 @@ +post_install() { + # set post_install message + /bin/cat << EOM + + --> This release marks a minor (NOT micro!) version change and is not 100% + --> compatible with former versions. Have a look at the new lighttpd.conf, + --> there are some changes in the index files syntax and nested conditions + --> are possible by now. Also please read the documentation in + --> /usr/share/lighttpd or on lighttpds's hompage: http://lighttpd.org + + --> for the following OPTIONAL modules (when choosen from lighttpd.conf) + --> you will need the following dependencies: + mod_webdav : libxml2, sqlite3 + mod_cml: libmemcache, lua + mod_trigger_b4_dl: libmemcache, gdbm + mod_auth.so: libldap + mod_mysql_vhost: libmysqlclient + +EOM + + # import daemon configuration file to detect lighttpd.conf location + [ -f /etc/conf.d/lighttpd ] && . /etc/conf.d/lighttpd + # some automagic dealing with the users preferences as marked in + # /etc/lighttpd/lighttpd.conf + # a simple conf-file parser to isolate the user, logfiles etc. + FILES=`sed -n -e '/accesslog\.filename/p;/server\.errorlog/p' \ + ${DAEMON_CONF} \ + | sed -e 's/^.*"\(.*\)".*$/\1/'` + DAEMON_USER=`sed -n -e '/server\.username/p' ${DAEMON_CONF} \ + | sed -e 's/^.*"\(.*\)".*$/\1/'` + DAEMON_GROUP=`sed -n -e '/server\.groupname/p' ${DAEMON_CONF} \ + | sed -e 's/^.*"\(.*\)".*$/\1/'` + DIRECTORIES=`sed -n -e '/\.cache-dir/p;/\.server-root/p' ${DAEMON_CONF} \ + | sed -e 's/^.*"\(.*\)".*$/\1/'` + DOCROOTDIRS=`sed -n -e '/server.\document-root/p' ${DAEMON_CONF} \ + | sed -e 's/^.*"\(.*\)".*$/\1/'` + CHROOT=`sed -n -e '/server\.chroot/p' ${DAEMON_CONF} \ + | sed -e '/^ *#.*$/d' \ + | sed -e 's/^.*"\(.*\)".*$/\1/'` + + touch /tmp/empty + # make sure logfiles exist + for FILE in $FILES; do + [ ! -f ${CHROOT}${FILE} ] && \ + install -Dm644 -o $DAEMON_USER -g $DAEMON_GROUP /tmp/empty ${CHROOT}${FILE} && \ + echo 'Creating file ' ${CHROOT}${FILE} + done + # make sure the lighttpd.user owns the cache dirs and vhost-root ... + for DIR in $DIRECTORIES; do + [ ! -d ${CHROOT}${DIR} ] && \ + install -dm755 -o $DAEMON_USER -g $DAEMON_GROUP ${CHROOT}${DIR} && \ + echo "Creating directory ${CHROOT}${DIR}" && \ + chown $DAEMON_USER:$DAEMON_GROUP ${CHROOT}${DIR} + done + # ... and the document roots + for DIR in $DOCROOTDIRS; do + [ ! -d ${CHROOT}${DIR} ] && \ + install -dm755 -o $DAEMON_USER -g $DAEMON_GROUP ${CHROOT}${DIR} && \ + echo "Creating directory ${CHROOT}${DIR}" + chown -R $DAEMON_USER:$DAEMON_GROUP ${CHROOT}${DIR} + done + rm -f /tmp/empty +} + +post_upgrade() { + cp /etc/lighttpd/lighttpd.conf /etc/lighttpd/lighttpd.conf.old + cp /etc/lighttpd/lighttpd.conf.pacnew /etc/lighttpd/lighttpd.conf + if [ -f /usr/bin/php ] +then + cp /etc/lighttpd/lighttpd.conf /tmp + sed -e "s/# .* \"mod_fastcgi\",/\"mod_fastcgi\"\,/g" /tmp/lighttpd.conf > /etc/lighttpd/lighttpd.conf + +fi + post_install $1 +} + +op=$1 +shift +$op $* +# vim: ft=sh ts=2 diff --git a/abs/mv-core/lighttpd/lighttpd.logrotate.d b/abs/mv-core/lighttpd/lighttpd.logrotate.d new file mode 100644 index 0000000..f31cb79 --- /dev/null +++ b/abs/mv-core/lighttpd/lighttpd.logrotate.d @@ -0,0 +1,8 @@ +/var/log/lighttpd/*log { + create 644 nobody nobody + compress + postrotate + /bin/kill -HUP `cat /var/run/lighttpd.pid 2>/dev/null` 2> /dev/null || true + endscript +} + diff --git a/abs/mv-core/lighttpd/lighttpd.rc.d b/abs/mv-core/lighttpd/lighttpd.rc.d new file mode 100644 index 0000000..245ac0a --- /dev/null +++ b/abs/mv-core/lighttpd/lighttpd.rc.d @@ -0,0 +1,39 @@ +#!/bin/bash + +# source application-specific settings +[ -f /etc/conf.d/lighttpd ] && . /etc/conf.d/lighttpd + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID ${DAEMON_NAME}` +case "$1" in + start) + stat_busy "Starting ${DAEMON_NAME}" + [ -z "$PID" ] && ${DAEMON_PATH} -f ${DAEMON_CONF} >> $DAEMON_ERRLOG 2>&1 + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon ${DAEMON_NAME} + stat_done + fi + ;; + stop) + stat_busy "Stopping ${DAEMON_NAME}" + [ ! -z "$PID" ] && kill $PID &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon ${DAEMON_NAME} + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/abs/mv-core/lighttpd/spawn-php.conf.d b/abs/mv-core/lighttpd/spawn-php.conf.d new file mode 100644 index 0000000..4a2810d --- /dev/null +++ b/abs/mv-core/lighttpd/spawn-php.conf.d @@ -0,0 +1,33 @@ +## ABSOLUTE path to the spawn-fcgi binary +SPAWNFCGI="/usr/bin/spawn-fcgi" + +## ABSOLUTE path to the PHP binary +FCGIPROGRAM="/usr/bin/php-cgi" + +## In preparation of a possible python/perl/etc compliance +SPAWN_DAEMON_NAME="spawn-php" + +## bind to tcp-port on localhost +FCGIPORT="1066" + +## If uncommented, socket will be used instead of port +#FCGISOCKET="/tmp/php-fastcgi.socket" + +## number of PHP childs to spawn +PHP_FCGI_CHILDREN=6 + +## number of request server by a single php-process until is will be restarted +PHP_FCGI_MAX_REQUESTS=1000 + +## IP adresses where PHP should access server connections from +FCGI_WEB_SERVER_ADDRS="127.0.0.1" + +# allowed environment variables sperated by spaces +ALLOWED_ENV="ORACLE_HOME PATH USER" + +## if the daemon script is run as root switch to the following user +USERID=nobody +GROUPID=nobody + +## cage the php process to the following dir (chrootdir) +#CHROOTDIR="/home/lighttpd/html" diff --git a/abs/mv-core/lighttpd/spawn-php.rc.d b/abs/mv-core/lighttpd/spawn-php.rc.d new file mode 100755 index 0000000..cbda262 --- /dev/null +++ b/abs/mv-core/lighttpd/spawn-php.rc.d @@ -0,0 +1,67 @@ +#!/bin/bash + +# source application-specific settings +[ -f /etc/conf.d/spawn-php ] && . /etc/conf.d/spawn-php + +. /etc/rc.conf +. /etc/rc.d/functions + + +PID=`pidof -o %PPID ${FCGIPROGRAM}` +case "$1" in + start) + stat_busy "Starting ${SPAWN_DAEMON_NAME}" + if [ -z "$PID" ]; then + ################## no config below this line + if test x$PHP_FCGI_CHILDREN = x; then + PHP_FCGI_CHILDREN=5 + fi + export PHP_FCGI_MAX_REQUESTS + export FCGI_WEB_SERVER_ADDRS + + ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS" + + # negotiate the parameters for the php-cgi spawn program + EX="$SPAWNFCGI -f $FCGIPROGRAM -C $PHP_FCGI_CHILDREN" + if [ -z "$FCGISOCKET" ]; then + EX="$EX -p $FCGIPORT" + else + EX="$EX -s $FCGISOCKET" + fi + if test x$UID = x0; then + EX="$EX -u $USERID -g $GROUPID" + fi + if [ ! -z "$CHROOTDIR" ]; then + EX="$EX -c $CHROOTDIR" + fi + + # copy the allowed environment variables + E= + for i in $ALLOWED_ENV; do + E="$E $i=${!i}" + done + # clean environment and set up a new one + env - $E $EX > /dev/null + add_daemon ${SPAWN_DAEMON_NAME} + stat_done + fi + ;; + stop) + stat_busy "Stopping ${SPAWN_DAEMON_NAME}" + if [ ! -z "$PID" ]; then + killall ${FCGIPROGRAM} + rm_daemon ${SPAWN_DAEMON_NAME} + stat_done + fi + ;; + restart) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 + + diff --git a/abs/mv-core/lighttpd/ssl_fix.diff b/abs/mv-core/lighttpd/ssl_fix.diff new file mode 100644 index 0000000..7031a48 --- /dev/null +++ b/abs/mv-core/lighttpd/ssl_fix.diff @@ -0,0 +1,10 @@ +--- lighttpd-1.3.13/src/connections.c 2005-03-03 15:36:51.000000000 -0800 ++++ lighttpd-1.3.13fix/src/connections.c 2005-05-12 02:33:37.124740872 -0700 +@@ -1141,6 +1141,7 @@ + return NULL; + } else { + SSL_set_accept_state(con->ssl); ++ con->conf.is_ssl=1; + } + + if (1 != (SSL_set_fd(con->ssl, cnt))) { diff --git a/abs/mv-core/lighttpd/tweakconf.vim b/abs/mv-core/lighttpd/tweakconf.vim new file mode 100644 index 0000000..7e55ee3 --- /dev/null +++ b/abs/mv-core/lighttpd/tweakconf.vim @@ -0,0 +1,22 @@ +%s/\/www\/logs\//\/var\/log\/lighttpd\/ +%s/lighttpd\.error/error/ +%s/\/www\/pages\//\/home\/lighttpd\/html\// +%s/#server\.pid\-file/server.pid-file/ +%s/\/tmp\/lighttpd\/cache\/compress\//\/home\/lighttpd\/cache\/ +%s/^#server\.username.*$/server.username = "nobody"/ +%s/^#server\.groupname.*$/server.groupname = "nobody"/ +%s/\/usr\/local\/bin\/php/\/usr\/bin\/php-cgi/ +%s/\(vhost\.server-root.*=\).*$/\1 "\/home\/lighttpd\/vhosts\/"/ +/SSL engine/,/pem/d +i +#### SSL engine +#$SERVER["socket"] == "0.0.0.0:443" { +# ssl.engine = "enable" +# ssl.pemfile = "/home/lighttpd/ssl/server.pem" +# server.errorlog = "/var/log/lighttpd/error-ssl.log" +# accesslog.filename = "/var/log/lighttpd/access-ssl.log" +# server.document-root = "/home/lighttpd/html-ssl" +#} +. +w +q |