summaryrefslogtreecommitdiffstats
path: root/abs/core/apache
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/apache')
-rw-r--r--abs/core/apache/PKGBUILD81
-rw-r--r--abs/core/apache/arch.layout22
-rwxr-xr-xabs/core/apache/httpd40
-rw-r--r--abs/core/apache/httpd.install16
-rw-r--r--abs/core/apache/httpd.logrotate5
5 files changed, 164 insertions, 0 deletions
diff --git a/abs/core/apache/PKGBUILD b/abs/core/apache/PKGBUILD
new file mode 100644
index 0000000..0bd3936
--- /dev/null
+++ b/abs/core/apache/PKGBUILD
@@ -0,0 +1,81 @@
+# $Id: PKGBUILD 4776 2008-07-09 21:51:30Z pierre $
+# Maintainer: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=apache
+pkgver=2.2.9
+pkgrel=4
+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/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)
+depends=('openssl>=0.9.8b' 'zlib' 'apr-util>=1.3.2-2' 'db>=4.7' 'pcre')
+install='httpd.install'
+source=("http://www.apache.org/dist/httpd/httpd-${pkgver}.tar.bz2"
+ 'httpd.logrotate' 'httpd' 'arch.layout')
+md5sums=('3afa8137dc1999be695a20b62fdf032b'
+ 'f4d627c64024c1b7b95efb5ffbaa625e'
+ 'fb6baeced65b7cf5b80083f278adebba'
+ '3d659d41276ba3bfcb20c231eb254e0c')
+
+build() {
+ cd ${srcdir}/httpd-${pkgver}
+
+ # set default user
+ sed -e 's#User daemon#User http#' \
+ -e 's#Group daemon#Group http#' \
+ -i docs/conf/httpd.conf.in || return 1
+
+ cat ${srcdir}/arch.layout >> config.layout
+ ./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 || return 1
+
+ make || return 1
+
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m755 ${srcdir}/httpd ${pkgdir}/etc/rc.d/httpd
+ install -D -m644 ${srcdir}/httpd.logrotate ${pkgdir}/etc/logrotate.d/httpd
+
+ # 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 || return 1
+
+ # cleanup
+ rm -rf ${pkgdir}/usr/share/httpd/manual
+ rm -rf ${pkgdir}/etc/httpd/conf/original
+ rm -rf ${pkgdir}/srv/http/*
+ rmdir ${pkgdir}/usr/bin
+}
diff --git a/abs/core/apache/arch.layout b/abs/core/apache/arch.layout
new file mode 100644
index 0000000..ab59db8
--- /dev/null
+++ b/abs/core/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/abs/core/apache/httpd b/abs/core/apache/httpd
new file mode 100755
index 0000000..da4de25
--- /dev/null
+++ b/abs/core/apache/httpd
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting HTTP Daemon"
+ /usr/sbin/apachectl start &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon httpd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping HTTP Daemon"
+ /usr/sbin/apachectl stop &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon httpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ reload)
+ if [ -f /var/run/httpd/httpd.pid ]; then
+ status "Reloading HTTP Configuration" kill -HUP `cat /var/run/httpd/httpd.pid`
+ fi
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|reload}"
+esac
diff --git a/abs/core/apache/httpd.install b/abs/core/apache/httpd.install
new file mode 100644
index 0000000..f72141a
--- /dev/null
+++ b/abs/core/apache/httpd.install
@@ -0,0 +1,16 @@
+post_upgrade() {
+ if [ $(vercmp '2.2.8' $2) -ge 0 ]; then
+ echo '
+ ==> New default DocumentRoot
+
+ Apache httpd uses /srv/http as default DocumentRoot.
+ You can still use your current DocumentRoot
+
+ ==> New default user and group
+
+ Instead of "nobody" apache runs as user/group "http" by default now. You might
+ want to adjust your httpd.conf according to this change. But you can still
+ run httpd as nobody.
+ '
+ fi
+} \ No newline at end of file
diff --git a/abs/core/apache/httpd.logrotate b/abs/core/apache/httpd.logrotate
new file mode 100644
index 0000000..3f9298c
--- /dev/null
+++ b/abs/core/apache/httpd.logrotate
@@ -0,0 +1,5 @@
+/var/log/httpd/*log {
+ postrotate
+ /bin/kill -HUP `cat /var/run/httpd/httpd.pid 2>/dev/null` 2> /dev/null || true
+ endscript
+}