diff options
Diffstat (limited to 'extra/apache')
-rw-r--r-- | extra/apache/PKGBUILD | 139 | ||||
-rw-r--r-- | extra/apache/apache.conf.d | 15 | ||||
-rw-r--r-- | extra/apache/apachectl-confd.patch | 15 | ||||
-rw-r--r-- | extra/apache/arch.layout | 22 | ||||
-rwxr-xr-x | extra/apache/httpd | 65 | ||||
-rw-r--r-- | extra/apache/httpd.logrotate | 6 |
6 files changed, 262 insertions, 0 deletions
diff --git a/extra/apache/PKGBUILD b/extra/apache/PKGBUILD new file mode 100644 index 000000000..7afa2ad23 --- /dev/null +++ b/extra/apache/PKGBUILD @@ -0,0 +1,139 @@ +# $Id: PKGBUILD 96448 2010-10-21 09:16:04Z jgc $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Contributor: Andrea Scarpino <andrea@archlinux.org> +# Contributor: Pierre Schmitz <pierre@archlinux.de> + +pkgname=apache +pkgver=2.2.17 +pkgrel=1 +pkgdesc='A high performance Unix-based HTTP server' +arch=('i686' 'x86_64') +options=('!libtool') +url='http://www.apache.org/dist/httpd' +license=('APACHE') +backup=(etc/conf.d/apache etc/httpd/conf/httpd.conf + etc/httpd/conf/extra/httpd-{autoindex,dav,default,info,languages}.conf + etc/httpd/conf/extra/httpd-{manual,mpm,multilang-errordoc}.conf + etc/httpd/conf/extra/httpd-{ssl,userdir,vhosts}.conf + etc/logrotate.d/httpd) +depends=('openssl' 'zlib' 'apr-util' 'pcre') +optdepends=('lynx: apachectl status') +_itkurl=http://mpm-itk.sesse.net/apache2.2-mpm-itk-2.2.11-02 +source=(http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2 + ${_itkurl}/02-rename-prefork-to-itk.patch + ${_itkurl}/03-add-mpm-to-build-system.patch + ${_itkurl}/04-correct-output-makefile-location.patch + ${_itkurl}/05-add-copyright.patch + ${_itkurl}/06-hook-just-after-merging-perdir-config.patch + ${_itkurl}/07-base-functionality.patch + ${_itkurl}/08-max-clients-per-vhost.patch + ${_itkurl}/09-capabilities.patch + ${_itkurl}/10-nice.patch + apachectl-confd.patch + apache.conf.d + httpd.logrotate + httpd + arch.layout) +md5sums=('16eadc59ea6b38af33874d300973202e' + 'db42cfcc18ae1c32aaaff2347e35b79d' + '131408ad4dc7b18547b4e062e7e495ab' + 'ee488f391054d528547c3a372faa2aa7' + 'b202944761b2f0516196488b12504236' + '78fa15f8ca3a284b7d71f942e24e47fb' + 'd33e39350e987721d50e6fb8e164ab6b' + '9f7a8935f9cabc7b46d0052906634cef' + '1b28e3363e1b0d05b738a21e7ddd264f' + 'd9667fcd2ffecc63e446edd4d6666731' + '4ac64df6e019edbe137017cba1ff2f51' + '08b3c875f6260644f2f52b4056d656b0' + '6382331e9700ed9e8cc78ea51887b537' + 'c7e300a287ef7e2e066ac7639536f87e' + '3d659d41276ba3bfcb20c231eb254e0c') + +build() { + cd "${srcdir}/httpd-${pkgver}" + + patch -Np0 -i "${srcdir}/apachectl-confd.patch" + + # set default user + sed -e 's#User daemon#User http#' \ + -e 's#Group daemon#Group http#' \ + -i docs/conf/httpd.conf.in + + cat "${srcdir}/arch.layout" >> config.layout + + for mpm in prefork worker itk; do + if [ "${mpm}" = "itk" ]; then + mkdir -p server/mpm/experimental/itk + cp -r server/mpm/prefork/* server/mpm/experimental/itk/ + mv server/mpm/experimental/itk/prefork.c server/mpm/experimental/itk/itk.c + + patch -Np1 -i "${srcdir}/02-rename-prefork-to-itk.patch" + patch -Np1 -i "${srcdir}/03-add-mpm-to-build-system.patch" + patch -Np1 -i "${srcdir}/04-correct-output-makefile-location.patch" + patch -Np1 -i "${srcdir}/05-add-copyright.patch" + patch -Np1 -i "${srcdir}/06-hook-just-after-merging-perdir-config.patch" + patch -Np1 -i "${srcdir}/07-base-functionality.patch" + patch -Np1 -i "${srcdir}/08-max-clients-per-vhost.patch" + patch -Np1 -i "${srcdir}/09-capabilities.patch" + patch -Np1 -i "${srcdir}/10-nice.patch" + + autoconf + fi + mkdir build-${mpm} + pushd build-${mpm} + ../configure --enable-layout=Arch \ + --enable-modules=all \ + --enable-mods-shared=all \ + --enable-so \ + --enable-suexec \ + --with-suexec-caller=http \ + --with-suexec-docroot=/srv/http \ + --with-suexec-logfile=/var/log/httpd/suexec.log \ + --with-suexec-bin=/usr/sbin/suexec \ + --with-suexec-uidmin=99 --with-suexec-gidmin=99 \ + --enable-ldap --enable-authnz-ldap \ + --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache \ + --enable-ssl --with-ssl \ + --enable-deflate --enable-cgid \ + --enable-proxy --enable-proxy-connect \ + --enable-proxy-http --enable-proxy-ftp \ + --enable-dbd \ + --with-apr=/usr/bin/apr-1-config \ + --with-apr-util=/usr/bin/apu-1-config \ + --with-pcre=/usr \ + --with-mpm=${mpm} + make + if [ "${mpm}" = "prefork" ]; then + make DESTDIR="${pkgdir}" install + else + install -m755 httpd "${pkgdir}/usr/sbin/httpd.${mpm}" + fi + popd + done + + install -D -m755 "${srcdir}/httpd" "${pkgdir}/etc/rc.d/httpd" + install -D -m644 "${srcdir}/httpd.logrotate" "${pkgdir}/etc/logrotate.d/httpd" + install -D -m644 "${srcdir}/apache.conf.d" "${pkgdir}/etc/conf.d/apache" + + # symlinks for /etc/httpd + ln -fs /var/log/httpd "${pkgdir}/etc/httpd/logs" + ln -fs /var/run/httpd "${pkgdir}/etc/httpd/run" + ln -fs /usr/lib/httpd/modules "${pkgdir}/etc/httpd/modules" + ln -fs /usr/lib/httpd/build "${pkgdir}/etc/httpd/build" + + # set sane defaults + sed -e 's#/usr/lib/httpd/modules/#modules/#' \ + -e 's|#\(Include conf/extra/httpd-multilang-errordoc.conf\)|\1|' \ + -e 's|#\(Include conf/extra/httpd-autoindex.conf\)|\1|' \ + -e 's|#\(Include conf/extra/httpd-languages.conf\)|\1|' \ + -e 's|#\(Include conf/extra/httpd-userdir.conf\)|\1|' \ + -e 's|#\(Include conf/extra/httpd-default.conf\)|\1|' \ + -i "${pkgdir}/etc/httpd/conf/httpd.conf" + + # cleanup + rm -rf "${pkgdir}/usr/share/httpd/manual" + rm -rf "${pkgdir}/etc/httpd/conf/original" + rm -rf "${pkgdir}/srv/" + rm -rf "${pkgdir}/usr/bin" +} diff --git a/extra/apache/apache.conf.d b/extra/apache/apache.conf.d new file mode 100644 index 000000000..c6d0ebf52 --- /dev/null +++ b/extra/apache/apache.conf.d @@ -0,0 +1,15 @@ +# Configuration file for the httpd service. + +# +# The default processing model (MPM) is the process-based +# 'prefork' model. A thread-based model, 'worker', is also +# available, but does not work with some modules (such as PHP). +# The service must be stopped before changing this variable. +# +#HTTPD=/usr/sbin/httpd.worker + +# +# To pass additional options (for instance, -D definitions) to the +# httpd binary at startup, set OPTIONS here. +# +#OPTIONS= diff --git a/extra/apache/apachectl-confd.patch b/extra/apache/apachectl-confd.patch new file mode 100644 index 000000000..d0f4b699e --- /dev/null +++ b/extra/apache/apachectl-confd.patch @@ -0,0 +1,15 @@ +--- support/apachectl.in.orig 2010-03-06 18:09:11.000000000 +0100 ++++ support/apachectl.in 2010-03-06 18:12:31.000000000 +0100 +@@ -56,6 +56,12 @@ + # the URL to your server's mod_status status page. If you do not + # have one, then status and fullstatus will not work. + STATUSURL="http://localhost:@PORT@/server-status" ++ ++# Source /etc/conf.d/apache for $HTTPD setting, etc. ++if [ -r /etc/conf.d/apache ]; then ++ . /etc/conf.d/apache ++fi ++ + # + # Set this variable to a command that increases the maximum + # number of file descriptors allowed per child process. This is diff --git a/extra/apache/arch.layout b/extra/apache/arch.layout new file mode 100644 index 000000000..ab59db84b --- /dev/null +++ b/extra/apache/arch.layout @@ -0,0 +1,22 @@ +<Layout Arch> + prefix: /etc/httpd + exec_prefix: /usr + bindir: /usr/bin + sbindir: /usr/sbin + libdir: /usr/lib/httpd + libexecdir: /usr/lib/httpd/modules + mandir: /usr/share/man + sysconfdir: /etc/httpd/conf + datadir: /usr/share/httpd + installbuilddir: /usr/lib/httpd/build + errordir: /usr/share/httpd/error + iconsdir: /usr/share/httpd/icons + htdocsdir: /srv/http + manualdir: /usr/share/httpd/manual + cgidir: /srv/http/cgi-bin + includedir: /usr/include/httpd + localstatedir: /var + runtimedir: /var/run/httpd + logfiledir: /var/log/httpd + proxycachedir: /var/cache/httpd +</Layout>
\ No newline at end of file diff --git a/extra/apache/httpd b/extra/apache/httpd new file mode 100755 index 000000000..6fa9c3cc7 --- /dev/null +++ b/extra/apache/httpd @@ -0,0 +1,65 @@ +#!/bin/bash + +daemon_name=httpd + +. /etc/rc.conf +. /etc/rc.d/functions + +APACHECTL=/usr/sbin/apachectl + +case "$1" in + start) + stat_busy "Starting Apache Web Server" + [ ! -d /var/run/httpd ] && install -d /var/run/httpd + if $APACHECTL start >/dev/null ; then + add_daemon $daemon_name + stat_done + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping Apache Web Server" + if $APACHECTL stop >/dev/null ; then + rm_daemon $daemon_name + stat_done + else + stat_fail + exit 1 + fi + ;; + + reload) + stat_busy "Reloading Apache Web Server" + if $APACHECTL graceful >/dev/null ; then + add_daemon $daemon_name + stat_done + else + stat_fail + exit 1 + fi + ;; + + restart) + stat_busy "Restarting Apache Web Server" + if $APACHECTL restart >/dev/null ; then + add_daemon $daemon_name + stat_done + else + stat_fail + exit 1 + fi + ;; + + status) + stat_busy "Checking Apache Web Server status"; + ck_status $daemon_name + ;; + + *) + echo "usage: $0 {start|stop|reload|restart|status}" +esac + +exit 0 diff --git a/extra/apache/httpd.logrotate b/extra/apache/httpd.logrotate new file mode 100644 index 000000000..a723d20d2 --- /dev/null +++ b/extra/apache/httpd.logrotate @@ -0,0 +1,6 @@ +/var/log/httpd/*log { + missingok + postrotate + /bin/kill -HUP `cat /var/run/httpd/httpd.pid 2>/dev/null` 2> /dev/null || true + endscript +} |