diff options
33 files changed, 2942 insertions, 1422 deletions
diff --git a/net-www/apache/ChangeLog b/net-www/apache/ChangeLog index 531b038aae14..c40113fae40b 100644 --- a/net-www/apache/ChangeLog +++ b/net-www/apache/ChangeLog @@ -1,6 +1,35 @@ # ChangeLog for net-www/apache # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.3 2002/03/27 22:17:24 woodchip Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-www/apache/ChangeLog,v 1.4 2002/04/09 23:51:38 woodchip Exp $ + +*apache-1.3.24-r1 (9 Apr 2002) + + 9 Apr 2002; Donny Davies <woodchip@gentoo.org> apache-1.3.24-r1.ebuild : + + Massive port rewrite! Borrowed many ideas/pieces from abroad, but mostly Mandrake :) + + o data is now in /home/httpd/{htdocs,icons,cgi-bin} (new standard location for Gentoo) + o server runs as user/group apache + o mod_ssl is split into a several package (plus i've added several more mods) + o now using the mm library to provide modules with shared memory pools + o now links with the expat library + o all modules are now dynamically linked using SHARED_CHAIN (smaller mod sizes) + o several patches from debian/mandrake are included, fixing several issues. the + most interesting patch is the mandrake serverroot patch, which makes configuring + apache much easier, and also provides some really great organization. + o the EAPI patch is now turned on unconditionally. (previously you only got it + if you had ssl in your USE variable) + o provide an easy way for people to tune up the HARD_SERVER_LIMIT + o created a configuration file for the modules distributed with apache. this + allows you to finely customize your modules, and even preserve this configuration + across upgrades. A Gentoo-only feature ;) + o suexec is fixed now. it is restricted to user/group apache as well. + o added several support scripts (from mandrake) which allow easy addition and + removal of third-party modules into the apache.conf setup. this makes writing + ebuilds for third-party modules much easier. see net-www/mod_* for examples. + o the config files are now in /etc/apache/conf, conveniently organized into + separate directories for addon-modules and vhosts. this greatly simplifies + things especially for people with complicated/large sites. *apache-1.3.24 (27 Mar 2002) diff --git a/net-www/apache/apache-1.3.24-r1.ebuild b/net-www/apache/apache-1.3.24-r1.ebuild new file mode 100644 index 000000000000..6f31b76f94a0 --- /dev/null +++ b/net-www/apache/apache-1.3.24-r1.ebuild @@ -0,0 +1,220 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# Maintainer: Donny Davies <woodchip@gentoo.org> +# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-1.3.24-r1.ebuild,v 1.1 2002/04/09 23:51:39 woodchip Exp $ + +mod_ssl_ver=2.8.8-${PV} +HARD_SERVER_LIMIT=512 + +S=${WORKDIR}/apache_${PV} +DESCRIPTION="The Apache Web Server" +HOMEPAGE="http://www.apache.org http://www.modssl.org" +SRC_URI="http://httpd.apache.org/dist/httpd/apache_${PV}.tar.gz + ftp://ftp.modssl.org/source/mod_ssl-${mod_ssl_ver}.tar.gz" +# The mod_ssl archive is only for providing the EAPI patch in here. +# You should install the net-www/mod_ssl package for the actual DSO. + +RDEPEND="virtual/glibc + =sys-libs/db-1* + =sys-libs/db-3* + >=dev-libs/mm-1.1.3 + >=sys-libs/gdbm-1.8 + >=dev-libs/expat-1.95.2" +DEPEND="${RDEPEND} sys-devel/perl" + +pkg_setup() { + # might want to add these into baselayout eventually.. + if ! grep -q ^apache: /etc/group ; then + groupadd apache || die "problem adding group apache" + fi + + if ! grep -q ^apache: /etc/passwd ; then + useradd -g apache -s /bin/false -d /var/www -c "apache" apache + assert "problem adding user apache" + fi + + select_modules_config || \ + die "couldn't find apache-builtin-mods config file" +} + +src_unpack() { + local myssl + unpack ${A} ; cd ${S} + + # some nice patches.. + patch -p1 < ${FILESDIR}/${PV}/mdk/apache_1.3.11-apxs.patch || die m1 + patch -p1 < ${FILESDIR}/${PV}/mdk/apache_1.3.22-srvroot.patch || die m2 + patch -p1 < ${FILESDIR}/${PV}/mdk/apache-1.3.14-mkstemp.patch || die m3 + patch -p0 < ${FILESDIR}/${PV}/mdk/apache-1.3.20.manpage.patch || die m4 + patch -p1 < ${FILESDIR}/${PV}/deb/apxs_wrong_prefix || die d1 + patch -p1 < ${FILESDIR}/${PV}/deb/custom_response_segfaults || die d2 + patch -p1 < ${FILESDIR}/${PV}/deb/mime_type_fix || die d3 + patch -p1 < ${FILESDIR}/${PV}/deb/regex_must_conform_to_posix_for_LFS_to_work || die d4 + patch -p1 < ${FILESDIR}/${PV}/deb/suexec_combined || die d5 + patch -p1 < ${FILESDIR}/${PV}/deb/suexec_of_death || die d6 + patch -p1 < ${FILESDIR}/${PV}/deb/usr_bin_perl_owns_you || die d7 + + # yet another perl path fix.. + cp htdocs/manual/search/manual-index.cgi \ + htdocs/manual/search/manual-index.cgi.orig + sed -e "s:/usr/local/bin/perl5:/usr/bin/perl:" \ + htdocs/manual/search/manual-index.cgi.orig \ + > htdocs/manual/search/manual-index.cgi + rm -f htdocs/manual/search/manual-index.cgi.orig + + # setup eapi.. + myssl=${S}/../mod_ssl-${mod_ssl_ver} + cp ${myssl}/pkg.eapi/*.h src/include + cp ${myssl}/pkg.eapi/*.c src/ap + patch -p0 < ${myssl}/pkg.eapi/eapi.patch || die eapi + + # set a reasonable MM_CORE_PATH location.. + mv src/include/httpd.h src/include/httpd.h.orig + sed -e 's:logs/mm:/var/cache/apache-mm/mm:' \ + src/include/httpd.h.orig > src/include/httpd.h + + # fix this silly script so it finds a db lib.. + mv src/helpers/find-dbm-lib src/helpers/find-dbm-lib.orig + cp ${FILESDIR}/find-dbm-lib src/helpers +} + +src_compile() { + local myconf mycflags + mycflags="${CFLAGS}" + unset CFLAGS ; unset CXXFLAGS + + #-DBUFFERED_LOGS + OPTIM="${mycflags} -DHARD_SERVER_LIMIT=${HARD_SERVER_LIMIT} \ + -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" \ + LIBS="-lgdbm -lpthread" \ + EAPI_MM=SYSTEM \ + ./configure \ + --prefix=/usr \ + --exec-prefix=/usr \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --libexecdir=/usr/lib/apache \ + --mandir=/usr/share/man \ + --sysconfdir=/etc/apache/conf \ + --datadir=/home/httpd \ + --iconsdir=/home/httpd/icons \ + --htdocsdir=/home/httpd/htdocs \ + --manualdir=/usr/share/doc/${PF}/manual \ + --cgidir=/home/httpd/cgi-bin \ + --includedir=/usr/include/apache \ + --localstatedir=/var \ + --runtimedir=/var/run \ + --logfiledir=/var/log/apache \ + --proxycachedir=/var/cache/apache \ + --serverroot=/etc/apache \ + \ + --target=apache \ + --server-uid=apache \ + --server-gid=apache \ + --enable-rule=EAPI \ + --enable-rule=SHARED_CHAIN \ + --with-perl=/usr/bin/perl \ + \ + ${MY_BUILTINS} \ + \ + --enable-suexec \ + --suexec-uidmin=1000 \ + --suexec-gidmin=1000 \ + --suexec-caller=apache \ + --suexec-userdir=public_html \ + --suexec-docroot=/home/httpd/htdocs \ + --suexec-safepath="/bin:/usr/bin" \ + --suexec-logfile=/var/log/apache/suexec_log \ + \ + ${myconf} || die "bad ./configure" + + emake || die "compile problem" +} + +src_install() { + local myfile + make install-quiet root=${D} || die + dodoc ABOUT_APACHE Announcement INSTALL* LICENSE* README* WARNING* + + fowners root.apache /usr/sbin/suexec + fperms 4710 /usr/sbin/suexec + #fowners apache.apache /home/httpd + #fowners apache.apache /home/httpd/htdocs + + # nice support scripts.. # apachefixconf + for myfile in apacheaddmod apachedelmod \ + apachelogserverstatus apachesplitlogfile + do + exeinto /usr/sbin + doexe ${FILESDIR}/$myfile + done + + # setup links in /etc/apache.. + cd ${D}/etc/apache + ln -sf ../../usr/lib/apache modules + # apxs needs this to pickup the right lib for install.. + ln -sf ../../usr/lib lib + ln -sf ../../var/log/apache logs + ln -sf ../../usr/lib/apache-extramodules extramodules + + # drop in a convenient link to the manual + dosym /usr/share/doc/${PF}/manual /home/httpd/htdocs/manual + + # deprecated config files, empty dirs.. + rm -f ${D}/etc/apache/conf/access.conf* + rm -f ${D}/etc/apache/conf/srm.conf* + rm -rf ${D}/var + + # now the config files.. + insinto /etc/apache/conf + doins ${FILESDIR}/conf/commonapache.conf + doins ${FILESDIR}/conf/apache.conf + insinto /etc/apache/conf/vhosts + doins ${FILESDIR}/conf/VirtualHomePages.conf + doins ${FILESDIR}/conf/DynamicVhosts.conf + doins ${FILESDIR}/conf/Vhosts.conf + + exeinto /etc/init.d ; newexe ${FILESDIR}/apache.rc6 apache + insinto /etc/conf.d ; newins ${FILESDIR}/apache.confd apache + insinto /etc/apache ; doins ${FILESDIR}/apache-builtin-mods +} + +pkg_postinst() { + # empty dirs.. + install -d -o apache -g apache ${ROOT}/var/cache/apache + install -d -o apache -g apache -m1333 ${ROOT}/var/cache/apache-mm + install -d -o root -g root -m0755 ${ROOT}/usr/lib/apache-extramodules + install -d -o root -g root -m0755 ${ROOT}/etc/apache/conf/addon-modules + install -d -o root -g root -m0755 ${ROOT}/var/log/apache +} + +parse_modules_config() { + local filename=$1 + local name="" + local dso="" + local disable="" + [ -f ${filename} ] || return 1 + einfo ">>> using ${filename} for builtins..." + for i in `cat $filename | sed "s/^#.*//"` ; do + if [ $i == "-" ] ; then + disable="true" + elif [ -z "$name" ] && [ ! -z "`echo $i | grep "mod_"`" ] ; then + name=`echo $i | sed "s/mod_//"` + elif [ "$disable" ] && ( [ $i == "static" ] || [ $i == "shared" ] ) ; then + MY_BUILTINS="${MY_BUILTINS} --disable-module=$name" + name="" ; disable="" + elif [ $i == "static" ] ; then + MY_BUILTINS="${MY_BUILTINS} --enable-module=$name --disable-shared=$name" + name="" ; disable="" + elif [ $i == "shared" ] ; then + MY_BUILTINS="${MY_BUILTINS} --enable-module=$name --enable-shared=$name" + name="" ; disable="" + fi + done +} + +select_modules_config() { + parse_modules_config /etc/apache/apache-builtin-mods || \ + parse_modules_config ${FILESDIR}/apache-builtin-mods || \ + return 1 +} diff --git a/net-www/apache/apache-1.3.24.ebuild b/net-www/apache/apache-1.3.24.ebuild deleted file mode 100644 index 5dd26dfb39a2..000000000000 --- a/net-www/apache/apache-1.3.24.ebuild +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright 1999-2000 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-1.3.24.ebuild,v 1.1 2002/03/27 22:17:24 woodchip Exp $ - -AV=${PV} -MSV="2.8.8" - -S=${WORKDIR}/apache_${AV} -DESCRIPTION="The Apache Web Server" -HOMEPAGE="http://www.apache.org http://www.modssl.org" -SRC_URI="http://httpd.apache.org/dist/httpd/apache_${AV}.tar.gz - ftp://ftp.modssl.org/source/mod_ssl-${MSV}-${AV}.tar.gz" - -DEPEND="virtual/glibc - >=sys-libs/db-3.2.3h-r3 =sys-libs/db-1.85-r1 - ssl? ( >=dev-libs/openssl-0.9.6b )" - -src_compile() { - - local myconf - export SSL_BASE=SYSTEM - export CFLAGS="${CFLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" - export RULE_EXPAT=NO - - if [ "`use ssl`" ]; then - myconf="${myconf} --enable-module=ssl" - cd ${S}/../mod_ssl-${MSV}-${AV} - ./configure --with-apache=${S} --with-ssl=SYSTEM || die - cd ${S} - fi - - ./configure --prefix=/usr/local/httpd --bindir=/usr/bin \ - --sbindir=/usr/sbin --datadir=/usr/local/httpd \ - --sysconfdir=/etc/httpd --libexecdir=/usr/lib/apache \ - --mandir=/usr/share/man --logfiledir=/var/log/apache --localstatedir=/var/lock \ - --proxycachedir=/var/cache/httpd --includedir=/usr/include/apache \ - --enable-module=all \ - --enable-shared=max --suexec-caller=wwwrun \ - --enable-suexec --suexec-userdir=public_html --suexec-uidmin=96 \ - --suexec-gidmin=96 --suexec-safepath="/bin:/usr/bin" \ - --disable-rule=EXPAT --with-perl=/usr/bin/perl ${myconf} - assert "bad configure" - - make || die "compile problem" - use ssl && ( make certificate TYPE=dummy || die "make ssl certificate failed" ) -} - -src_install() { - - make install-quiet root=${D} || die - dodoc ABOUT_APACHE Announcement INSTALL* KEYS LICENSE* README* WARNING* ${FILESDIR}/httpd.conf - dosed "s:^PIDFILE.*:PIDFILE=/var/run/httpd.pid:" /usr/sbin/apachectl - dosed "s:/usr/local/bin/perl5:/usr/bin/perl:" \ - /usr/local/httpd/htdocs/manual/search/manual-index.cgi - - if [ "`use ssl`" ] ; then - cd ../mod_ssl-${MSV}-${AV} - docinto mod_ssl - dodoc ANNOUNCE CHANGES CREDITS INSTALL* LICENSE NEWS README* - fi - - exeinto /etc/init.d - newexe ${FILESDIR}/httpd.rc6 httpd - insinto /etc/conf.d - newins ${FILESDIR}/httpd.confd httpd - insinto /etc/httpd - doins ${FILESDIR}/httpd.conf -} - -pkg_config() { - - #${ROOT}/sbin/rc-update add httpd default - - if [ "$ServerName" = "" ] ; then - ServerName=`uname -n` - fi - if [ "$ServerAdmin" = "" ] ; then - ServerAdmin="webmaster\@$ServerName" - fi - - mv ${ROOT}/etc/httpd/httpd.conf ${ROOT}/etc/httpd/httpd.conf.orig - sed -e "s/^\#ServerName.*/ServerName $ServerName/" \ - -e "s/^ServerName.*/ServerName $ServerName/" \ - -e "s/^ServerAdmin.*/ServerAdmin $ServerAdmin/" \ - ${ROOT}/etc/httpd/httpd.conf.orig > ${ROOT}/etc/httpd/httpd.conf -} - -pkg_prerm() { - - if [ "$ROOT" = "/" ] && [ -e /dev/shm/.init.d/started/httpd ] ; then - /etc/init.d/httpd stop - fi -} - -pkg_preinst() { - - if [ "$ROOT" = "/" ] && [ -e /dev/shm/.init.d/started/httpd ] ; then - /etc/init.d/httpd stop - fi -} diff --git a/net-www/apache/files/1.3.24/deb/apxs_wrong_prefix b/net-www/apache/files/1.3.24/deb/apxs_wrong_prefix new file mode 100644 index 000000000000..09b6d253ec0e --- /dev/null +++ b/net-www/apache/files/1.3.24/deb/apxs_wrong_prefix @@ -0,0 +1,12 @@ +diff -ruN -x Makefile.in -x configure -x *~ -x apache_1.3.22.orig -x ap_ctx.[ch] -x ap_hook.[ch] -x ap_mm.[ch] -x os-inline.c -x os.h apache_1.3.22.orig/src/support/apxs.pl apache_1.3.22/src/support/apxs.pl +--- apache_1.3.22.orig/src/support/apxs.pl Sat Dec 15 22:27:31 2001 ++++ apache_1.3.22/src/support/apxs.pl Sat Dec 15 22:27:14 2001 +@@ -507,7 +507,7 @@ + $filename = "mod_${name}.c"; + } + my $dir = $CFG_LIBEXECDIR; +- $dir =~ s|^$CFG_PREFIX/?||; ++ $dir =~ s|^$CFG_SYSCONFDIR/?||; + $dir =~ s|(.)$|$1/|; + push(@lmd, sprintf("LoadModule %-18s %s", "${name}_module", "$dir$t")); + push(@amd, sprintf("AddModule %s", $filename)); diff --git a/net-www/apache/files/1.3.24/deb/custom_response_segfaults b/net-www/apache/files/1.3.24/deb/custom_response_segfaults new file mode 100644 index 000000000000..3ec2d1fca8d4 --- /dev/null +++ b/net-www/apache/files/1.3.24/deb/custom_response_segfaults @@ -0,0 +1,40 @@ + +This is the patch posted to Bug #8334 in the Apache BTS. + +diff -ruN -x Makefile.in -x configure -x *~ -x apache_1.3.22.orig -x ap_ctx.[ch] -x ap_hook.[ch] -x ap_mm.[ch] -x os-inline.c -x os.h apache_1.3.22.orig/src/main/http_core.c apache_1.3.22/src/main/http_core.c +--- apache_1.3.22.orig/src/main/http_core.c Fri Jan 18 00:15:41 2002 ++++ apache_1.3.22/src/main/http_core.c Fri Jan 18 00:10:45 2002 +@@ -581,9 +581,16 @@ + { + core_dir_config *conf; + +- conf = (core_dir_config *)ap_get_module_config(r->per_dir_config, ++ /* prefer per-request settings */ ++ conf = (core_dir_config *)ap_get_module_config(r->request_config, + &core_module); + ++ /* but if there aren't any, try the dir config */ ++ if ( conf == NULL ) { ++ conf = (core_dir_config *) ap_get_module_config(r->per_dir_config, ++ &core_module); ++ } ++ + if (conf->response_code_strings == NULL) { + return NULL; + } +@@ -1169,8 +1176,14 @@ + API_EXPORT(void) ap_custom_response(request_rec *r, int status, char *string) + { + core_dir_config *conf = +- ap_get_module_config(r->per_dir_config, &core_module); ++ ap_get_module_config(r->request_config, &core_module); + int idx; ++ ++ if(conf == NULL) { ++ /* if this doesn't exist, we'll have to make one */ ++ conf = (core_dir_config*) ap_pcalloc(r->pool, sizeof(core_dir_config)); ++ ap_set_module_config(r->request_config, &core_module, conf); ++ } + + if(conf->response_code_strings == NULL) { + conf->response_code_strings = diff --git a/net-www/apache/files/1.3.24/deb/mime_type_fix b/net-www/apache/files/1.3.24/deb/mime_type_fix new file mode 100644 index 000000000000..a81557c49ab6 --- /dev/null +++ b/net-www/apache/files/1.3.24/deb/mime_type_fix @@ -0,0 +1,17 @@ +--- apache-1.3.6.orig/conf/mime.types ++++ apache-1.3.6/conf/mime.types +@@ -154,14 +154,12 @@ + application/x-bcpio bcpio + application/x-cdlink vcd + application/x-chess-pgn pgn +-application/x-compress + application/x-cpio cpio + application/x-csh csh + application/x-director dcr dir dxr + application/x-dvi dvi + application/x-futuresplash spl + application/x-gtar gtar +-application/x-gzip + application/x-hdf hdf + application/x-javascript js + application/x-koan skp skd skt skm diff --git a/net-www/apache/files/1.3.24/deb/regex_must_conform_to_posix_for_LFS_to_work b/net-www/apache/files/1.3.24/deb/regex_must_conform_to_posix_for_LFS_to_work new file mode 100644 index 000000000000..b2bd0ac57b4e --- /dev/null +++ b/net-www/apache/files/1.3.24/deb/regex_must_conform_to_posix_for_LFS_to_work @@ -0,0 +1,12 @@ +diff -ruN -x Makefile.in -x configure -x *~ -x apache_1.3.14.orig apache_1.3.14.orig/src/include/hsregex.h apache_1.3.14/src/include/hsregex.h +--- apache_1.3.14.orig/src/include/hsregex.h Mon Sep 25 16:48:24 2000 ++++ apache_1.3.14/src/include/hsregex.h Wed Dec 6 15:20:03 2000 +@@ -24,7 +24,7 @@ + #endif + #endif + +-typedef off_t regoff_t; ++typedef int regoff_t; + typedef struct { + int re_magic; + size_t re_nsub; /* number of parenthesized subexpressions */ diff --git a/net-www/apache/files/1.3.24/deb/suexec_combined b/net-www/apache/files/1.3.24/deb/suexec_combined new file mode 100644 index 000000000000..b489782c2883 --- /dev/null +++ b/net-www/apache/files/1.3.24/deb/suexec_combined @@ -0,0 +1,362 @@ +--- apache_1.3.22.orig/src/support/suexec.c Thu Mar 8 11:11:43 2001 ++++ apache-1.3.22/src/support/suexec.c Thu Jan 10 21:00:14 2002 +@@ -90,6 +90,7 @@ + #include <sys/types.h> + + #include <stdarg.h> ++#include <strings.h> + + #include "suexec.h" + +@@ -165,6 +166,8 @@ + "UNIQUE_ID", + "USER_NAME", + "TZ", ++ "HTTPS", ++ "REDIRECT_HTTPS", + NULL + }; + +@@ -228,7 +231,8 @@ + cidx++; + + for (ep = environ; *ep && cidx < AP_ENVBUF-1; ep++) { +- if (!strncmp(*ep, "HTTP_", 5)) { ++ if (!strncmp(*ep, "HTTP_", 5) || ++ !strncmp(*ep, "SSL_", 4)) { + cleanenv[cidx] = *ep; + cidx++; + } +@@ -249,6 +253,244 @@ + environ = cleanenv; + } + ++#define MY_STATE_NORMAL 0 ++#define MY_STATE_SPACE 1 ++#define MY_STATE_QUOTES 2 ++#define MY_STATE_APOSTROPHES 3 ++#define MY_STATE_END 4 ++ ++char** param_separate(char* params, int addl_slots) { ++ int state, actpos, actarg_start, actarg_len, argnum; ++ char **res=0; ++ char backslash=0; ++ ++ if (params==0) return(0); ++ ++ if (*params==0) { ++ res=(char**)malloc(sizeof(char*)*(1+addl_slots)); ++ for (actpos=0;actpos<addl_slots+1;++actpos) res[actpos]=0; ++ return(res); ++ } ++ actpos=0;backslash=0;argnum=0;state=MY_STATE_SPACE; ++ while (state!=MY_STATE_END) { ++ switch (state) { ++ ++ case MY_STATE_SPACE: ++ switch (params[actpos]) { ++ case 0 : ++ state=MY_STATE_END; ++ break; ++ ++ case ' ' : ++ case '\t': ++ break; ++ ++ case '\'': ++ state=MY_STATE_APOSTROPHES; ++ actarg_start=actpos+1; ++ break; ++ case '"': ++ state=MY_STATE_QUOTES; ++ actarg_start=actpos+1; ++ break; ++ default: ++ state=MY_STATE_NORMAL; ++ actarg_start=actpos; ++ } ++ break; ++ ++ case MY_STATE_NORMAL: ++ ++ switch (params[actpos]) { ++ case 0 : ++ state=MY_STATE_END; ++ ++argnum; ++ actarg_len=actpos-actarg_start; ++ break; ++ ++ case ' ': ++ case '\t': ++ state=MY_STATE_SPACE; ++ ++argnum; ++ actarg_len=actpos-actarg_start; ++ break; ++ } ++ break; ++ ++ case MY_STATE_APOSTROPHES: ++ ++ switch (params[actpos]) { ++ case 0 : ++ state=MY_STATE_END; ++ ++argnum; ++ actarg_len=actpos-actarg_start; ++ break; ++ ++ case '\\': ++ backslash=1-backslash; ++ break; ++ ++ case '\'': ++ if (! backslash) { ++ state=MY_STATE_SPACE; ++ ++argnum; ++ actarg_len=actpos-actarg_start; ++ } ++ break; ++ } ++ if (params[actpos]!='\\') backslash=0; ++ break; ++ ++ case MY_STATE_QUOTES: ++ ++ switch (params[actpos]) { ++ case 0 : ++ state=MY_STATE_END; ++ ++argnum; ++ actarg_len=actpos-actarg_start; ++ break; ++ ++ case '\\': ++ backslash=1-backslash; ++ break; ++ ++ case '"': ++ if (! backslash) { ++ state=MY_STATE_SPACE; ++ ++argnum; ++ actarg_len=actpos-actarg_start; ++ } ++ break; ++ } ++ if (params[actpos]!='\\') backslash=0; ++ break; ++ } ++ actpos++; ++ } ++ ++ res=(char**)malloc(sizeof(char*)*(argnum+1+addl_slots)); ++ for (actpos=0;actpos<argnum+addl_slots+1;++actpos) res[actpos]=0; ++ ++ ++ actpos=0;backslash=0;argnum=0;state=MY_STATE_SPACE; ++ while (state!=MY_STATE_END) { ++ switch (state) { ++ ++ case MY_STATE_SPACE: ++ switch (params[actpos]) { ++ case 0 : ++ state=MY_STATE_END; ++ break; ++ ++ case ' ' : ++ case '\t': ++ break; ++ ++ case '\'': ++ state=MY_STATE_APOSTROPHES; ++ actarg_start=actpos+1; ++ break; ++ case '"': ++ state=MY_STATE_QUOTES; ++ actarg_start=actpos+1; ++ break; ++ default: ++ state=MY_STATE_NORMAL; ++ actarg_start=actpos; ++ } ++ break; ++ ++ case MY_STATE_NORMAL: ++ ++ switch (params[actpos]) { ++ case 0 : ++ state=MY_STATE_END; ++ actarg_len=actpos-actarg_start; ++ res[argnum]=(char*)malloc(actarg_len+1); ++ strncpy(res[argnum],¶ms[actarg_start],actarg_len); ++ res[argnum][actarg_len]=0; ++ ++argnum; ++ break; ++ ++ case ' ': ++ case '\t': ++ state=MY_STATE_SPACE; ++ actarg_len=actpos-actarg_start; ++ res[argnum]=(char*)malloc(actarg_len+1); ++ strncpy(res[argnum],¶ms[actarg_start],actarg_len); ++ res[argnum][actarg_len]=0; ++ ++argnum; ++ break; ++ } ++ break; ++ ++ case MY_STATE_APOSTROPHES: ++ ++ switch (params[actpos]) { ++ case 0 : ++ state=MY_STATE_END; ++ actarg_len=actpos-actarg_start; ++ res[argnum]=(char*)malloc(actarg_len+1); ++ strncpy(res[argnum],¶ms[actarg_start],actarg_len); ++ res[argnum][actarg_len]=0; ++ ++argnum; ++ break; ++ ++ case '\\': ++ backslash=1-backslash; ++ break; ++ ++ case '\'': ++ if (! backslash) { ++ state=MY_STATE_SPACE; ++ actarg_len=actpos-actarg_start; ++ res[argnum]=(char*)malloc(actarg_len+1); ++ strncpy(res[argnum],¶ms[actarg_start],actarg_len); ++ res[argnum][actarg_len]=0; ++ ++argnum; ++ } ++ break; ++ } ++ if (params[actpos]!='\\') backslash=0; ++ break; ++ ++ case MY_STATE_QUOTES: ++ ++ switch (params[actpos]) { ++ case 0 : ++ state=MY_STATE_END; ++ actarg_len=actpos-actarg_start; ++ res[argnum]=(char*)malloc(actarg_len+1); ++ strncpy(res[argnum],¶ms[actarg_start],actarg_len); ++ res[argnum][actarg_len]=0; ++ ++argnum; ++ break; ++ ++ case '\\': ++ backslash=1-backslash; ++ break; ++ ++ case '"': ++ if (! backslash) { ++ state=MY_STATE_SPACE; ++ actarg_len=actpos-actarg_start; ++ res[argnum]=(char*)malloc(actarg_len+1); ++ strncpy(res[argnum],¶ms[actarg_start],actarg_len); ++ res[argnum][actarg_len]=0; ++ ++argnum; ++ } ++ break; ++ } ++ if (params[actpos]!='\\') backslash=0; ++ break; ++ } ++ actpos++; ++ } ++ ++ return(res); ++} ++ ++ + int main(int argc, char *argv[]) + { + int userdir = 0; /* ~userdir flag */ +@@ -261,6 +503,10 @@ + char *actual_gname; /* actual group name */ + char *prog; /* name of this program */ + char *cmd; /* command to be executed */ ++ ++ int ind, ind2; ++ char **passedargv = 0; ++ + char cwd[AP_MAXPATH]; /* current working directory */ + char dwd[AP_MAXPATH]; /* docroot working directory */ + struct passwd *pw; /* password entry holder */ +@@ -534,8 +780,18 @@ + /* + * Error out if we cannot stat the program. + */ +- if (((lstat(cmd, &prg_info)) != 0) || (S_ISLNK(prg_info.st_mode))) { +- log_err("error: cannot stat program: (%s)\n", cmd); ++ passedargv=param_separate(cmd,argc-4); ++ for (ind=0; passedargv[ind]; ++ind); ++ for (ind2=4;ind2<argc;++ind2,++ind) { ++ if (argv[ind2]!=0) if (argv[ind2][0]!=0) passedargv[ind]=strdup(argv[ind2]); ++ if (passedargv[ind]==0) { ++ passedargv[ind]=malloc(1); ++ passedargv[ind][0]=0; ++ } ++ } ++ ++ if (((lstat(passedargv[0], &prg_info)) != 0) || (S_ISLNK(prg_info.st_mode))) { ++ log_err("error: cannot stat program: (%s)\n", passedargv[0]); + exit(117); + } + +@@ -543,7 +799,7 @@ + * Error out if the program is writable by others. + */ + if ((prg_info.st_mode & S_IWOTH) || (prg_info.st_mode & S_IWGRP)) { +- log_err("error: file is writable by others: (%s/%s)\n", cwd, cmd); ++ log_err("error: file is writable by others: (%s/%s)\n", cwd, passedargv[0]); + exit(118); + } + +@@ -551,7 +807,7 @@ + * Error out if the file is setuid or setgid. + */ + if ((prg_info.st_mode & S_ISUID) || (prg_info.st_mode & S_ISGID)) { +- log_err("error: file is either setuid or setgid: (%s/%s)\n", cwd, cmd); ++ log_err("error: file is either setuid or setgid: (%s/%s)\n", cwd, passedargv[0]); + exit(119); + } + +@@ -576,7 +832,7 @@ + * "[error] Premature end of script headers: ..." + */ + if (!(prg_info.st_mode & S_IXUSR)) { +- log_err("error: file has no execute permission: (%s/%s)\n", cwd, cmd); ++ log_err("error: file has no execute permission: (%s/%s)\n", cwd, passedargv[0]); + exit(121); + } + +@@ -609,6 +865,8 @@ + /* + * Execute the command, replacing our image with its own. + */ ++ execv(passedargv[0], passedargv); ++#if 0 + #ifdef NEED_HASHBANG_EMUL + /* We need the #! emulation when we want to execute scripts */ + { +@@ -619,7 +877,7 @@ + #else /*NEED_HASHBANG_EMUL*/ + execv(cmd, &argv[3]); + #endif /*NEED_HASHBANG_EMUL*/ +- ++#endif + /* + * (I can't help myself...sorry.) + * +@@ -629,5 +887,10 @@ + * Oh well, log the failure and error out. + */ + log_err("emerg: (%d)%s: exec failed (%s)\n", errno, strerror(errno), cmd); ++ ++ for (ind=0;passedargv[ind];++ind) free(passedargv[ind]); ++ free(passedargv); ++ passedargv=0; ++ + exit(255); + } diff --git a/net-www/apache/files/1.3.24/deb/suexec_of_death b/net-www/apache/files/1.3.24/deb/suexec_of_death new file mode 100644 index 000000000000..e0002d283790 --- /dev/null +++ b/net-www/apache/files/1.3.24/deb/suexec_of_death @@ -0,0 +1,24 @@ +--- apache-1.3.6.orig/src/main/http_core.c ++++ apache-1.3.6/src/main/http_core.c +@@ -1892,8 +1892,9 @@ + else { + cmd->server->server_uid = ap_user_id; + fprintf(stderr, +- "Warning: User directive in <VirtualHost> " ++ "ERROR: User directive in <VirtualHost> " + "requires SUEXEC wrapper.\n"); ++ exit (1); + } + } + #if !defined (BIG_SECURITY_HOLE) && !defined (OS2) +@@ -1933,8 +1934,9 @@ + else { + cmd->server->server_gid = ap_group_id; + fprintf(stderr, +- "Warning: Group directive in <VirtualHost> requires " ++ "ERROR: Group directive in <VirtualHost> requires " + "SUEXEC wrapper.\n"); ++ exit (1); + } + } + diff --git a/net-www/apache/files/1.3.24/deb/usr_bin_perl_owns_you b/net-www/apache/files/1.3.24/deb/usr_bin_perl_owns_you new file mode 100644 index 000000000000..c05e3fc4d2ba --- /dev/null +++ b/net-www/apache/files/1.3.24/deb/usr_bin_perl_owns_you @@ -0,0 +1,53 @@ +diff --minimal --new-file --recursive --show-c-function --unified=3 apache_1.3.12.old/cgi-bin/printenv apache_1.3.12/cgi-bin/printenv +--- apache_1.3.12.old/cgi-bin/printenv Wed Nov 24 12:10:58 1999 ++++ apache_1.3.12/cgi-bin/printenv Sun Apr 16 09:50:04 2000 +@@ -1,4 +1,4 @@ +-#!/usr/local/bin/perl ++#!/usr/bin/perl + ## + ## printenv -- demo CGI program which just prints its environment + ## +diff --minimal --new-file --recursive --show-c-function --unified=3 apache_1.3.12.old/cgi-bin/printenv.~1~ apache_1.3.12/cgi-bin/printenv.~1~ +--- apache_1.3.12.old/cgi-bin/printenv.~1~ Wed Dec 31 18:00:00 1969 ++++ apache_1.3.12/cgi-bin/printenv.~1~ Sun Apr 16 09:49:43 2000 +@@ -0,0 +1,13 @@ ++#!/usr/local/bin/perl ++## ++## printenv -- demo CGI program which just prints its environment ++## ++ ++print "Content-type: text/plain\n\n"; ++foreach $var (sort(keys(%ENV))) { ++ $val = $ENV{$var}; ++ $val =~ s|\n|\\n|g; ++ $val =~ s|"|\\"|g; ++ print "${var}=\"${val}\"\n"; ++} ++ +diff --minimal --new-file --recursive --show-c-function --unified=3 apache_1.3.12.old/src/support/dbmmanage apache_1.3.12/src/support/dbmmanage +--- apache_1.3.12.old/src/support/dbmmanage Sun Nov 28 07:37:53 1999 ++++ apache_1.3.12/src/support/dbmmanage Sun Apr 16 09:49:43 2000 +@@ -1,4 +1,4 @@ +-#!/usr/local/bin/perl ++#!/usr/bin/perl + + # ==================================================================== + # Copyright (c) 1995-1999 The Apache Group. All rights reserved. +diff --minimal --new-file --recursive --show-c-function --unified=3 apache_1.3.12.old/src/support/log_server_status apache_1.3.12/src/support/log_server_status +--- apache_1.3.12.old/src/support/log_server_status Fri Jun 4 10:54:19 1999 ++++ apache_1.3.12/src/support/log_server_status Sun Apr 16 09:49:43 2000 +@@ -1,4 +1,4 @@ +-#!/usr/local/bin/perl ++#!/usr/bin/perl + + # ==================================================================== + # Copyright (c) 1995-1999 The Apache Group. All rights reserved. +diff --minimal --new-file --recursive --show-c-function --unified=3 apache_1.3.12.old/src/support/phf_abuse_log.cgi apache_1.3.12/src/support/phf_abuse_log.cgi +--- apache_1.3.12.old/src/support/phf_abuse_log.cgi Tue Oct 8 16:14:49 1996 ++++ apache_1.3.12/src/support/phf_abuse_log.cgi Sun Apr 16 09:49:43 2000 +@@ -1,4 +1,4 @@ +-#!/usr/local/bin/perl ++#!/usr/bin/perl + + # This script can be used to detect people trying to abuse the security hole which + # existed in A CGI script direstributed with Apache 1.0.3 and earlier versions. diff --git a/net-www/apache/files/1.3.24/mdk/apache-1.3.14-mkstemp.patch b/net-www/apache/files/1.3.24/mdk/apache-1.3.14-mkstemp.patch new file mode 100644 index 000000000000..c1e86b95cee7 --- /dev/null +++ b/net-www/apache/files/1.3.24/mdk/apache-1.3.14-mkstemp.patch @@ -0,0 +1,110 @@ +diff -aur apache_1.3.14/src/support/htdigest.c apache_1.3.14-mkstemp/src/support/htdigest.c +--- apache_1.3.14/src/support/htdigest.c Tue Jan 25 23:36:53 2000 ++++ apache_1.3.14-mkstemp/src/support/htdigest.c Tue Jan 9 20:42:42 2001 +@@ -93,7 +93,7 @@ + + #define MAX_STRING_LEN 256 + +-char *tn; ++char tn[MAX_STRING_LEN]; + + + static void getword(char *word, char *line, char stop) +@@ -156,7 +156,7 @@ + ap_getpass("Re-type new password: ", pwv, sizeof(pwv)); + if (strcmp(pwin, pwv) != 0) { + fprintf(stderr, "They don't match, sorry.\n"); +- if (tn) { ++ if (strlen(tn)) { + unlink(tn); + } + exit(1); +@@ -187,7 +187,7 @@ + static void interrupted(void) + { + fprintf(stderr, "Interrupted.\n"); +- if (tn) ++ if (strlen(tn)) + unlink(tn); + exit(1); + } +@@ -215,8 +215,9 @@ + char x[MAX_STRING_LEN]; + char command[MAX_STRING_LEN]; + int found; ++ int tfd; + +- tn = NULL; ++ strcpy (tn, "/tmp/htdigest-XXXXXX"); + signal(SIGINT, (void (*)(int)) interrupted); + if (argc == 5) { + if (strcmp(argv[1], "-c")) +@@ -235,8 +236,12 @@ + else if (argc != 4) + usage(); + +- tn = tmpnam(NULL); +- if (!(tfp = fopen(tn, "w"))) { ++ tfd = mkstemp (tn); ++ if (tfd == -1) { ++ fprintf(stderr, "Could not open temp file.\n"); ++ exit(1); ++ } ++ if (!(tfp = fdopen(tfd, "w"))) { + fprintf(stderr, "Could not open temp file.\n"); + exit(1); + } +diff -aur apache_1.3.14/src/support/htpasswd.c apache_1.3.14-mkstemp/src/support/htpasswd.c +--- apache_1.3.14/src/support/htpasswd.c Thu Jun 1 19:42:33 2000 ++++ apache_1.3.14-mkstemp/src/support/htpasswd.c Tue Jan 9 20:41:36 2001 +@@ -125,7 +125,7 @@ + * This needs to be declared statically so the signal handler can + * access it. + */ +-static char *tempfilename; ++static char tempfilename[MAX_STRING_LEN]; + /* + * If our platform knows about the tmpnam() external buffer size, create + * a buffer to pass in. This is needed in a threaded environment, or +@@ -285,7 +285,7 @@ + static void interrupted(void) + { + fprintf(stderr, "Interrupted.\n"); +- if (tempfilename != NULL) { ++ if (strlen(tempfilename) > 0) { + unlink(tempfilename); + } + exit(ERR_INTERRUPTED); +@@ -377,8 +377,10 @@ + int noninteractive = 0; + int i; + int args_left = 2; ++ int tfd; ++ ++ memset (tempfilename, 0x00, sizeof(tempfilename)); + +- tempfilename = NULL; + signal(SIGINT, (void (*)(int)) interrupted); + + /* +@@ -560,8 +562,9 @@ + * to add or update. Let's do it.. + */ + errno = 0; +- tempfilename = tmpnam(tname_buf); +- if ((tempfilename == NULL) || (*tempfilename == '\0')) { ++ strcpy(tempfilename, "/tmp/htpasswd-XXXXXX"); ++ tfd = mkstemp(tempfilename); ++ if (tfd == -1) { + fprintf(stderr, "%s: unable to generate temporary filename\n", + argv[0]); + if (errno == 0) { +@@ -570,7 +573,7 @@ + perror("tmpnam"); + exit(ERR_FILEPERM); + } +- ftemp = fopen(tempfilename, "w+"); ++ ftemp = fdopen(tfd, "w+"); + if (ftemp == NULL) { + fprintf(stderr, "%s: unable to create temporary file '%s'\n", argv[0], + tempfilename); diff --git a/net-www/apache/files/1.3.24/mdk/apache-1.3.20.manpage.patch b/net-www/apache/files/1.3.24/mdk/apache-1.3.20.manpage.patch new file mode 100644 index 000000000000..4044f40d3452 --- /dev/null +++ b/net-www/apache/files/1.3.24/mdk/apache-1.3.20.manpage.patch @@ -0,0 +1,30 @@ +--- src/support/httpd.8.mdk Tue Oct 9 16:09:54 2001 ++++ src/support/httpd.8 Tue Oct 9 16:16:11 2001 +@@ -195,21 +195,17 @@ + , and then exit. + .SH FILES + .PD 0 +-.B /usr/local/apache/conf/httpd.conf ++.B /etc/apache/conf/apache.conf + .br +-.B /usr/local/apache/conf/srm.conf ++.B /etc/apache/conf/apache-mime.types + .br +-.B /usr/local/apache/conf/access.conf ++.B /etc/apache/conf/magic + .br +-.B /usr/local/apache/conf/mime.types ++.B /var/log/apache/error_log + .br +-.B /usr/local/apache/conf/magic ++.B /var/log/apache/access_log + .br +-.B /usr/local/apache/logs/error_log +-.br +-.B /usr/local/apache/logs/access_log +-.br +-.B /usr/local/apache/logs/httpd.pid ++.B /var/run/apache.pid + .PD + .SH SEE ALSO + .BR inetd (8). diff --git a/net-www/apache/files/1.3.24/mdk/apache_1.3.11-apxs.patch b/net-www/apache/files/1.3.24/mdk/apache_1.3.11-apxs.patch new file mode 100644 index 000000000000..7ff0e596ce77 --- /dev/null +++ b/net-www/apache/files/1.3.24/mdk/apache_1.3.11-apxs.patch @@ -0,0 +1,25 @@ +--- apache_1.3.6/src/support/apxs.pl.apxs Mon Mar 15 17:47:36 1999 ++++ apache_1.3.6/src/support/apxs.pl Wed Mar 24 18:15:01 1999 +@@ -220,15 +220,15 @@ + ## Initial DSO support check + ## + if (not -x "$CFG_SBINDIR/$CFG_TARGET") { +- print STDERR "apxs:Error: $CFG_SBINDIR/$CFG_TARGET not found or not executable\n"; +- exit(1); ++ print STDERR "apxs:Warning: $CFG_SBINDIR/$CFG_TARGET not found or not executable\n"; ++ print STDERR "apxs:Warning: Continuing anyway...\n"; + } + if (not grep(/mod_so/, `$CFG_SBINDIR/$CFG_TARGET -l`)) { +- print STDERR "apxs:Error: Sorry, no DSO support for Apache available\n"; +- print STDERR "apxs:Error: under your platform. Make sure the Apache\n"; +- print STDERR "apxs:Error: module mod_so is compiled into your server\n"; +- print STDERR "apxs:Error: binary `$CFG_SBINDIR/$CFG_TARGET'.\n"; +- exit(1); ++ print STDERR "apxs:Warning: No shared object support for Apache\n"; ++ print STDERR "apxs:Warning: available under your platform. Make sure\n"; ++ print STDERR "apxs:Warning: the Apache module mod_so is compiled into\n"; ++ print STDERR "apxs:Warning: your server binary `$CFG_SBINDIR/$CFG_TARGET'.\n"; ++ print STDERR "apxs:Warning: Continuing anyway...\n"; + } + + ## diff --git a/net-www/apache/files/1.3.24/mdk/apache_1.3.22-srvroot.patch b/net-www/apache/files/1.3.24/mdk/apache_1.3.22-srvroot.patch new file mode 100644 index 000000000000..d246d85823c4 --- /dev/null +++ b/net-www/apache/files/1.3.24/mdk/apache_1.3.22-srvroot.patch @@ -0,0 +1,112 @@ +--- ./configure.mdk Tue Oct 16 20:07:27 2001 ++++ ./configure Tue Oct 16 20:11:57 2001 +@@ -502,7 +502,7 @@ + for var in prefix exec_prefix bindir sbindir libexecdir mandir \ + sysconfdir datadir iconsdir htdocsdir manualdir cgidir \ + includedir localstatedir runtimedir logfiledir \ +- proxycachedir; do ++ proxycachedir serverroot; do + eval "val=\"\$$var\"" + case $val in + *+ ) +@@ -663,6 +663,9 @@ + sysconfdir="$apc_optarg" + autosuffix_sysconfdir=no + ;; ++ --serverroot=*) ++ serverroot="$apc_optarg" ++ ;; + --datadir=*) + datadir="$apc_optarg" + autosuffix_datadir=no +@@ -1112,7 +1115,7 @@ + for var in prefix exec_prefix bindir sbindir libexecdir mandir \ + sysconfdir datadir iconsdir htdocsdir manualdir cgidir \ + includedir localstatedir runtimedir logfiledir \ +- proxycachedir suexec_docroot suexec_logexec ; do ++ proxycachedir suexec_docroot suexec_logexec serverroot; do + eval "val=\"\$$var\""; + val=`echo $val | sed -e 's:\(.\)/*$:\1:'` + eval "$var=\"$val\"" +@@ -1217,8 +1220,8 @@ + ## path is just the emtpy one, i.e. ""] + ## + runtimedir_relative=`echo $runtimedir | sed -e "s:^$prefix/*::" -e 's:\(.\)$:\1/:'` +-logfiledir_relative=`echo $logfiledir | sed -e "s:^$prefix/*::" -e 's:\(.\)$:\1/:'` +-sysconfdir_relative=`echo $sysconfdir | sed -e "s:^$prefix/*::" -e 's:\(.\)$:\1/:'` ++logfiledir_relative=`echo $logfiledir | sed -e "s:^$serverroot/*::" -e 's:\(.\)$:\1/:'` ++sysconfdir_relative=`echo $sysconfdir | sed -e "s:^$serverroot/*::" -e 's:\(.\)$:\1/:'` + libexecdir_relative=`echo $libexecdir | sed -e "s:^$prefix/*::" -e 's:\(.\)$:\1/:'` + + ## +@@ -1246,7 +1249,7 @@ + echo " proxycachedir: $proxycachedir" + echo "" + echo "Compilation paths:" +- echo " HTTPD_ROOT: $prefix" ++ echo " HTTPD_ROOT: $serverroot" + echo " SHARED_CORE_DIR: $libexecdir" + echo " DEFAULT_PIDLOG: ${runtimedir_relative}${thetarget}.pid" + echo " DEFAULT_SCOREBOARD: ${runtimedir_relative}${thetarget}.scoreboard" +@@ -1306,6 +1309,7 @@ + -e "s%@libexecdir_relative@%$libexecdir_relative%g" \ + -e "s%@mandir@%$mandir%g" \ + -e "s%@sysconfdir@%$sysconfdir%g" \ ++-e "s%@serverroot@%$serverroot%g" \ + -e "s%@datadir@%$datadir%g" \ + -e "s%@iconsdir@%$iconsdir%g" \ + -e "s%@htdocsdir@%$htdocsdir%g" \ +@@ -1344,7 +1348,7 @@ + echo "#!/bin/sh" >$src/apaci + echo "## USED AS A COMMAND LINE EXPANDER TO OVERRIDE PATHS" >>$src/apaci + echo "## WITHOUT DISTURBING THE KNOWN MAKE BUILD PROCESS DISPLAY" >>$src/apaci +-echo "echo '-DHTTPD_ROOT=\"$prefix\"'" >>$src/apaci ++echo "echo '-DHTTPD_ROOT=\"$serverroot\"'" >>$src/apaci + echo "echo '-DSUEXEC_BIN=\"$sbindir/suexec\"'" >>$src/apaci + echo "echo '-DSHARED_CORE_DIR=\"$libexecdir\"'" >>$src/apaci + echo "echo '-DDEFAULT_PIDLOG=\"${runtimedir_relative}${thetarget}.pid\"'" >>$src/apaci +--- ./config.layout.mdk Tue Oct 16 20:07:38 2001 ++++ ./config.layout Tue Oct 16 20:15:13 2001 +@@ -28,6 +28,7 @@ + runtimedir: $localstatedir/logs + logfiledir: $localstatedir/logs + proxycachedir: $localstatedir/proxy ++ serverroot: $prefix + </Layout> + + # GNU standards conforming path layout. +@@ -50,6 +51,7 @@ + runtimedir: $localstatedir/run + logfiledir: $localstatedir/log + proxycachedir: $localstatedir/proxy ++ serverroot: $prefix + </Layout> + + # Apache binary distribution path layout +@@ -92,6 +94,7 @@ + runtimedir: $prefix/Logs + logfiledir: $prefix/Logs + proxycachedir: $prefix/ProxyCache ++ serverroot: $prefix + </Layout> + + # Darwin/Mac OS Layout +@@ -115,8 +118,8 @@ + proxycachedir: $runtimedir/proxy + </Layout> + +-# RedHat 5.x layout +-<Layout RedHat> ++# ADVX layout ++<Layout ADVX> + prefix: /usr + exec_prefix: $prefix + bindir: $prefix/bin +@@ -134,6 +137,7 @@ + runtimedir: $localstatedir/run + logfiledir: $localstatedir/log/httpd + proxycachedir: $localstatedir/cache/httpd ++ serverroot: /etc/httpd + </Layout> + + # According to the /opt filesystem conventions diff --git a/net-www/apache/files/apache-builtin-mods b/net-www/apache/files/apache-builtin-mods new file mode 100644 index 000000000000..e0fe46543125 --- /dev/null +++ b/net-www/apache/files/apache-builtin-mods @@ -0,0 +1,71 @@ +# This is a config file for choosing which Apache built-in modules you +# want and how they should be compiled. You have the option of either +# compiling them statically into the apache binary, or building them +# as DSO's (Dynamic Shared Object). Please consult some documentation +# for reasons why you'd want one versus the other. This file simply +# helps to make your life easier when customizing and upgrading your +# Apache server. The defaults are _fine_ for most users, and it is +# assumed you _know_ what you're doing if you change things in here. +# +# This file will be installed into /etc/apache when you first emerge +# Apache. If/when you upgrade by installing a newer version, it will +# be consulted for your options. In this way, your previous +# configuration is preserved without the need to edit the actual +# ebuild. The default configuration in the Apache ebuild's files/ +# directory is used as a fallback if the one in /etc/apache is not +# available. +# +# To compile a module statically into the apache binary, simply put +# static beside it. To compile a module as a DSO, put shared beside +# it. To disable a module, simply put a - as the first character on +# the line. +# +# Examples: +# mod_access shared ( this would build a DSO ) +# mod_actions static ( this would get compiled statically ) +# - mod_alias shared ( this module would not be built at all ) +# +# Please be aware that if you _do_ customize these then you'll need +# to manually adjust your apache.conf file, tweaking the LoadModule +# and AddModule lines accordingly or else your server will fail to +# start! You've been warned ;) +# +# // woodchip + +mod_access shared +mod_actions shared +mod_alias shared +mod_asis shared +mod_auth shared +mod_auth_anon shared +mod_auth_db shared +mod_auth_dbm shared +mod_auth_digest shared +mod_autoindex shared +mod_cern_meta shared +mod_cgi shared +mod_digest shared +mod_dir shared +mod_env shared +mod_example shared +mod_expires shared +mod_headers shared +mod_imap shared +mod_include shared +mod_info shared +mod_log_agent shared +mod_log_config shared +mod_log_referer shared +mod_mime shared +mod_mime_magic shared +mod_mmap_static shared +mod_negotiation shared +mod_proxy shared +mod_rewrite shared +mod_setenvif shared +mod_speling shared +mod_status shared +mod_unique_id shared +mod_userdir shared +mod_usertrack shared +mod_vhost_alias shared diff --git a/net-www/apache/files/apache.confd b/net-www/apache/files/apache.confd new file mode 100644 index 000000000000..a84c237411aa --- /dev/null +++ b/net-www/apache/files/apache.confd @@ -0,0 +1,25 @@ +# Config file for /etc/init.d/apache + +# Here's an example from /etc/apache/conf/apache.conf using mod_ssl: +# +# <IfDefine SSL> +# LoadModule ssl_module extramodules/libssl.so +# </IfDefine> +# +# This means that libssl.so is only loaded into the server when you +# pass "-D SSL" to it at startup. +# +# Anything else in apache.conf which is guarded similarly, like: +# +# <IfDefine FOO> ... </IfDefine> +# +# can be easily turned on/off by editing APACHE_OPTS below to +# include or to not include "-D FOO". +# +# If you installed mod_throttle, you can add "-D THROTTLE"; if you +# installed mod_dav, then add "-D DAV". For mod_gzip use "-D GZIP". +# The mod_contribs package has several options you can use. See +# your apache.conf file for more details. + + +#APACHE_OPTS="-D SSL -D PHP4" diff --git a/net-www/apache/files/apache.rc6 b/net-www/apache/files/apache.rc6 new file mode 100644 index 000000000000..a7e9b586fb9f --- /dev/null +++ b/net-www/apache/files/apache.rc6 @@ -0,0 +1,22 @@ +#!/sbin/runscript +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/net-www/apache/files/apache.rc6,v 1.1 2002/04/09 23:51:39 woodchip Exp $ + +depend() { + need net + use mysql +} + +start() { + ebegin "Starting apache" + start-stop-daemon --quiet --start --startas /usr/sbin/apache \ + --pidfile /var/run/apache.pid -- ${APACHE_OPTS} + eend $? +} + +stop() { + ebegin "Stopping apache" + start-stop-daemon --quiet --stop --pidfile /var/run/apache.pid + eend $? +} diff --git a/net-www/apache/files/apacheaddmod b/net-www/apache/files/apacheaddmod new file mode 100644 index 000000000000..72b859fc9e49 --- /dev/null +++ b/net-www/apache/files/apacheaddmod @@ -0,0 +1,209 @@ +#!/usr/bin/perl +# apacheaddmod +# Script to modify the Apache configuration file to include a module +# (C) 2001 Jean-Michel Dault <jmdault@mandrakesoft.com> and Mandrakesoft +# You can use it under the Apache Licence + +# This script will try to add the module at the correct place in the config +# file. It will try to find the last LoadModule and AddModule directives +# that come before a special section (<Directory>, <VirtualHost>...) and +# try to place its directives there. If you specify a "before=mod_foo" +# option, it will try to position itself before that module. If you specify +# "define=WHATEVER", it will place the module between <IfDefine WHATEVER> +# directives. + +$bakpath="/etc/apache/conf/bak"; + +if ((!$ARGV[0]) || (!$ARGV[1]) || (!$ARGV[2]) || (!$ARGV[3])) { + print "Usage: $0 <conffile> <path/mod_filename.so> <mod_name.c> \n"; + print "<name_module> [OPTIONS]\n"; + print "Options:\n"; + print " before=mod_filename will add before specified module\n"; + print " define=WHATEVER will install module between <IfDefine WHATEVER>\n"; + print " addconf=CONFFILE adds 'Include CONFFILE' in apache.conf\n"; + die "\n"; +} + +sub debug{ + if ($DEBUG) { foreach (@_) { print $_; } } +} + +$modso=$ARGV[1]; +$modc=$ARGV[2]; +$name_mod=$ARGV[3]; + +@confparts=split(/\//,$ARGV[0]); + +if ($#confparts==0) { +# debug "confparts=0\n"; + $confpath="/etc/apache/conf"; + $conf="$ARGV[0]"; +} else { +# debug "confparts=$#confparts\n"; + $conf="$confparts[$#confparts]"; + $confpath=join('/',@confparts[0 .. $#confparts-1]); +} + +system("mkdir -p $bakpath") ==0 + or die "Can't create backup directory $bakpath\n"; + +#debug "Confpath: $confpath\n"; +#debug "Conffile: $conf\n"; +#debug "Backups: $bakpath\n"; + + +foreach (@ARGV) { + if (/before=(\w+)/i) { + $_=$1; + s/^mod_//g; + s/^lib//g; + s/\.so$//g; + $before1="mod_$_"; + $before2="lib$_"; + debug "##before1=$before1##before2=$before2\n"; + } + if (/define=(\w+)/i) { + $opendef="<IfDefine $1>\n"; + $closedef="</IfDefine>\n"; + debug "##define=$1##\n"; + } + if (/addconf=(\S+)/i) { + $addconf="Include $1\n"; + } +} + + +$_=`date +%Y%m%d-%T`;chop;s/:/./g;$dat=$_; +$bak="$conf-$dat"; +debug "$bak\n"; + + +open(BAK,">$bakpath/$bak") or die "Can't create $bakpath/$bak\n"; +open(CONFF,"$confpath/$conf") or die "Can't open $confpath/$conf\n"; + +while (<CONFF>) { + print BAK $_; + if ($insidesection==0) { $lastbeforesection=$.}; + if (/^\<\w+/i) { + $insidesection=1; + if (/^\<IfDefine/i) { $lastbeforedefine=$.}; + $lastbeforesection-=1; +# debug "Entering section $_"; + } + if (/^\<\/\w+/i) { + $insidesection=0; + if (/^\<\/IfDefine/i) { $lastbeforedefine=0}; +# debug "Leaving section $_"; + } + if (/^\<(Directory)/i) { + if ($inmain==0) { debug "Met my first inmain directive\n"; } + $inmain=1; + } + if (/^\<(Location)/i) { + if ($inmain==0) { debug "Met my first inmain directive\n"; } + $inmain=1; + } + if (/^\<(Files)/i) { + if ($inmain==0) { debug "Met my first inmain directive\n"; } + $inmain=1; + } + if (/^\<(Limit)/i) { + if ($inmain==0) { debug "Met my first inmain directive\n"; } + $inmain=1; + } + if (/^\<(VirtualHost)/i) { + if ($inmain==0) { debug "Met my first inmain directive\n"; } + $inmain=1; + } + if (/^#*LoadModule\s+\w+_module\s+.*[\/]{1}(\w+)\./i) { + if ($inmain==0) {$lastload=$lastbeforesection} + if ($lastbeforedefine > 0) {$lastload=$lastbeforedefine} + if (($before1 eq $1) || ($before2 eq $1)) { + $beforeload=$lastload; + debug "Found Loadmodule $1 at line $beforeload\n"; + } +# debug "Load module #$1# at line line $lastload\n"; + } + if (/^#*AddModule\s+(\w+)\./i) { + if ($inmain==0) {$lastadd=$lastbeforesection} + if ($lastbeforedefine > 0) {$lastadd=$lastbeforedefine} + if (($before1 eq $1) || ($before2 eq $1)) { + $beforeadd=$lastadd; + debug "Found Addmodule $1 at line $beforeadd\n"; + } +# debug "Add module #$1# at line $lastadd\n"; + } +} +$lastline=$.; + +if ($lastload > 1) { + debug "Last valid LoadModule at line $lastload\n"; +} else { + debug "Did not find any valid LoadModule directive. Load at the end.\n"; + $lastload=$lastline+1; +} +if ($lastadd > 1) { + debug "Last valid AddModule at line $lastadd\n"; +} else { + debug "Did not find any valid AddModule directive. Add at the end.\n"; + $lastadd=$lastline+1; +} + + +if ($beforeload > $lastload) { + debug "$before1 or $before2 loaded too low in the config file!\n"; + debug "Will load right before the last valid module\n"; +} + +if ($beforeadd > $lastadd) { + debug "$before1 or $before2 added too low in the config file!\n"; + debug "Will add right before the last valid module\n"; +} + +if (($beforeload > 0) && ($beforeload <= $lastload)) { + $lastload=$beforeload; + debug "Beforeload exists and is before (or is) the last valid loaded module\n"; + debug "Loading before $before1 or $before2 directive\n"; +} +if (($beforeadd > 0) && ($beforeadd <= $lastadd)) { + $lastadd=$beforeadd; + debug "Beforeadd exists and is before (or is) the last valid loaded module\n"; + debug "Adding before $before1 or $before2 directive\n"; +} + +#remove 1 from the line count +$lastload-=1;$lastadd-=1; + +debug "Beforeload $beforeload\n"; +debug "Beforeadd $beforeadd\n"; +debug "Lastload: $lastload\n"; +debug "Lastadd: $lastadd\n"; + + +close(CONFF); +close(BAK); + +debug "\nFinal results:\n"; +debug "Put Loadmodule after line: $lastload\n"; +debug "Put Addmodule after line: $lastadd\n"; + +open(BAK,"$bakpath/$bak") or die "Can't open $bakpath/$bak\n"; +open(CONFF,">$confpath/$conf") or die "Can't create $confpath/$conf\n"; + +while (<BAK>) { + print CONFF $_; + if ($.==$lastload) { + print CONFF "$opendef"; + print CONFF "LoadModule $name_mod $modso\n"; + print CONFF "$closedef"; + } + if ($.==$lastadd) { + print CONFF "$opendef"; + print CONFF "AddModule $modc\n"; + print CONFF "$closedef"; + } +} +print CONFF $addconf; + +close(CONFF); +close(BAK); diff --git a/net-www/apache/files/apachedelmod b/net-www/apache/files/apachedelmod new file mode 100644 index 000000000000..11b61befccc8 --- /dev/null +++ b/net-www/apache/files/apachedelmod @@ -0,0 +1,132 @@ +#!/usr/bin/perl +# apachedelmod +# Script to modify the Apache configuration file to remove a module +# (C) 2001 Jean-Michel Dault <jmdault@mandrakesoft.com> and Mandrakesoft +# You can use it under the Apache Licence + +# See InstallModule for more info ;-) + +$bakpath="/etc/apache/conf/bak"; + +if ((!$ARGV[0]) || (!$ARGV[1]) || (!$ARGV[2]) || (!$ARGV[3])) { + print "Usage: $0 <conffile> <mod_filename> <mod_name> \n"; + print "<name_module> [OPTIONS]\n"; + print "Options:\n"; + print " define=WHATEVER will remove module between <IfDefine WHATEVER>\n"; + print " addconf=CONFFILE removes 'Include CONFFILE' in apache.conf\n"; + die "\n"; +} + +sub debug{ + if ($DEBUG) { foreach (@_) { print $_; } } +} + +$_=$ARGV[1]; + s/^.*\///g; + s/^mod_//g; + s/^lib//g; + s/\.so$//g; +$modso=$_; + +$modc=$ARGV[2]; +$name_mod=$ARGV[3]; + +@confparts=split(/\//,$ARGV[0]); + +if ($#confparts==0) { +# debug "confparts=0\n"; + $confpath="/etc/apache/conf"; + $conf="$ARGV[0]"; +} else { +# debug "confparts=$#confparts\n"; + $conf="$confparts[$#confparts]"; + $confpath=join('/',@confparts[0 .. $#confparts-1]); +} + +system("mkdir -p $bakpath") ==0 + or die "Can't create backup directory $bakpath\n"; + +#debug "Confpath: $confpath\n"; +#debug "Conffile: $conf\n"; +#debug "Backups: $bakpath\n"; + + +foreach (@ARGV) { + if (/define=(\w+)/i) { + $opendef="<IfDefine $1>\n"; + $closedef="</IfDefine>\n"; + debug "##define=$1##\n"; + } + if (/addconf=(\S+)/i) { + $addconf=$1; + } +} + + +$_=`date +%Y%m%d-%T`;chop;s/:/./g;$dat=$_; +$bak="$conf-$dat"; +debug "$bak\n"; + + +open(BAK,">$bakpath/$bak") or die "Can't create $bakpath/$bak\n"; +open(CONFF,"$confpath/$conf") or die "Can't open $confpath/$conf\n"; + +while (<CONFF>) { + print BAK $_; + if (($opendef) && (/^$opendef/i)) { + debug "$opendef"; + $beginsection=$.; + $mysection=1; + } + if (/^#*LoadModule\s+$name_mod\s+.*$modso/i) { + $delline{$.}=1; + debug "Deleting Loadmodule at line $.\n"; + } + if (/^#*AddModule\s+$modc/i) { + $delline{$.}=1; + debug "Deleting Addmodule at line $.\n"; + } + if (($addconf) &&(/^#*Include\s+$addconf/i)) { + $delline{$.}=1; + debug "Deleting Include at line $."; + } + if (($closedef) && (/^$closedef/) && ($mysection > 0)) { + debug "$closedef"; + if ((($.-$beginsection) == 2) && ($delline{$.-1}==1)) { + debug "Removing entire section\n"; + $delline{$beginsection}=$delline{$.}=1; + } + if (($.-$beginsection) ==1) { + debug "Empty section! Removing.\n"; + $delline{$beginsection}=$delline{$.}=1; + } + if (($.-$beginsection) >2) { + debug "Section contain more than one directive...\n"; + debug "Leaving it alone.\n"; + } + $mysection=0; + } +} + +close(CONFF); +close(BAK); + +debug "-----\n"; +foreach (sort keys %delline) { + debug "Delete line $_="; + debug $delline{$_}; + debug "\n"; +} +debug "-----\n"; + +open(BAK,"$bakpath/$bak") or die "Can't open $bakpath/$bak\n"; +open(CONFF,">$confpath/$conf") or die "Can't create $confpath/$conf\n"; + +while (<BAK>) { + if ($delline{$.}!=1) { + print CONFF $_; + } +} + +close(CONFF); +close(BAK); diff --git a/net-www/apache/files/apachefixconf b/net-www/apache/files/apachefixconf new file mode 100644 index 000000000000..46f380f511dd --- /dev/null +++ b/net-www/apache/files/apachefixconf @@ -0,0 +1,111 @@ +#!/usr/bin/perl +# apachefixconf +# Script to fix a module include file +# (C) 2001 Jean-Michel Dault <jmdault@mandrakesoft.com> and Mandrakesoft +# You can use it under the Apache Licence + +# The script removes all LoadModule/Addmodule directives from a module +# config file (addon-modules/mod_foo.conf) and puts the whole file +# between IfDefine's + +$bakpath="/etc/apache/conf/bak"; + +if ((!$ARGV[0]) || (!$ARGV[1]) || (!$ARGV[2]) || (!$ARGV[3])) { + print "Usage: $0 <conffile> <mod_filename> <mod_name> \n"; + print "<name_module> [OPTIONS]\n"; + print "Options:\n"; + print " ifmodule will wrap config between <Ifmodule mod_name>\n"; + die "\n"; +} + +sub debug{ + if ($DEBUG) { foreach (@_) { print $_; } } +} + +$_=$ARGV[1]; + s/^.*\///g; + s/^mod_//g; + s/^lib//g; + s/\.so$//g; +$modso=$_; + +$modc=$ARGV[2]; +$name_mod=$ARGV[3]; + +@confparts=split(/\//,$ARGV[0]); + +if ($#confparts==0) { +# debug "confparts=0\n"; + $confpath="/etc/apache/conf"; + $conf="$ARGV[0]"; +} else { +# debug "confparts=$#confparts\n"; + $conf="$confparts[$#confparts]"; + $confpath=join('/',@confparts[0 .. $#confparts-1]); +} + +system("mkdir -p $bakpath") ==0 + or die "Can't create backup directory $bakpath\n"; + +#debug "Confpath: $confpath\n"; +#debug "Conffile: $conf\n"; +#debug "Backups: $bakpath\n"; + + +foreach (@ARGV) { + if (/ifmodule/i) { + $opendef="<IfModule $modc>\n"; + $closedef="</IfModule>\n"; + debug "##ifmodule $modc##\n"; + } +} + + +$_=`date +%Y%m%d-%T`;chop;s/:/./g;$dat=$_; +$bak="$conf-$dat"; +debug "$bak\n"; + + +open(BAK,">$bakpath/$bak") or die "Can't create $bakpath/$bak\n"; +open(CONFF,"$confpath/$conf") or die "Can't open $confpath/$conf\n"; + +while (<CONFF>) { + print BAK $_; + if (($opendef) && (/^$opendef/i)) { + debug "$opendef"; + $mysection=1; + } + if (/^#*LoadModule\s+$name_mod\s+.*$modso/i) { + $delline{$.}=1; + debug "Deleting Loadmodule at line $.\n"; + } + if (/^#*AddModule\s+$modc/i) { + $delline{$.}=1; + debug "Deleting Addmodule at line $.\n"; + } +} + +close(CONFF); +close(BAK); + +debug "-----\n"; +foreach (sort keys %delline) { + debug "Delete line $_="; + debug $delline{$_}; + debug "\n"; +} +debug "-----\n"; + +open(BAK,"$bakpath/$bak") or die "Can't open $bakpath/$bak\n"; +open(CONFF,">$confpath/$conf") or die "Can't create $confpath/$conf\n"; + +if ($mysection!=1) { print CONFF $opendef; } +while (<BAK>) { + if ($delline{$.}!=1) { + print CONFF $_; + } +} +if ($mysection!=1) { print CONFF $closedef; } + +close(CONFF); +close(BAK); diff --git a/net-www/apache/files/apachelogserverstatus b/net-www/apache/files/apachelogserverstatus new file mode 100644 index 000000000000..3d0d984afb9e --- /dev/null +++ b/net-www/apache/files/apachelogserverstatus @@ -0,0 +1,121 @@ +#!/usr/bin/perl + +## ==================================================================== +## The Apache Software License, Version 1.1 +## +## Copyright (c) 2000 The Apache Software Foundation. All rights +## reserved. +## +## Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions +## are met: +## +## 1. Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## +## 2. Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## +## 3. The end-user documentation included with the redistribution, +## if any, must include the following acknowledgment: +## "This product includes software developed by the +## Apache Software Foundation (http://www.apache.org/)." +## Alternately, this acknowledgment may appear in the software itself, +## if and wherever such third-party acknowledgments normally appear. +## +## 4. The names "Apache" and "Apache Software Foundation" must +## not be used to endorse or promote products derived from this +## software without prior written permission. For written +## permission, please contact apache@apache.org. +## +## 5. Products derived from this software may not be called "Apache", +## nor may "Apache" appear in their name, without prior written +## permission of the Apache Software Foundation. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +## DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR +## ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## ==================================================================== +## +## This software consists of voluntary contributions made by many +## individuals on behalf of the Apache Software Foundation. For more +## information on the Apache Software Foundation, please see +## <http://www.apache.org/>. +## +## Portions of this software are based upon public domain software +## originally written at the National Center for Supercomputing Applications, +## University of Illinois, Urbana-Champaign. +## + + +# Log Server Status +# Mark J Cox, UK Web Ltd 1996, mark@ukweb.com +# +# This script is designed to be run at a frequent interval by something +# like cron. It connects to the server and downloads the status +# information. It reformats the information to a single line and logs +# it to a file. Make sure the directory $wherelog is writable by the +# user who runs this script. +# +require 'sys/socket.ph'; + +$wherelog = "/var/log/apache/status/"; # Logs will be like "/var/log/graph/19960312" +$server = "localhost"; # Name of server, could be "www.foo.com" +$port = "80"; # Port on server +$request = "/status/?auto"; # Request to send + +sub tcp_connect +{ + local($host,$port) =@_; + $sockaddr='S n a4 x8'; + chop($hostname=`hostname`); + $port=(getservbyname($port, 'tcp'))[2] unless $port =~ /^\d+$/; + $me=pack($sockaddr,&AF_INET,0,(gethostbyname($hostname))[4]); + $them=pack($sockaddr,&AF_INET,$port,(gethostbyname($host))[4]); + socket(S,&PF_INET,&SOCK_STREAM,(getprotobyname('tcp'))[2]) || + die "socket: $!"; + bind(S,$me) || return "bind: $!"; + connect(S,$them) || return "connect: $!"; + select(S); + $| = 1; + select(stdout); + return ""; +} + +### Main + +{ + $year=`date +%y`; + chomp($year); + $year += ($year < 70) ? 2000 : 1900; + $date = $year . `date +%m%d:%H%M%S`; + chomp($date); + ($day,$time)=split(/:/,$date); + $res=&tcp_connect($server,$port); + open(OUT,">>$wherelog$day"); + if ($res) { + print OUT "$time:-1:-1:-1:-1:$res\n"; + exit 1; + } + print S "GET $request\n"; + while (<S>) { + $requests=$1 if ( m|^BusyServers:\ (\S+)|); + $idle=$1 if ( m|^IdleServers:\ (\S+)|); + $number=$1 if ( m|sses:\ (\S+)|); + $cpu=$1 if (m|^CPULoad:\ (\S+)|); + } + print OUT "$time:$requests:$idle:$number:$cpu\n"; +} + + diff --git a/net-www/apache/files/apachesplitlogfile b/net-www/apache/files/apachesplitlogfile new file mode 100644 index 000000000000..5b9967a88950 --- /dev/null +++ b/net-www/apache/files/apachesplitlogfile @@ -0,0 +1,120 @@ +#!/usr/bin/perl +# +## ==================================================================== +## The Apache Software License, Version 1.1 +## +## Copyright (c) 2000 The Apache Software Foundation. All rights +## reserved. +## +## Redistribution and use in source and binary forms, with or without +## modification, are permitted provided that the following conditions +## are met: +## +## 1. Redistributions of source code must retain the above copyright +## notice, this list of conditions and the following disclaimer. +## +## 2. Redistributions in binary form must reproduce the above copyright +## notice, this list of conditions and the following disclaimer in +## the documentation and/or other materials provided with the +## distribution. +## +## 3. The end-user documentation included with the redistribution, +## if any, must include the following acknowledgment: +## "This product includes software developed by the +## Apache Software Foundation (http://www.apache.org/)." +## Alternately, this acknowledgment may appear in the software itself, +## if and wherever such third-party acknowledgments normally appear. +## +## 4. The names "Apache" and "Apache Software Foundation" must +## not be used to endorse or promote products derived from this +## software without prior written permission. For written +## permission, please contact apache@apache.org. +## +## 5. Products derived from this software may not be called "Apache", +## nor may "Apache" appear in their name, without prior written +## permission of the Apache Software Foundation. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +## DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR +## ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## ==================================================================== +## +## This software consists of voluntary contributions made by many +## individuals on behalf of the Apache Software Foundation. For more +## information on the Apache Software Foundation, please see +## <http://www.apache.org/>. +## +## Portions of this software are based upon public domain software +## originally written at the National Center for Supercomputing Applications, +## University of Illinois, Urbana-Champaign. +## +## + +## Heavily modified by Jean-Michel Dault <jmdault@mandrakesoft.com> +## for use with in the Avanced Extranet Server. +## This script can now be used with the CustomLogs directive, with a pipe. +## When in combination with SetEnv VLOG <path>, it will write the log file +## in the right place. Also, it splits the log automatically with a year +## and month prefix. Finally, we open and re-close the logfile for every +## log entry. It is slower, but it permits us to check for symlinks, and +## flush the buffers so everything is realtime and we don't lose any entry. + +# +# This script will take a combined Web server access +# log file and break its contents into separate files. +# It assumes that the first field of each line is the +# virtual host identity (put there by "%v"), and that +# the logfiles should be named that+".log" in the current +# directory. +# +# The combined log file is read from stdin. Records read +# will be appended to any existing log files. +# + +while (<STDIN>) { + # + # Get the first token from the log record; it's the + # identity of the virtual host to which the record + # applies. + # + ($vhost) = split /\s/; + # + # Normalize the virtual host name to all lowercase. + # If it's blank, the request was handled by the default + # server, so supply a default name. This shouldn't + # happen, but caution rocks. + # + $vhost = lc ($vhost) or "access"; + # + + s/VLOG=(.*)[\/]*$//; + $logs=$1; + if($logs eq "") {$logs="/var/log/apache";} + $date=`date +%Y-%m`; + chop $date; + $filename="$logs/VLOG-$date-${vhost}.log"; + if (-l $filename) { + die "File $filename is a symlink, writing too dangerous, dying!\n"; + } + open LOGFILE, ">>$filename" + or die ("Can't open $logs/$filename"); + # + # Strip off the first token (which may be null in the + # case of the default server), and write the edited + # record to the current log file. + # + s/^\S*\s+//; + print LOGFILE $_; + close(LOGFILE); +} + +exit(0); diff --git a/net-www/apache/files/conf/DynamicVhosts.conf b/net-www/apache/files/conf/DynamicVhosts.conf new file mode 100644 index 000000000000..b63cbdf1031e --- /dev/null +++ b/net-www/apache/files/conf/DynamicVhosts.conf @@ -0,0 +1,23 @@ +# +#Simple dynamic virtual hosts +# +# This extract from apache.conf implements the virtual host arrangement +# outlined at http://www.apache.org/docs/vhosts/mass.html, using +# mod_vhost_alias. + +# get the server name from the Host: header +#UseCanonicalName Off +# +# this log format can be split per-virtual-host based on the first field +#LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon +#CustomLog logs/access_log vcommon +# +# include the server name in the filenames used to satisfy requests +#VirtualDocumentRoot /www/hosts/%0/docs +#VirtualScriptAlias /www/hosts/%0/cgi-bin +# +# This configuration can be changed into an IP-based virtual hosting +# solution by just turning UseCanonicalName Off into UseCanonicalName DNS. +# The server name that is inserted into the filename is then derived from +# the IP address of the virtual host. + diff --git a/net-www/apache/files/conf/Vhosts.conf b/net-www/apache/files/conf/Vhosts.conf new file mode 100644 index 000000000000..dbabdd073c61 --- /dev/null +++ b/net-www/apache/files/conf/Vhosts.conf @@ -0,0 +1,48 @@ +################# Vhosts.conf +#This is where we store the VirtualHosts configuration. +# +#Since Apache 1.3.19, we modified the setup to include some nice tricks: +# +#- We added the User and Group directives so VirtualHosts now work with +# suexec directive. If set, Apache will run all cgi scripts under that +# user and group (provided the uid and gid are > 1000 for security). The +# directories and cgi files *must* belong to that user/group for the +# feature to work +#- We added the Setenv VLOG directive. This works in conjunction with +# the CustomLog in common.conf. When Setenv VLOG is set, apache will +# create a /var/log/httpd/VLOG-YYYY-MM-<ServerName>.log instead of logging +# to access_log. Use this instead of defining a special logfile for +# each vhost, otherwise you eat up file descriptors. +#- You can also specify a path for the VLOG for each Vhost, for example, +# to place the logs in each user's directory. However, if you want to +# use the file for accounting, place it in a directory owned by root, +# otherwise the user will be able to erase it. +#- I suggest only including the ErrorLog *only* if the vhost will use +# cgi scripts. Again, it saves file descriptors! + +#This is needed for Frontpage support +Port 80 +ServerRoot /etc/apache +ResourceConfig /dev/null +AccessConfig /dev/null + +################# IP-based Virtual Hosts +#<VirtualHost 192.168.2.100> +#User jmdault +#Group jmdault +#DocumentRoot /home/jmdault/public_html +#ServerName test2.com +#Setenv VLOG /home/jmdault/logs +#ErrorLogs /home/jmdault/test2-error_log +#RewriteEngine On +#RewriteOptions inherit +#</VirtualHost> + +################# Named VirtualHosts +#NameVirtualHost 111.222.33.44 +#<VirtualHost 111.222.33.44> +#ServerName www.domain.tld +#ServerPath /domain +#DocumentRoot /web/domain +#</VirtualHost> + diff --git a/net-www/apache/files/conf/VirtualHomePages.conf b/net-www/apache/files/conf/VirtualHomePages.conf new file mode 100644 index 000000000000..a6075abe98f5 --- /dev/null +++ b/net-www/apache/files/conf/VirtualHomePages.conf @@ -0,0 +1,19 @@ +#A virtually hosted homepages system +# +# This is an adjustment of the above system tailored for an ISP's +# homepages server. Using a slightly more complicated configuration we can +# select substrings of the server name to use in the filename so that e.g. +# the documents for www.user.isp.com are found in /home/user/. It uses a +# single cgi-bin directory instead of one per virtual host. + +# get the server name from the Host: header +#UseCanonicalName Off +# this log format can be split per-virtual-host based on the first field +#LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon +#CustomLog logs/access_log vcommon + +# include part of the server name in the filenames +#VirtualDocumentRoot /www/hosts/%2/docs +# single cgi-bin directory +#ScriptAlias /cgi-bin/ /www/std-cgi/ + diff --git a/net-www/apache/files/conf/apache.conf b/net-www/apache/files/conf/apache.conf new file mode 100644 index 000000000000..808b80eaee14 --- /dev/null +++ b/net-www/apache/files/conf/apache.conf @@ -0,0 +1,212 @@ +### Main Configuration Section +### You really shouldn't change these settings unless you're a guru +### +ServerType standalone +ServerRoot /etc/apache +#ServerName localhost +#LockFile /etc/httpd/httpd.lock +PidFile /var/run/apache.pid +ScoreBoardFile /etc/apache/apache.scoreboard +ErrorLog logs/error_log +LogLevel warn +ResourceConfig /dev/null +AccessConfig /dev/null +DocumentRoot /home/httpd/htdocs + + +### Dynamic Shared Object (DSO) Support +### +### +LoadModule mmap_static_module modules/mod_mmap_static.so +LoadModule env_module modules/mod_env.so +LoadModule config_log_module modules/mod_log_config.so +LoadModule agent_log_module modules/mod_log_agent.so +LoadModule referer_log_module modules/mod_log_referer.so +LoadModule mime_magic_module modules/mod_mime_magic.so +LoadModule mime_module modules/mod_mime.so +LoadModule negotiation_module modules/mod_negotiation.so +LoadModule status_module modules/mod_status.so +LoadModule info_module modules/mod_info.so +LoadModule includes_module modules/mod_include.so +LoadModule autoindex_module modules/mod_autoindex.so +LoadModule dir_module modules/mod_dir.so +LoadModule cgi_module modules/mod_cgi.so +LoadModule asis_module modules/mod_asis.so +LoadModule imap_module modules/mod_imap.so +LoadModule action_module modules/mod_actions.so +LoadModule speling_module modules/mod_speling.so +LoadModule userdir_module modules/mod_userdir.so +LoadModule proxy_module modules/libproxy.so +LoadModule alias_module modules/mod_alias.so +LoadModule rewrite_module modules/mod_rewrite.so +LoadModule access_module modules/mod_access.so +LoadModule auth_module modules/mod_auth.so +LoadModule anon_auth_module modules/mod_auth_anon.so +LoadModule dbm_auth_module modules/mod_auth_dbm.so +LoadModule db_auth_module modules/mod_auth_db.so +LoadModule digest_module modules/mod_digest.so +LoadModule cern_meta_module modules/mod_cern_meta.so +LoadModule expires_module modules/mod_expires.so +LoadModule headers_module modules/mod_headers.so +LoadModule usertrack_module modules/mod_usertrack.so +LoadModule example_module modules/mod_example.so +LoadModule unique_id_module modules/mod_unique_id.so +LoadModule setenvif_module modules/mod_setenvif.so +LoadModule vhost_alias_module modules/mod_vhost_alias.so + +# Reconstruction of the complete module list from all available modules +# (static and shared ones) to achieve correct module execution order. +# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO] +ClearModuleList +AddModule mod_mmap_static.c +AddModule mod_env.c +AddModule mod_log_config.c +AddModule mod_log_agent.c +AddModule mod_log_referer.c +AddModule mod_mime_magic.c +AddModule mod_mime.c +AddModule mod_negotiation.c +AddModule mod_status.c +AddModule mod_info.c +AddModule mod_include.c +AddModule mod_autoindex.c +AddModule mod_dir.c +AddModule mod_cgi.c +AddModule mod_asis.c +AddModule mod_imap.c +AddModule mod_actions.c +AddModule mod_speling.c +AddModule mod_userdir.c +AddModule mod_proxy.c +AddModule mod_alias.c +AddModule mod_rewrite.c +AddModule mod_access.c +AddModule mod_auth.c +AddModule mod_auth_anon.c +AddModule mod_auth_dbm.c +AddModule mod_auth_db.c +AddModule mod_digest.c +AddModule mod_cern_meta.c +AddModule mod_expires.c +AddModule mod_headers.c +AddModule mod_usertrack.c +AddModule mod_example.c +AddModule mod_unique_id.c +AddModule mod_so.c +AddModule mod_setenvif.c +AddModule mod_vhost_alias.c + +### +### Global Configuration +### +# Splitting up apache.conf into two files makes it possible to support +# multiple configurations on the same serer. In commonapache.conf +# you keep directives that apply to all implementations and in this +# file you keep server-specific directives. While we don't yet have +# multiple configurations out-of-the-box, this allows us to do that +# in the future easily. +Include conf/commonapache.conf + + +### +### IP Address/Port +### +#BindAddress * +Port 80 +Listen 80 + + +### +### Log configuration Section +### +# Single logfile with access, agent and referer information +# This is the default, if vlogs are not defined for the main server +CustomLog logs/access_log combined env=!VLOG +# If VLOG is defined in conf/vhosts/Vhosts.conf, we use this entry +#CustomLog "|/usr/sbin/apachesplitlogfile" vhost env=VLOG + + +### +### Virtual Hosts +### +# We include different templates for Virtual Hosting. Have a look in the +# vhosts directory and modify to suit your needs. +#Include conf/vhosts/Vhosts.conf +#Include conf/vhosts/DynamicVhosts.conf +#Include conf/vhosts/VirtualHomePages.conf + + +### +### Performance settings Section +### +# +# Timeout: The number of seconds before receives and sends time out. +# +Timeout 300 + +# +# KeepAlive: Whether or not to allow persistent connections (more than +# one request per connection). Set to "Off" to deactivate. +# +KeepAlive On + +# +# MaxKeepAliveRequests: The maximum number of requests to allow +# during a persistent connection. Set to 0 to allow an unlimited amount. +# We recommend you leave this number high, for maximum performance. +# +MaxKeepAliveRequests 100 + +# +# KeepAliveTimeout: Number of seconds to wait for the next request from the +# same client on the same connection. +# +KeepAliveTimeout 15 + +# +# Server-pool size regulation. Rather than making you guess how many +# server processes you need, Apache dynamically adapts to the load it +# sees --- that is, it tries to maintain enough server processes to +# handle the current load, plus a few spare servers to handle transient +# load spikes (e.g., multiple simultaneous requests from a single +# Netscape browser). +# +# It does this by periodically checking how many servers are waiting +# for a request. If there are fewer than MinSpareServers, it creates +# a new spare. If there are more than MaxSpareServers, some of the +# spares die off. The default values are probably OK for most sites. +# +MinSpareServers 4 +MaxSpareServers 10 + +# +# Number of servers to start initially --- should be a reasonable ballpark +# figure. +# +StartServers 4 + +# +# Limit on total number of servers running, i.e., limit on the number +# of clients who can simultaneously connect --- if this limit is ever +# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW. +# It is intended mainly as a brake to keep a runaway server from taking +# the system with it as it spirals down... +# +MaxClients 150 + +# +# MaxRequestsPerChild: the number of requests each child process is +# allowed to process before the child dies. The child will exit so +# as to avoid problems after prolonged use when Apache (and maybe the +# libraries it uses) leak memory or other resources. On most systems, this +# isn't really needed, but a few (such as Solaris) do have notable leaks +# in the libraries. For these platforms, set to something like 10000 +# or so; a setting of 0 means unlimited. +# +# NOTE: This value does not include keepalive requests after the initial +# request per connection. For example, if a child process handles +# an initial request and 10 subsequent "keptalive" requests, it +# would only count as 1 request towards this limit. +# +MaxRequestsPerChild 500 + diff --git a/net-www/apache/files/conf/commonapache.conf b/net-www/apache/files/conf/commonapache.conf new file mode 100644 index 000000000000..afbbc2bfd90a --- /dev/null +++ b/net-www/apache/files/conf/commonapache.conf @@ -0,0 +1,737 @@ +### Common server configuration +# +User apache +Group apache + +# +# ServerAdmin: Your address, where problems with the server should be +# e-mailed. This address appears on some server-generated pages, such +# as error documents. +# +ServerAdmin root@localhost + +# DocumentRoot: The directory out of which you will serve your +# documents. By default, all requests are taken from this directory, but +# symbolic links and aliases may be used to point to other locations. +# DO NOT MODIFY THIS ONE, USE apache.conf. +#DocumentRoot /home/httpd/htdocs + + +# +# Each directory to which Apache has access, can be configured with respect +# to which services and features are allowed and/or disabled in that +# directory (and its subdirectories). +# +# First, we configure the "default" to be a very restrictive set of +# permissions. +# +# Also, for security, we disable indexes globally +# +#<Directory /> +# Options -Indexes FollowSymLinks +# AllowOverride None +#</Directory> + +#Restricted set of options +<Directory /> + Options -All -Multiviews + AllowOverride None + Order deny,allow + Deny from all +</Directory> + + +# +# Note that from this point forward you must specifically allow +# particular features to be enabled - so if something's not working as +# you might expect, make sure that you have specifically enabled it +# below. +# + + +# +# UserDir: The name of the directory which is appended onto a user's home +# directory if a ~user request is received. +# +<IfModule mod_userdir.c> + UserDir public_html +</IfModule> + + +# +# DirectoryIndex: Name of the file or files to use as a pre-written HTML +# directory index. Separate multiple entries with spaces. +# +<IfModule mod_dir.c> + DirectoryIndex index.html index.php index.php3 index.shtml index.cgi index.pl index.htm Default.htm default.htm +</IfModule> + +# +# AccessFileName: The name of the file to look for in each directory +# for access control information. +# +AccessFileName .htaccess + +# +# The following lines prevent .htaccess files from being viewed by +# Web clients. Since .htaccess files often contain authorization +# information, access is disallowed for security reasons. Comment +# these lines out if you want Web visitors to see the contents of +# .htaccess files. If you change the AccessFileName directive above, +# be sure to make the corresponding changes here. +# +# Also, folks tend to use names such as .htpasswd for password +# files, so this will protect those as well. +# +<Files ~ "^\.ht"> + Order allow,deny + Deny from all +</Files> + +# +# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each +# document that was negotiated on the basis of content. This asks proxy +# servers not to cache the document. Uncommenting the following line disables +# this behavior, and proxies will be allowed to cache the documents. +# +#CacheNegotiatedDocs + +# +# UseCanonicalName: (new for 1.3) With this setting turned on, whenever +# Apache needs to construct a self-referencing URL (a URL that refers back +# to the server the response is coming from) it will use ServerName and +# Port to form a "canonical" name. With this setting off, Apache will +# use the hostname:port that the client supplied, when possible. This +# also affects SERVER_NAME and SERVER_PORT in CGI scripts. +# +UseCanonicalName On + +# +# TypesConfig describes where the mime.types file (or equivalent) is +# to be found. +# +<IfModule mod_mime.c> + TypesConfig conf/mime.types +</IfModule> + +# +# DefaultType is the default MIME type the server will use for a document +# if it cannot otherwise determine one, such as from filename extensions. +# If your server contains mostly text or HTML documents, "text/plain" is +# a good value. If most of your content is binary, such as applications +# or images, you may want to use "application/octet-stream" instead to +# keep browsers from trying to display binary files as though they are +# text. +# +DefaultType text/plain + +# +# The mod_mime_magic module allows the server to use various hints from the +# contents of the file itself to determine its type. The MIMEMagicFile +# directive tells the module where the hint definitions are located. +# mod_mime_magic is not part of the default server (you have to add +# it yourself with a LoadModule [see the DSO paragraph in the 'Global +# Environment' section], or recompile the server and include mod_mime_magic +# as part of the configuration), so it's enclosed in an <IfModule> container. +# This means that the MIMEMagicFile directive will only be processed if the +# module is part of the server. +# +<IfModule mod_mime_magic.c> + MIMEMagicFile conf/magic +</IfModule> + +# +# HostnameLookups: Log the names of clients or just their IP addresses +# e.g., www.apache.org (on) or 204.62.129.132 (off). +# The default is off because it'd be overall better for the net if people +# had to knowingly turn this feature on, since enabling it means that +# each client request will result in AT LEAST one lookup request to the +# nameserver. +# +HostnameLookups Off + +# The following directives define some format nicknames for use with +# a CustomLog directive (see below). +# +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined +LogFormat "%h %l %u %t \"%r\" %>s %b" common +LogFormat "%{Referer}i -> %U" referer +LogFormat "%{User-agent}i" agent +LogFormat "%v %h %l %u %t \"%r\" %>s %b %T" script +LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" VLOG=%{VLOG}e" vhost + +# +# The location and format of the access logfile (Common Logfile Format). +#CustomLog logs/access_log common + +# +# If you would like to have agent and referer logfiles, uncomment the +# following directives. +# +#CustomLog logs/referer_log referer +#CustomLog logs/agent_log agent + +# +# If you prefer a single logfile with access, agent, and referer information +# (Combined Logfile Format) you can use the following directive. +# +#CustomLog logs/access_log combined + +# +# Optionally add a line containing the server version and virtual host +# name to server-generated pages (error documents, FTP directory listings, +# mod_status and mod_info output etc., but not CGI generated documents). +# Set to "EMail" to also include a mailto: link to the ServerAdmin. +# Set to one of: On | Off | EMail +# +ServerSignature On + +# +# Aliases: Add here as many aliases as you need (with no limit). The format is +# Alias fakename realname +# +<IfModule mod_alias.c> + + # + # Note that if you include a trailing / on fakename then the server will + # require it to be present in the URL. So "/icons" isn't aliased in this + # example, only "/icons/".. + # + Alias /icons/ /var/www/icons/ + Alias /doc /usr/share/doc + + + # + # ScriptAlias: This controls which directories contain server scripts. + # ScriptAliases are essentially the same as Aliases, except that + # documents in the realname directory are treated as applications and + # run by the server when requested rather than as documents sent to the client. + # The same rules about trailing "/" apply to ScriptAlias directives as to + # Alias. + # + ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/ + +</IfModule> +# End of aliases. + +# +# Redirect allows you to tell clients about documents which used to exist in +# your server's namespace, but do not anymore. This allows you to tell the +# clients where to look for the relocated document. +# Format: Redirect old-URI new-URL +# + +# +# Directives controlling the display of server-generated directory listings. +# +<IfModule mod_autoindex.c> + + # + # FancyIndexing is whether you want fancy directory indexing or standard + # + IndexOptions FancyIndexing + + # + # AddIcon* directives tell the server which icon to show for different + # files or filename extensions. These are only displayed for + # FancyIndexed directories. + # + AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip + + AddIconByType (TXT,/icons/text.gif) text/* + AddIconByType (IMG,/icons/image2.gif) image/* + AddIconByType (SND,/icons/sound2.gif) audio/* + AddIconByType (VID,/icons/movie.gif) video/* + + AddIcon /icons/binary.gif .bin .exe + AddIcon /icons/binhex.gif .hqx + AddIcon /icons/tar.gif .tar + AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv + AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip .bz2 + AddIcon /icons/a.gif .ps .ai .eps + AddIcon /icons/layout.gif .html .shtml .htm .pdf + AddIcon /icons/text.gif .txt + AddIcon /icons/c.gif .c + AddIcon /icons/p.gif .pl .py .php .php3 + AddIcon /icons/f.gif .for + AddIcon /icons/dvi.gif .dvi + AddIcon /icons/uuencoded.gif .uu + AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl + AddIcon /icons/tex.gif .tex + AddIcon /icons/bomb.gif core + + AddIcon /icons/back.gif .. + AddIcon /icons/hand.right.gif README + AddIcon /icons/folder.gif ^^DIRECTORY^^ + AddIcon /icons/blank.gif ^^BLANKICON^^ + + # + # DefaultIcon is which icon to show for files which do not have an icon + # explicitly set. + # + DefaultIcon /icons/unknown.gif + + # + # AddDescription allows you to place a short description after a file in + # server-generated indexes. These are only displayed for FancyIndexed + # directories. + # Format: AddDescription "description" filename + # + #AddDescription "GZIP compressed document" .gz + #AddDescription "tar archive" .tar + #AddDescription "GZIP compressed tar archive" .tgz + + # + # ReadmeName is the name of the README file the server will look for by + # default, and append to directory listings. + # + # HeaderName is the name of a file which should be prepended to + # directory indexes. + # + # If MultiViews are amongst the Options in effect, the server will + # first look for name.html and include it if found. If name.html + # doesn't exist, the server will then look for name.txt and include + # it as plaintext if found. + # + ReadmeName README + HeaderName HEADER + + # + # IndexIgnore is a set of filenames which directory indexing should ignore + # and not include in the listing. Shell-style wildcarding is permitted. + # + IndexIgnore .??* *~ *# HEADER* RCS CVS *,v *,t + +</IfModule> +# End of indexing directives. + +# +# Document types. +# +<IfModule mod_mime.c> + + # + # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress + # information on the fly. Note: Not all browsers support this. + # Despite the name similarity, the following Add* directives have nothing + # to do with the FancyIndexing customization directives above. + # + AddEncoding x-compress Z + AddEncoding x-gzip gz tgz + + # + # AddLanguage allows you to specify the language of a document. You can + # then use content negotiation to give a browser a file in a language + # it can understand. + # + # Note 1: The suffix does not have to be the same as the language + # keyword --- those with documents in Polish (whose net-standard + # language code is pl) may wish to use "AddLanguage pl .po" to + # avoid the ambiguity with the common suffix for perl scripts. + # + # Note 2: The example entries below illustrate that in quite + # some cases the two character 'Language' abbreviation is not + # identical to the two character 'Country' code for its country, + # E.g. 'Danmark/dk' versus 'Danish/da'. + # + # Note 3: In the case of 'ltz' we violate the RFC by using a three char + # specifier. But there is 'work in progress' to fix this and get + # the reference data for rfc1766 cleaned up. + # + # Danish (da) - Dutch (nl) - English (en) - Estonian (ee) + # French (fr) - German (de) - Greek-Modern (el) + # Italian (it) - Korean (kr) - Norwegian (no) + # Portugese (pt) - Luxembourgeois* (ltz) + # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz) + # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja) + # Russian (ru) + # + AddLanguage da .dk + AddLanguage nl .nl + AddLanguage en .en + AddLanguage et .ee + AddLanguage fr .fr + AddLanguage de .de + AddLanguage el .el + AddLanguage he .he + AddCharset ISO-8859-8 .iso8859-8 + AddLanguage it .it + AddLanguage ja .ja + AddCharset ISO-2022-JP .jis + AddLanguage kr .kr + AddCharset ISO-2022-KR .iso-kr + AddLanguage no .no + AddLanguage pl .po + AddCharset ISO-8859-2 .iso-pl + AddLanguage pt .pt + AddLanguage pt-br .pt-br + AddLanguage ltz .lu + AddLanguage ca .ca + AddLanguage es .es + AddLanguage sv .se + AddLanguage cz .cz + AddLanguage ru .ru + AddLanguage zh-tw .tw + AddLanguage tw .tw + AddCharset Big5 .Big5 .big5 + AddCharset WINDOWS-1251 .cp-1251 + AddCharset CP866 .cp866 + AddCharset ISO-8859-5 .iso-ru + AddCharset KOI8-R .koi8-r + AddCharset UCS-2 .ucs2 + AddCharset UCS-4 .ucs4 + AddCharset UTF-8 .utf8 + + # LanguagePriority allows you to give precedence to some languages + # in case of a tie during content negotiation. + # + # Just list the languages in decreasing order of preference. We have + # more or less alphabetized them here. You probably want to change this. + # + <IfModule mod_negotiation.c> + LanguagePriority en fr de es it da nl et el ja kr no pl pt pt-br ru ltz ca sv tw + </IfModule> + + # + # AddType allows you to tweak mime.types without actually editing it, or to + # make certain files to be certain types. + # + # For example, the PHP 3.x module (not part of the Apache distribution - see + # http://www.php.net) will typically use: + # + #AddType application/x-httpd-php3 .php3 + #AddType application/x-httpd-php3-source .phps + # + # And for PHP 4.x, use: + # + #AddType application/x-httpd-php .php + #AddType application/x-httpd-php-source .phps + + AddType application/x-tar .tgz + + # + # AddHandler allows you to map certain file extensions to "handlers", + # actions unrelated to filetype. These can be either built into the server + # or added with the Action command (see below) + # + # If you want to use server side includes, or CGI outside + # ScriptAliased directories, uncomment the following lines. + # + # To use CGI scripts: + # + AddHandler cgi-script .cgi + + # + # To use server-parsed HTML files + # + AddType text/html .shtml + AddHandler server-parsed .shtml + + # + # Uncomment the following line to enable Apache's send-asis HTTP file + # feature + # + #AddHandler send-as-is asis + + # + # If you wish to use server-parsed imagemap files, use + # + AddHandler imap-file map + + # + # To enable type maps, you might want to use + # + #AddHandler type-map var + +</IfModule> +# End of document types. + +# +# Action lets you define media types that will execute a script whenever +# a matching file is called. This eliminates the need for repeated URL +# pathnames for oft-used CGI file processors. +# Format: Action media/type /cgi-script/location +# Format: Action handler-name /cgi-script/location +# + +# +# MetaDir: specifies the name of the directory in which Apache can find +# meta information files. These files contain additional HTTP headers +# to include when sending the document +# +#MetaDir .web + +# +# MetaSuffix: specifies the file name suffix for the file containing the +# meta information. +# +#MetaSuffix .meta + +# +# Customizable error response (Apache style) +# these come in three flavors +# +# 1) plain text +#ErrorDocument 500 "The server made a boo boo. +# n.b. the single leading (") marks it as text, it does not get output +# +# 2) local redirects +#ErrorDocument 404 /missing.html +# to redirect to local URL /missing.html +#ErrorDocument 404 /cgi-bin/missing_handler.pl +# N.B.: You can redirect to a script or a document using server-side-includes. +# +# 3) external redirects +#ErrorDocument 402 http://some.other_server.com/subscription_info.html +# N.B.: Many of the environment variables associated with the original +# request will *not* be available to such a script. + +<Location /manual> +Options Multiviews +ErrorDocument 404 "The document you requested has not been installed on your system. +</Location> + + +# +# Customize behaviour based on the browser +# +<IfModule mod_setenvif.c> + + # + # The following directives modify normal HTTP response behavior. + # The first directive disables keepalive for Netscape 2.x and browsers that + # spoof it. There are known problems with these browser implementations. + # The second directive is for Microsoft Internet Explorer 4.0b2 + # which has a broken HTTP/1.1 implementation and does not properly + # support keepalive when it is used on 301 or 302 (redirect) responses. + # + BrowserMatch "Mozilla/2" nokeepalive + BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 + + # + # The following directive disables HTTP/1.1 responses to browsers which + # are in violation of the HTTP/1.0 spec by not being able to grok a + # basic 1.1 response. + # + BrowserMatch "RealPlayer 4\.0" force-response-1.0 + BrowserMatch "Java/1\.0" force-response-1.0 + BrowserMatch "JDK/1\.0" force-response-1.0 + +</IfModule> +# End of browser customization directives + +# +# Allow server status reports, with the URL of http://servername/server-status +# Change the ".your_domain.com" to match your domain to enable. +# +<IfModule mod_status.c> + <Location /server-status> + SetHandler server-status + Order deny,allow + Deny from all + allow from 127.0.0.1 + #Allow from .your_domain.com + </Location> +# +# ExtendedStatus controls whether Apache will generate "full" status +# information (ExtendedStatus On) or just basic information (ExtendedStatus +# Off) when the "server-status" handler is called. The default is Off. +# +#ExtendedStatus On +</IfModule> + +# +# Allow remote server configuration reports, with the URL of +# http://servername/server-info (requires that mod_info.c be loaded). +# Change the ".your_domain.com" to match your domain to enable. +# +<IfModule mod_info.c> + <Location /server-info> + SetHandler server-info + Order deny,allow + Deny from all + Allow from 127.0.0.1 + #Allow from .your_domain.com + </Location> +</IfModule> + +<IfModule mod_perl.c> + <Location /perl-status> + SetHandler perl-script + PerlHandler Apache::Status + Order deny,allow + Deny from all + Allow from 127.0.0.1 + #Allow from .your_domain.com + </Location> +</IfModule> + +# +# There have been reports of people trying to abuse an old bug from pre-1.1 +# days. This bug involved a CGI script distributed as a part of Apache. +# By uncommenting these lines you can redirect these attacks to a logging +# script on phf.apache.org. Or, you can record them yourself, using the script +# support/phf_abuse_log.cgi. +# +#<Location /cgi-bin/phf*> +# Deny from all +# ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi +#</Location> + +# +# Proxy Server directives. Uncomment the following lines to +# enable the proxy server: +# +#<IfModule mod_proxy.c> +# ProxyRequests On + +# <Directory proxy:*> +# Order deny,allow +# Deny from all +# Allow from .your_domain.com +# </Directory> + + # + # Enable/disable the handling of HTTP/1.1 "Via:" headers. + # ("Full" adds the server version; "Block" removes all outgoing Via: headers) + # Set to one of: Off | On | Full | Block + # +# ProxyVia On + + # + # To enable the cache as well, edit and uncomment the following lines: + # (no cacheing without CacheRoot) + # +# CacheRoot /var/cache/apache +# CacheSize 5 +# CacheGcInterval 4 +# CacheMaxExpire 24 +# CacheLastModifiedFactor 0.1 +# CacheDefaultExpire 1 +# NoCache a_domain.com another_domain.edu joes.garage_sale.com + +#</IfModule> +# End of proxy directives. + +<IfModule mod_dav.c> + DavLockDB /var/lock/mod_dav +</IfModule> + +<IfModule mod_include.c> +# XBitHack on +</IfModule> + + +# +# This should be changed to whatever you set DocumentRoot to. +# +<Directory /home/httpd/htdocs> + +# +# This may also be "None", "All", or any combination of "Indexes", +# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". +# +# Note that "MultiViews" must be named *explicitly* --- "Options All" +# doesn't give it to you. +# + Options Indexes FollowSymLinks MultiViews + +# +# This controls which options the .htaccess files in directories can +# override. Can also be "All", or any combination of "Options", "FileInfo", +# "AuthConfig", and "Limit" +# + AllowOverride All + +# +# Controls who can get stuff from this server. +# + Order allow,deny + Allow from all +</Directory> + +<Directory /home/httpd/cgi-bin> + AllowOverride All + Options ExecCGI + Order allow,deny + Allow from all +</Directory> + +# +# Control access to UserDir directories. The following is an example +# for a site where these directories are restricted to read-only. +# +#<Directory /home/*/public_html> +# AllowOverride FileInfo AuthConfig Limit +# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec +# <Limit GET POST OPTIONS PROPFIND> +# Order allow,deny +# Allow from all +# </Limit> +# <LimitExcept GET POST OPTIONS PROPFIND> +# Order deny,allow +# Deny from all +# </LimitExcept> +#</Directory> + +# These settings are pretty flexible, and allow for Frontpage and XSSI +<Directory /home/*/public_html> + AllowOverride All + Options MultiViews -Indexes Includes FollowSymLinks + Order allow,deny + Allow from all +</Directory> + +<Directory /home/*/public_html/cgi-bin> + Options +ExecCGI -Includes -Indexes + SetHandler cgi-script +</Directory> + +<IfModule mod_perl.c> + <Directory /home/*/public_html/perl> + SetHandler perl-script + PerlHandler Apache::PerlRun + Options -Indexes ExecCGI + PerlSendHeader On + </Directory> +</IfModule> + +<Directory /home/httpd/icons> + Options -Indexes MultiViews + AllowOverride None + Order allow,deny + Allow from all +</Directory> + +<Directory /usr/share/doc> + Options Indexes FollowSymLinks + Order deny,allow + Deny from all + Allow from 127.0.0.1 + #allow from .your_domain.com +</Directory> + +<Location /index.shtml> + Options +Includes +</Location> + +#<IfModule mod_perl.c> +# PerlModule Apache::Registry +# +# #set Apache::Registry Mode for /perl Alias +# <Location /perl/*.pl> +# SetHandler perl-script +# PerlHandler Apache::Registry +# Options -Indexes ExecCGI +# PerlSendHeader On +# </Location> +# +# #set Apache::PerlRun Mode for /cgi-perl Alias +# <Location /cgi-perl/*.pl> +# SetHandler perl-script +# PerlHandler Apache::PerlRun +# Options -Indexes ExecCGI +# PerlSendHeader On +# </Location> +#</IfModule> + diff --git a/net-www/apache/files/digest-apache-1.3.24 b/net-www/apache/files/digest-apache-1.3.24-r1 index 770251a0ba76..770251a0ba76 100644 --- a/net-www/apache/files/digest-apache-1.3.24 +++ b/net-www/apache/files/digest-apache-1.3.24-r1 diff --git a/net-www/apache/files/find-dbm-lib b/net-www/apache/files/find-dbm-lib new file mode 100644 index 000000000000..3993e7380d3b --- /dev/null +++ b/net-www/apache/files/find-dbm-lib @@ -0,0 +1,34 @@ +# Our config tool sucks... if this script decides to modify the +# LIBS variable it won't be used by any of the other TestCompiles. +# So unless we protect ourselves with the found_dbm variable +# we'd end up having to do the work twice... and we'd end up putting +# two -ldbm -ldbm into the LIBS variable. + +if [ "x$found_dbm" = "x" ]; then + found_dbm=0 + # many systems don't have -ldbm + DBM_LIB="" + if ./helpers/TestCompile lib ndbm dbm_open; then + DBM_LIB="-lndbm" + if ./helpers/TestCompile lib db1 dbm_open; then + # Red Hat needs this; ndbm.h lives in db1 + CFLAGS="$CFLAGS -I/usr/include/db1" + fi + elif ./helpers/TestCompile lib db1 dbm_open; then + # For Red Hat 7, if not handled by the ndbm case above + DBM_LIB="-ldb1" + CFLAGS="$CFLAGS -I/usr/include/db1" + elif ./helpers/TestCompile lib gdbm dbm_open; then + DBM_LIB="-lgdbm" + CFLAGS="$CFLAGS -I/usr/include/gdbm" + elif ./helpers/TestCompile lib dbm dbm_open; then + DBM_LIB="-ldbm" + fi + if [ "x$DBM_LIB" != "x" ]; then + LIBS="$LIBS $DBM_LIB" + found_dbm=1 + fi + if [ "x$found_dbm" = "x1" ]; then + echo " + using $DBM_LIB for DBM support" + fi +fi diff --git a/net-www/apache/files/httpd.conf b/net-www/apache/files/httpd.conf deleted file mode 100644 index d08ecac80c78..000000000000 --- a/net-www/apache/files/httpd.conf +++ /dev/null @@ -1,1297 +0,0 @@ -## -## httpd.conf -- Apache HTTP server configuration file -## - -# -# Based upon the NCSA server configuration files originally by Rob McCool. -# -# This is the main Apache server configuration file. It contains the -# configuration directives that give the server its instructions. -# See <URL:http://www.apache.org/docs/> for detailed information about -# the directives. -# -# Do NOT simply read the instructions in here without understanding -# what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. -# -# After this file is processed, the server will look for and process -# /usr/local/httpd/conf/srm.conf and then /usr/local/httpd/conf/access.conf -# unless you have overridden these with ResourceConfig and/or -# AccessConfig directives here. -# -# The configuration directives are grouped into three basic sections: -# 1. Directives that control the operation of the Apache server process as a -# whole (the 'global environment'). -# 2. Directives that define the parameters of the 'main' or 'default' server, -# which responds to requests that aren't handled by a virtual host. -# These directives also provide default values for the settings -# of all virtual hosts. -# 3. Settings for virtual hosts, which allow Web requests to be sent to -# different IP addresses or hostnames and have them handled by the -# same Apache server process. -# -# Configuration and logfile names: If the filenames you specify for many -# of the server's control files begin with "/" (or "drive:/" for Win32), the -# server will use that explicit path. If the filenames do *not* begin -# with "/", the value of ServerRoot is prepended -- so "logs/foo.log" -# with ServerRoot set to "/usr/local/apache" will be interpreted by the -# server as "/usr/local/apache/logs/foo.log". -# - -### Section 1: Global Environment -# -# The directives in this section affect the overall operation of Apache, -# such as the number of concurrent requests it can handle or where it -# can find its configuration files. -# - -# -# ServerType is either inetd, or standalone. Inetd mode is only supported on -# Unix platforms. -# -ServerType standalone - -# -# ServerRoot: The top of the directory tree under which the server's -# configuration, error, and log files are kept. -# -# NOTE! If you intend to place this on an NFS (or otherwise network) -# mounted filesystem then please read the LockFile documentation -# (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>); -# you will save yourself a lot of trouble. -# -# Do NOT add a slash at the end of the directory path. -# -ServerRoot "/usr/local/httpd" - -# -# The LockFile directive sets the path to the lockfile used when Apache -# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or -# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at -# its default value. The main reason for changing it is if the logs -# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL -# DISK. The PID of the main server process is automatically appended to -# the filename. -# -#LockFile /var/log/apache/httpd.lock - -# -# PidFile: The file in which the server should record its process -# identification number when it starts. -# -PidFile /var/run/httpd.pid - -# -# ScoreBoardFile: File used to store internal server process information. -# Not all architectures require this. But if yours does (you'll know because -# this file will be created when you run Apache) then you *must* ensure that -# no two invocations of Apache share the same scoreboard file. -# -ScoreBoardFile /var/log/apache/httpd.scoreboard - -# -# In the standard configuration, the server will process this file, -# srm.conf, and access.conf in that order. The latter two files are -# now distributed empty, as it is recommended that all directives -# be kept in a single file for simplicity. The commented-out values -# below are the built-in defaults. You can have the server ignore -# these files altogether by using "/dev/null" (for Unix) or -# "nul" (for Win32) for the arguments to the directives. -# -#ResourceConfig conf/srm.conf -#AccessConfig conf/access.conf - -# -# Timeout: The number of seconds before receives and sends time out. -# -Timeout 300 - -# -# KeepAlive: Whether or not to allow persistent connections (more than -# one request per connection). Set to "Off" to deactivate. -# -KeepAlive On - -# -# MaxKeepAliveRequests: The maximum number of requests to allow -# during a persistent connection. Set to 0 to allow an unlimited amount. -# We recommend you leave this number high, for maximum performance. -# -MaxKeepAliveRequests 100 - -# -# KeepAliveTimeout: Number of seconds to wait for the next request from the -# same client on the same connection. -# -KeepAliveTimeout 15 - -# -# Server-pool size regulation. Rather than making you guess how many -# server processes you need, Apache dynamically adapts to the load it -# sees --- that is, it tries to maintain enough server processes to -# handle the current load, plus a few spare servers to handle transient -# load spikes (e.g., multiple simultaneous requests from a single -# Netscape browser). -# -# It does this by periodically checking how many servers are waiting -# for a request. If there are fewer than MinSpareServers, it creates -# a new spare. If there are more than MaxSpareServers, some of the -# spares die off. The default values are probably OK for most sites. -# -MinSpareServers 5 -MaxSpareServers 10 - -# -# Number of servers to start initially --- should be a reasonable ballpark -# figure. -# -StartServers 5 - -# -# Limit on total number of servers running, i.e., limit on the number -# of clients who can simultaneously connect --- if this limit is ever -# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW. -# It is intended mainly as a brake to keep a runaway server from taking -# the system with it as it spirals down... -# -MaxClients 150 - -# -# MaxRequestsPerChild: the number of requests each child process is -# allowed to process before the child dies. The child will exit so -# as to avoid problems after prolonged use when Apache (and maybe the -# libraries it uses) leak memory or other resources. On most systems, this -# isn't really needed, but a few (such as Solaris) do have notable leaks -# in the libraries. For these platforms, set to something like 10000 -# or so; a setting of 0 means unlimited. -# -# NOTE: This value does not include keepalive requests after the initial -# request per connection. For example, if a child process handles -# an initial request and 10 subsequent "keptalive" requests, it -# would only count as 1 request towards this limit. -# -MaxRequestsPerChild 0 - -# -# Listen: Allows you to bind Apache to specific IP addresses and/or -# ports, in addition to the default. See also the <VirtualHost> -# directive. -# -#Listen 3000 -#Listen 12.34.56.78:80 - -# -# BindAddress: You can support virtual hosts with this option. This directive -# is used to tell the server which IP address to listen to. It can either -# contain "*", an IP address, or a fully qualified Internet domain name. -# See also the <VirtualHost> and Listen directives. -# -#BindAddress * - -# -# Dynamic Shared Object (DSO) Support -# -# To be able to use the functionality of a module which was built as a DSO you -# have to place corresponding `LoadModule' lines at this location so the -# directives contained in it are actually available _before_ they are used. -# Please read the file README.DSO in the Apache 1.3 distribution for more -# details about the DSO mechanism and run `httpd -l' for the list of already -# built-in (statically linked and thus always available) modules in your httpd -# binary. -# -# Note: The order is which modules are loaded is important. Don't change -# the order below without expert advice. -# -# Example: -# LoadModule foo_module libexec/mod_foo.so -LoadModule mmap_static_module /usr/lib/apache/mod_mmap_static.so -LoadModule vhost_alias_module /usr/lib/apache/mod_vhost_alias.so -LoadModule env_module /usr/lib/apache/mod_env.so -LoadModule define_module /usr/lib/apache/mod_define.so -LoadModule config_log_module /usr/lib/apache/mod_log_config.so -LoadModule agent_log_module /usr/lib/apache/mod_log_agent.so -LoadModule referer_log_module /usr/lib/apache/mod_log_referer.so -LoadModule mime_magic_module /usr/lib/apache/mod_mime_magic.so -LoadModule mime_module /usr/lib/apache/mod_mime.so -LoadModule negotiation_module /usr/lib/apache/mod_negotiation.so -LoadModule status_module /usr/lib/apache/mod_status.so -LoadModule info_module /usr/lib/apache/mod_info.so -LoadModule includes_module /usr/lib/apache/mod_include.so -LoadModule autoindex_module /usr/lib/apache/mod_autoindex.so -LoadModule dir_module /usr/lib/apache/mod_dir.so -LoadModule cgi_module /usr/lib/apache/mod_cgi.so -LoadModule asis_module /usr/lib/apache/mod_asis.so -LoadModule imap_module /usr/lib/apache/mod_imap.so -LoadModule action_module /usr/lib/apache/mod_actions.so -LoadModule speling_module /usr/lib/apache/mod_speling.so -LoadModule userdir_module /usr/lib/apache/mod_userdir.so -LoadModule alias_module /usr/lib/apache/mod_alias.so -LoadModule rewrite_module /usr/lib/apache/mod_rewrite.so -LoadModule access_module /usr/lib/apache/mod_access.so -LoadModule auth_module /usr/lib/apache/mod_auth.so -LoadModule anon_auth_module /usr/lib/apache/mod_auth_anon.so -LoadModule dbm_auth_module /usr/lib/apache/mod_auth_dbm.so -LoadModule db_auth_module /usr/lib/apache/mod_auth_db.so -LoadModule digest_module /usr/lib/apache/mod_digest.so -LoadModule proxy_module /usr/lib/apache/libproxy.so -LoadModule cern_meta_module /usr/lib/apache/mod_cern_meta.so -LoadModule expires_module /usr/lib/apache/mod_expires.so -LoadModule headers_module /usr/lib/apache/mod_headers.so -LoadModule usertrack_module /usr/lib/apache/mod_usertrack.so -LoadModule example_module /usr/lib/apache/mod_example.so -LoadModule unique_id_module /usr/lib/apache/mod_unique_id.so -LoadModule setenvif_module /usr/lib/apache/mod_setenvif.so - -<IfDefine PERL> -LoadModule perl_module /usr/lib/apache/libperl.so -</IfDefine> -<IfDefine PHP4> -LoadModule php4_module /usr/lib/apache/libphp4.so -</IfDefine> -<IfDefine SSL> -LoadModule ssl_module /usr/lib/apache/libssl.so -</IfDefine> - -# Reconstruction of the complete module list from all available modules -# (static and shared ones) to achieve correct module execution order. -# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO] -ClearModuleList -AddModule mod_mmap_static.c -AddModule mod_vhost_alias.c -AddModule mod_env.c -AddModule mod_define.c -AddModule mod_log_config.c -AddModule mod_log_agent.c -AddModule mod_log_referer.c -AddModule mod_mime_magic.c -AddModule mod_mime.c -AddModule mod_negotiation.c -AddModule mod_status.c -AddModule mod_info.c -AddModule mod_include.c -AddModule mod_autoindex.c -AddModule mod_dir.c -AddModule mod_cgi.c -AddModule mod_asis.c -AddModule mod_imap.c -AddModule mod_actions.c -AddModule mod_speling.c -AddModule mod_userdir.c -AddModule mod_alias.c -AddModule mod_rewrite.c -AddModule mod_access.c -AddModule mod_auth.c -AddModule mod_auth_anon.c -AddModule mod_auth_dbm.c -AddModule mod_auth_db.c -AddModule mod_digest.c -AddModule mod_proxy.c -AddModule mod_cern_meta.c -AddModule mod_expires.c -AddModule mod_headers.c -AddModule mod_usertrack.c -AddModule mod_example.c -AddModule mod_unique_id.c -AddModule mod_so.c -AddModule mod_setenvif.c -<IfDefine PHP4> -AddModule mod_php4.c -</IfDefine> -<IfDefine PERL> -AddModule mod_perl.c -</IfDefine> -<IfDefine SSL> -AddModule mod_ssl.c -</IfDefine> - -# -# ExtendedStatus controls whether Apache will generate "full" status -# information (ExtendedStatus On) or just basic information (ExtendedStatus -# Off) when the "server-status" handler is called. The default is Off. -# -#ExtendedStatus On - -### Section 2: 'Main' server configuration -# -# The directives in this section set up the values used by the 'main' -# server, which responds to any requests that aren't handled by a -# <VirtualHost> definition. These values also provide defaults for -# any <VirtualHost> containers you may define later in the file. -# -# All of these directives may appear inside <VirtualHost> containers, -# in which case these default settings will be overridden for the -# virtual host being defined. -# - -# -# If your ServerType directive (set earlier in the 'Global Environment' -# section) is set to "inetd", the next few directives don't have any -# effect since their settings are defined by the inetd configuration. -# Skip ahead to the ServerAdmin directive. -# - -# -# Port: The port to which the standalone server listens. For -# ports < 1023, you will need httpd to be run as root initially. -# -Port 80 - -## -## SSL Support -## -## When we also provide SSL we have to listen to the -## standard HTTP port (see above) and to the HTTPS port -## -<IfDefine SSL> -Listen 80 -Listen 443 -</IfDefine> - -# -# If you wish httpd to run as a different user or group, you must run -# httpd as root initially and it will switch. -# -# User/Group: The name (or #number) of the user/group to run httpd as. -# . On SCO (ODT 3) use "User nouser" and "Group nogroup". -# . On HPUX you may not be able to use shared memory as nobody, and the -# suggested workaround is to create a user www and use that user. -# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET) -# when the value of (unsigned)Group is above 60000; -# don't use Group nobody on these systems! -# -User nobody -Group nobody - -# -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. This address appears on some server-generated pages, such -# as error documents. -# -ServerAdmin webmaster@linux.bagwan - -# -# ServerName allows you to set a host name which is sent back to clients for -# your server if it's different than the one the program would get (i.e., use -# "www" instead of the host's real name). -# -# Note: You cannot just invent host names and hope they work. The name you -# define here must be a valid DNS name for your host. If you don't understand -# this, ask your network administrator. -# If your host doesn't have a registered DNS name, enter its IP address here. -# You will have to access it by its address (e.g., http://123.45.67.89/) -# anyway, and this will make redirections work in a sensible way. -# -#ServerName linux - -# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -DocumentRoot "/usr/local/httpd/htdocs" - -# -# Each directory to which Apache has access, can be configured with respect -# to which services and features are allowed and/or disabled in that -# directory (and its subdirectories). -# -# First, we configure the "default" to be a very restrictive set of -# permissions. -# -<Directory /> - Options FollowSymLinks - AllowOverride None -</Directory> - -# -# Note that from this point forward you must specifically allow -# particular features to be enabled - so if something's not working as -# you might expect, make sure that you have specifically enabled it -# below. -# - -# -# This should be changed to whatever you set DocumentRoot to. -# -<Directory "/usr/local/httpd/htdocs"> - -# -# This may also be "None", "All", or any combination of "Indexes", -# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews". -# -# Note that "MultiViews" must be named *explicitly* --- "Options All" -# doesn't give it to you. -# - Options Indexes FollowSymLinks MultiViews - -# -# This controls which options the .htaccess files in directories can -# override. Can also be "All", or any combination of "Options", "FileInfo", -# "AuthConfig", and "Limit" -# - AllowOverride None - -# -# Controls who can get stuff from this server. -# - Order allow,deny - Allow from all -</Directory> - -# -# UserDir: The name of the directory which is appended onto a user's home -# directory if a ~user request is received. -# -<IfModule mod_userdir.c> - UserDir public_html -</IfModule> - -# -# Control access to UserDir directories. The following is an example -# for a site where these directories are restricted to read-only. -# -#<Directory /home/*/public_html> -# AllowOverride FileInfo AuthConfig Limit -# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec -# <Limit GET POST OPTIONS PROPFIND> -# Order allow,deny -# Allow from all -# </Limit> -# <LimitExcept GET POST OPTIONS PROPFIND> -# Order deny,allow -# Deny from all -# </LimitExcept> -#</Directory> - -# -# DirectoryIndex: Name of the file or files to use as a pre-written HTML -# directory index. Separate multiple entries with spaces. -# -<IfModule mod_dir.c> - DirectoryIndex index.html index.htm -</IfModule> - -# -# AccessFileName: The name of the file to look for in each directory -# for access control information. -# -AccessFileName .htaccess - -# -# The following lines prevent .htaccess files from being viewed by -# Web clients. Since .htaccess files often contain authorization -# information, access is disallowed for security reasons. Comment -# these lines out if you want Web visitors to see the contents of -# .htaccess files. If you change the AccessFileName directive above, -# be sure to make the corresponding changes here. -# -# Also, folks tend to use names such as .htpasswd for password -# files, so this will protect those as well. -# -<Files ~ "^\.ht"> - Order allow,deny - Deny from all -</Files> - -# -# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each -# document that was negotiated on the basis of content. This asks proxy -# servers not to cache the document. Uncommenting the following line disables -# this behavior, and proxies will be allowed to cache the documents. -# -#CacheNegotiatedDocs - -# -# UseCanonicalName: (new for 1.3) With this setting turned on, whenever -# Apache needs to construct a self-referencing URL (a URL that refers back -# to the server the response is coming from) it will use ServerName and -# Port to form a "canonical" name. With this setting off, Apache will -# use the hostname:port that the client supplied, when possible. This -# also affects SERVER_NAME and SERVER_PORT in CGI scripts. -# -UseCanonicalName On - -# -# TypesConfig describes where the mime.types file (or equivalent) is -# to be found. -# -<IfModule mod_mime.c> - TypesConfig /etc/httpd/mime.types -</IfModule> - -# -# DefaultType is the default MIME type the server will use for a document -# if it cannot otherwise determine one, such as from filename extensions. -# If your server contains mostly text or HTML documents, "text/plain" is -# a good value. If most of your content is binary, such as applications -# or images, you may want to use "application/octet-stream" instead to -# keep browsers from trying to display binary files as though they are -# text. -# -DefaultType text/plain - -# -# The mod_mime_magic module allows the server to use various hints from the -# contents of the file itself to determine its type. The MIMEMagicFile -# directive tells the module where the hint definitions are located. -# mod_mime_magic is not part of the default server (you have to add -# it yourself with a LoadModule [see the DSO paragraph in the 'Global -# Environment' section], or recompile the server and include mod_mime_magic -# as part of the configuration), so it's enclosed in an <IfModule> container. -# This means that the MIMEMagicFile directive will only be processed if the -# module is part of the server. -# -<IfModule mod_mime_magic.c> - MIMEMagicFile /etc/httpd/magic -</IfModule> - -# -# HostnameLookups: Log the names of clients or just their IP addresses -# e.g., www.apache.org (on) or 204.62.129.132 (off). -# The default is off because it'd be overall better for the net if people -# had to knowingly turn this feature on, since enabling it means that -# each client request will result in AT LEAST one lookup request to the -# nameserver. -# -HostnameLookups Off - -# -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a <VirtualHost> -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a <VirtualHost> -# container, that host's errors will be logged there and not here. -# -ErrorLog /var/log/apache/error_log - -# -# LogLevel: Control the number of messages logged to the error_log. -# Possible values include: debug, info, notice, warn, error, crit, -# alert, emerg. -# -LogLevel warn - -# -# The following directives define some format nicknames for use with -# a CustomLog directive (see below). -# -LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined -LogFormat "%h %l %u %t \"%r\" %>s %b" common -LogFormat "%{Referer}i -> %U" referer -LogFormat "%{User-agent}i" agent - -# -# The location and format of the access logfile (Common Logfile Format). -# If you do not define any access logfiles within a <VirtualHost> -# container, they will be logged here. Contrariwise, if you *do* -# define per-<VirtualHost> access logfiles, transactions will be -# logged therein and *not* in this file. -# -CustomLog /var/log/apache/access_log common - -# -# If you would like to have agent and referer logfiles, uncomment the -# following directives. -# -#CustomLog /var/log/apache/referer_log referer -#CustomLog /var/log/apache/agent_log agent - -# -# If you prefer a single logfile with access, agent, and referer information -# (Combined Logfile Format) you can use the following directive. -# -#CustomLog /var/log/apache/access_log combined - -# -# Optionally add a line containing the server version and virtual host -# name to server-generated pages (error documents, FTP directory listings, -# mod_status and mod_info output etc., but not CGI generated documents). -# Set to "EMail" to also include a mailto: link to the ServerAdmin. -# Set to one of: On | Off | EMail -# -ServerSignature On - -# -# Aliases: Add here as many aliases as you need (with no limit). The format is -# Alias fakename realname -# -<IfModule mod_alias.c> - - # - # Note that if you include a trailing / on fakename then the server will - # require it to be present in the URL. So "/icons" isn't aliased in this - # example, only "/icons/".. - # - Alias /icons/ "/usr/local/httpd/icons/" - - <Directory "/usr/local/httpd/icons"> - Options Indexes MultiViews - AllowOverride None - Order allow,deny - Allow from all - </Directory> - - # - # ScriptAlias: This controls which directories contain server scripts. - # ScriptAliases are essentially the same as Aliases, except that - # documents in the realname directory are treated as applications and - # run by the server when requested rather than as documents sent to the client. - # The same rules about trailing "/" apply to ScriptAlias directives as to - # Alias. - # - ScriptAlias /cgi-bin/ "/usr/local/httpd/cgi-bin/" - - # - # "/usr/local/httpd/cgi-bin" should be changed to whatever your ScriptAliased - # CGI directory exists, if you have that configured. - # - <Directory "/usr/local/httpd/cgi-bin"> - AllowOverride None - Options None - Order allow,deny - Allow from all - </Directory> - -</IfModule> -<IfModule mod_perl.c> -PerlHandler Apache::Registry -PerlSendHeader On -</IfModule> - -# End of aliases. - -# -# Redirect allows you to tell clients about documents which used to exist in -# your server's namespace, but do not anymore. This allows you to tell the -# clients where to look for the relocated document. -# Format: Redirect old-URI new-URL -# - -# -# Directives controlling the display of server-generated directory listings. -# -<IfModule mod_autoindex.c> - - # - # FancyIndexing is whether you want fancy directory indexing or standard - # - IndexOptions FancyIndexing - - # - # AddIcon* directives tell the server which icon to show for different - # files or filename extensions. These are only displayed for - # FancyIndexed directories. - # - AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip - - AddIconByType (TXT,/icons/text.gif) text/* - AddIconByType (IMG,/icons/image2.gif) image/* - AddIconByType (SND,/icons/sound2.gif) audio/* - AddIconByType (VID,/icons/movie.gif) video/* - - AddIcon /icons/binary.gif .bin .exe - AddIcon /icons/binhex.gif .hqx - AddIcon /icons/tar.gif .tar - AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv - AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip - AddIcon /icons/a.gif .ps .ai .eps - AddIcon /icons/layout.gif .html .shtml .htm .pdf - AddIcon /icons/text.gif .txt - AddIcon /icons/c.gif .c - AddIcon /icons/p.gif .pl .py - AddIcon /icons/f.gif .for - AddIcon /icons/dvi.gif .dvi - AddIcon /icons/uuencoded.gif .uu - AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl - AddIcon /icons/tex.gif .tex - AddIcon /icons/bomb.gif core - - AddIcon /icons/back.gif .. - AddIcon /icons/hand.right.gif README - AddIcon /icons/folder.gif ^^DIRECTORY^^ - AddIcon /icons/blank.gif ^^BLANKICON^^ - - # - # DefaultIcon is which icon to show for files which do not have an icon - # explicitly set. - # - DefaultIcon /icons/unknown.gif - - # - # AddDescription allows you to place a short description after a file in - # server-generated indexes. These are only displayed for FancyIndexed - # directories. - # Format: AddDescription "description" filename - # - #AddDescription "GZIP compressed document" .gz - #AddDescription "tar archive" .tar - #AddDescription "GZIP compressed tar archive" .tgz - - # - # ReadmeName is the name of the README file the server will look for by - # default, and append to directory listings. - # - # HeaderName is the name of a file which should be prepended to - # directory indexes. - # - # If MultiViews are amongst the Options in effect, the server will - # first look for name.html and include it if found. If name.html - # doesn't exist, the server will then look for name.txt and include - # it as plaintext if found. - # - ReadmeName README - HeaderName HEADER - - # - # IndexIgnore is a set of filenames which directory indexing should ignore - # and not include in the listing. Shell-style wildcarding is permitted. - # - IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t - -</IfModule> -# End of indexing directives. - -# -# Document types. -# -<IfModule mod_mime.c> - - # - # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress - # information on the fly. Note: Not all browsers support this. - # Despite the name similarity, the following Add* directives have nothing - # to do with the FancyIndexing customization directives above. - # - AddEncoding x-compress Z - AddEncoding x-gzip gz tgz - - # - # AddLanguage allows you to specify the language of a document. You can - # then use content negotiation to give a browser a file in a language - # it can understand. - # - # Note 1: The suffix does not have to be the same as the language - # keyword --- those with documents in Polish (whose net-standard - # language code is pl) may wish to use "AddLanguage pl .po" to - # avoid the ambiguity with the common suffix for perl scripts. - # - # Note 2: The example entries below illustrate that in quite - # some cases the two character 'Language' abbriviation is not - # identical to the two character 'Country' code for its country, - # E.g. 'Danmark/dk' versus 'Danish/da'. - # - # Note 3: In the case of 'ltz' we violate the RFC by using a three char - # specifier. But there is 'work in progress' to fix this and get - # the reference data for rfc1766 cleaned up. - # - # Danish (da) - Dutch (nl) - English (en) - Estonian (ee) - # French (fr) - German (de) - Greek-Modern (el) - # Italian (it) - Portugese (pt) - Luxembourgeois* (ltz) - # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz) - # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja) - # - AddLanguage da .dk - AddLanguage nl .nl - AddLanguage en .en - AddLanguage et .ee - AddLanguage fr .fr - AddLanguage de .de - AddLanguage el .el - AddLanguage it .it - AddLanguage ja .ja - AddCharset ISO-2022-JP .jis - AddLanguage pl .po - AddCharset ISO-8859-2 .iso-pl - AddLanguage pt .pt - AddLanguage pt-br .pt-br - AddLanguage ltz .lu - AddLanguage ca .ca - AddLanguage es .es - AddLanguage sv .se - AddLanguage cz .cz - - # LanguagePriority allows you to give precedence to some languages - # in case of a tie during content negotiation. - # - # Just list the languages in decreasing order of preference. We have - # more or less alphabetized them here. You probably want to change this. - # - <IfModule mod_negotiation.c> - LanguagePriority en da nl et fr de el it ja pl pt pt-br ltz ca es sv - </IfModule> - - # - # AddType allows you to tweak mime.types without actually editing it, or to - # make certain files to be certain types. - # - # For example, the PHP 3.x module (not part of the Apache distribution - see - # http://www.php.net) will typically use: - # - <IfDefine PHP3> - AddType application/x-httpd-php3 .php3 - AddType application/x-httpd-php3-source .php3s - </IfDefine> - # - # And for PHP 4.x, use: - # - <IfDefine PHP4> - AddType application/x-httpd-php .php - AddType application/x-httpd-php-source .phps - </IfDefine> - - AddType application/x-tar .tgz - - # - # AddHandler allows you to map certain file extensions to "handlers", - # actions unrelated to filetype. These can be either built into the server - # or added with the Action command (see below) - # - # If you want to use server side includes, or CGI outside - # ScriptAliased directories, uncomment the following lines. - # - # To use CGI scripts: - # - #AddHandler cgi-script .cgi - - # - # To use server-parsed HTML files - # - #AddType text/html .shtml - #AddHandler server-parsed .shtml - - # - # Uncomment the following line to enable Apache's send-asis HTTP file - # feature - # - #AddHandler send-as-is asis - - # - # If you wish to use server-parsed imagemap files, use - # - #AddHandler imap-file map - - # - # To enable type maps, you might want to use - # - #AddHandler type-map var - -</IfModule> -# End of document types. - -# -# Action lets you define media types that will execute a script whenever -# a matching file is called. This eliminates the need for repeated URL -# pathnames for oft-used CGI file processors. -# Format: Action media/type /cgi-script/location -# Format: Action handler-name /cgi-script/location -# - -# -# MetaDir: specifies the name of the directory in which Apache can find -# meta information files. These files contain additional HTTP headers -# to include when sending the document -# -#MetaDir .web - -# -# MetaSuffix: specifies the file name suffix for the file containing the -# meta information. -# -#MetaSuffix .meta - -# -# Customizable error response (Apache style) -# these come in three flavors -# -# 1) plain text -#ErrorDocument 500 "The server made a boo boo. -# n.b. the (") marks it as text, it does not get output -# -# 2) local redirects -#ErrorDocument 404 /missing.html -# to redirect to local URL /missing.html -#ErrorDocument 404 /cgi-bin/missing_handler.pl -# N.B.: You can redirect to a script or a document using server-side-includes. -# -# 3) external redirects -#ErrorDocument 402 http://some.other_server.com/subscription_info.html -# N.B.: Many of the environment variables associated with the original -# request will *not* be available to such a script. - -# -# Customize behaviour based on the browser -# -<IfModule mod_setenvif.c> - - # - # The following directives modify normal HTTP response behavior. - # The first directive disables keepalive for Netscape 2.x and browsers that - # spoof it. There are known problems with these browser implementations. - # The second directive is for Microsoft Internet Explorer 4.0b2 - # which has a broken HTTP/1.1 implementation and does not properly - # support keepalive when it is used on 301 or 302 (redirect) responses. - # - BrowserMatch "Mozilla/2" nokeepalive - BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 - - # - # The following directive disables HTTP/1.1 responses to browsers which - # are in violation of the HTTP/1.0 spec by not being able to grok a - # basic 1.1 response. - # - BrowserMatch "RealPlayer 4\.0" force-response-1.0 - BrowserMatch "Java/1\.0" force-response-1.0 - BrowserMatch "JDK/1\.0" force-response-1.0 - -</IfModule> - -# -# Allow server status reports, with the URL of http://servername/server-status -# Change the ".your_domain.com" to match your domain to enable. -# -#<Location /server-status> -# SetHandler server-status -# Order deny,allow -# Deny from all -# Allow from .your_domain.com -#</Location> - -# -# Allow remote server configuration reports, with the URL of -# http://servername/server-info (requires that mod_info.c be loaded). -# Change the ".your_domain.com" to match your domain to enable. -# -#<Location /server-info> -# SetHandler server-info -# Order deny,allow -# Deny from all -# Allow from .your_domain.com -#</Location> - -# -# There have been reports of people trying to abuse an old bug from pre-1.1 -# days. This bug involved a CGI script distributed as a part of Apache. -# By uncommenting these lines you can redirect these attacks to a logging -# script on phf.apache.org. Or, you can record them yourself, using the script -# support/phf_abuse_log.cgi. -# -#<Location /cgi-bin/phf*> -# Deny from all -# ErrorDocument 403 http://phf.apache.org/phf_abuse_log.cgi -#</Location> - -# -# Proxy Server directives. Uncomment the following lines to -# enable the proxy server: -# -#<IfModule mod_proxy.c> - #ProxyRequests On - # - #<Directory proxy:*> - # Order deny,allow - # Deny from all - # Allow from .your_domain.com - #</Directory> - - # - # Enable/disable the handling of HTTP/1.1 "Via:" headers. - # ("Full" adds the server version; "Block" removes all outgoing Via: headers) - # Set to one of: Off | On | Full | Block - # - #ProxyVia On - - # - # To enable the cache as well, edit and uncomment the following lines: - # (no cacheing without CacheRoot) - # - #CacheRoot "/var/cache/httpd" - #CacheSize 5 - #CacheGcInterval 4 - #CacheMaxExpire 24 - #CacheLastModifiedFactor 0.1 - #CacheDefaultExpire 1 - #NoCache a_domain.com another_domain.edu joes.garage_sale.com - -#</IfModule> -# End of proxy directives. - -### Section 3: Virtual Hosts -# -# VirtualHost: If you want to maintain multiple domains/hostnames on your -# machine you can setup VirtualHost containers for them. -# Please see the documentation at <URL:http://www.apache.org/docs/vhosts/> -# for further details before you try to setup virtual hosts. -# You may use the command line option '-S' to verify your virtual host -# configuration. - -# -# If you want to use name-based virtual hosts you need to define at -# least one IP address (and port number) for them. -# -#NameVirtualHost 12.34.56.78:80 -#NameVirtualHost 12.34.56.78 - -# -# VirtualHost example: -# Almost any Apache directive may go into a VirtualHost container. -# -#<VirtualHost ip.address.of.host.some_domain.com> -# ServerAdmin webmaster@host.some_domain.com -# DocumentRoot /www/docs/host.some_domain.com -# ServerName host.some_domain.com -# ErrorLog logs/host.some_domain.com-error_log -# CustomLog logs/host.some_domain.com-access_log common -#</VirtualHost> - -#<VirtualHost _default_:*> -#</VirtualHost> - -## -## SSL Global Context -## -## All SSL configuration in this context applies both to -## the main server and all SSL-enabled virtual hosts. -## - -# -# Some MIME-types for downloading Certificates and CRLs -# -<IfDefine SSL> -AddType application/x-x509-ca-cert .crt -AddType application/x-pkcs7-crl .crl -</IfDefine> - -<IfModule mod_ssl.c> - -# Pass Phrase Dialog: -# Configure the pass phrase gathering process. -# The filtering dialog program (`builtin' is a internal -# terminal dialog) has to provide the pass phrase on stdout. -SSLPassPhraseDialog builtin - -# Inter-Process Session Cache: -# Configure the SSL Session Cache: First either `none' -# or `dbm:/path/to/file' for the mechanism to use and -# second the expiring timeout (in seconds). -#SSLSessionCache none -#SSLSessionCache shm:/var/log/apache/ssl_scache(512000) -SSLSessionCache dbm:/var/log/apache/ssl_scache -SSLSessionCacheTimeout 300 - -# Semaphore: -# Configure the path to the mutual explusion semaphore the -# SSL engine uses internally for inter-process synchronization. -SSLMutex file:/var/log/apache/ssl_mutex - -# Pseudo Random Number Generator (PRNG): -# Configure one or more sources to seed the PRNG of the -# SSL library. The seed data should be of good random quality. -# WARNING! On some platforms /dev/random blocks if not enough entropy -# is available. This means you then cannot use the /dev/random device -# because it would lead to very long connection times (as long as -# it requires to make more entropy available). But usually those -# platforms additionally provide a /dev/urandom device which doesn't -# block. So, if available, use this one instead. Read the mod_ssl User -# Manual for more details. -SSLRandomSeed startup builtin -SSLRandomSeed connect builtin -#SSLRandomSeed startup file:/dev/random 512 -#SSLRandomSeed startup file:/dev/urandom 512 -#SSLRandomSeed connect file:/dev/random 512 -#SSLRandomSeed connect file:/dev/urandom 512 - -# Logging: -# The home of the dedicated SSL protocol logfile. Errors are -# additionally duplicated in the general error log file. Put -# this somewhere where it cannot be used for symlink attacks on -# a real server (i.e. somewhere where only root can write). -# Log levels are (ascending order: higher ones include lower ones): -# none, error, warn, info, trace, debug. -SSLLog /var/log/apache/ssl_engine_log -SSLLogLevel info - -</IfModule> - -<IfDefine SSL> - -## -## SSL Virtual Host Context -## - -<VirtualHost _default_:443> - -# General setup for the virtual host -DocumentRoot "/usr/local/httpd/htdocs" -ServerName linux.bagwan -ServerAdmin webmaster@linux.bagwan -ErrorLog /var/log/apache/error_log -TransferLog /var/log/apache/access_log - -# SSL Engine Switch: -# Enable/Disable SSL for this virtual host. -SSLEngine on - -# SSL Cipher Suite: -# List the ciphers that the client is permitted to negotiate. -# See the mod_ssl documentation for a complete list. -#SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL - -# Server Certificate: -# Point SSLCertificateFile at a PEM encoded certificate. If -# the certificate is encrypted, then you will be prompted for a -# pass phrase. Note that a kill -HUP will prompt again. A test -# certificate can be generated with `make certificate' under -# built time. Keep in mind that if you've both a RSA and a DSA -# certificate you can configure both in parallel (to also allow -# the use of DSA ciphers, etc.) -SSLCertificateFile /etc/httpd/ssl.crt/server.crt -#SSLCertificateFile /etc/httpd/ssl.crt/server-dsa.crt - -# Server Private Key: -# If the key is not combined with the certificate, use this -# directive to point at the key file. Keep in mind that if -# you've both a RSA and a DSA private key you can configure -# both in parallel (to also allow the use of DSA ciphers, etc.) -SSLCertificateKeyFile /etc/httpd/ssl.key/server.key -#SSLCertificateKeyFile /etc/httpd/ssl.key/server-dsa.key - -# Server Certificate Chain: -# Point SSLCertificateChainFile at a file containing the -# concatenation of PEM encoded CA certificates which form the -# certificate chain for the server certificate. Alternatively -# the referenced file can be the same as SSLCertificateFile -# when the CA certificates are directly appended to the server -# certificate for convinience. -#SSLCertificateChainFile /etc/httpd/ssl.crt/ca.crt - -# Certificate Authority (CA): -# Set the CA certificate verification path where to find CA -# certificates for client authentication or alternatively one -# huge file containing all of them (file must be PEM encoded) -# Note: Inside SSLCACertificatePath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCACertificatePath /etc/httpd/ssl.crt -#SSLCACertificateFile /etc/httpd/ssl.crt/ca-bundle.crt - -# Certificate Revocation Lists (CRL): -# Set the CA revocation path where to find CA CRLs for client -# authentication or alternatively one huge file containing all -# of them (file must be PEM encoded) -# Note: Inside SSLCARevocationPath you need hash symlinks -# to point to the certificate files. Use the provided -# Makefile to update the hash symlinks after changes. -#SSLCARevocationPath /etc/httpd/ssl.crl -#SSLCARevocationFile /etc/httpd/ssl.crl/ca-bundle.crl - -# Client Authentication (Type): -# Client certificate verification type and depth. Types are -# none, optional, require and optional_no_ca. Depth is a -# number which specifies how deeply to verify the certificate -# issuer chain before deciding the certificate is not valid. -#SSLVerifyClient require -#SSLVerifyDepth 10 - -# Access Control: -# With SSLRequire you can do per-directory access control based -# on arbitrary complex boolean expressions containing server -# variable checks and other lookup directives. The syntax is a -# mixture between C and Perl. See the mod_ssl documentation -# for more details. -#<Location /> -#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \ -# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ -# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ -# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ -# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ -# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ -#</Location> - -# SSL Engine Options: -# Set various options for the SSL engine. -# o FakeBasicAuth: -# Translate the client X.509 into a Basic Authorisation. This means that -# the standard Auth/DBMAuth methods can be used for access control. The -# user name is the `one line' version of the client's X.509 certificate. -# Note that no password is obtained from the user. Every entry in the user -# file needs this password: `xxj31ZMTZzkVA'. -# o ExportCertData: -# This exports two additional environment variables: SSL_CLIENT_CERT and -# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the -# server (always existing) and the client (only existing when client -# authentication is used). This can be used to import the certificates -# into CGI scripts. -# o StdEnvVars: -# This exports the standard SSL/TLS related `SSL_*' environment variables. -# Per default this exportation is switched off for performance reasons, -# because the extraction step is an expensive operation and is usually -# useless for serving static content. So one usually enables the -# exportation for CGI and SSI requests only. -# o CompatEnvVars: -# This exports obsolete environment variables for backward compatibility -# to Apache-SSL 1.x, mod_ssl 2.0.x, Sioux 1.0 and Stronghold 2.x. Use this -# to provide compatibility to existing CGI scripts. -# o StrictRequire: -# This denies access when "SSLRequireSSL" or "SSLRequire" applied even -# under a "Satisfy any" situation, i.e. when it applies access is denied -# and no other module can change it. -# o OptRenegotiate: -# This enables optimized SSL connection renegotiation handling when SSL -# directives are used in per-directory context. -#SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire -<Files ~ "\.(cgi|shtml)$"> - SSLOptions +StdEnvVars -</Files> -<Directory "/usr/local/httpd/cgi-bin"> - SSLOptions +StdEnvVars -</Directory> - -# SSL Protocol Adjustments: -# The safe and default but still SSL/TLS standard compliant shutdown -# approach is that mod_ssl sends the close notify alert but doesn't wait for -# the close notify alert from client. When you need a different shutdown -# approach you can use one of the following variables: -# o ssl-unclean-shutdown: -# This forces an unclean shutdown when the connection is closed, i.e. no -# SSL close notify alert is send or allowed to received. This violates -# the SSL/TLS standard but is needed for some brain-dead browsers. Use -# this when you receive I/O errors because of the standard approach where -# mod_ssl sends the close notify alert. -# o ssl-accurate-shutdown: -# This forces an accurate shutdown when the connection is closed, i.e. a -# SSL close notify alert is send and mod_ssl waits for the close notify -# alert of the client. This is 100% SSL/TLS standard compliant, but in -# practice often causes hanging connections with brain-dead browsers. Use -# this only for browsers where you know that their SSL implementation -# works correctly. -# Notice: Most problems of broken clients are also related to the HTTP -# keep-alive facility, so you usually additionally want to disable -# keep-alive for those clients, too. Use variable "nokeepalive" for this. -SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown - -# Per-Server Logging: -# The home of a custom SSL log file. Use this when you want a -# compact non-error SSL logfile on a virtual host basis. -CustomLog /var/log/apache/ssl_request_log \ - "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" - -</VirtualHost> - -</IfDefine> - -<IfDefine TOMCAT> -Include /etc/httpd/httpd.tomcat -</IfDefine> - -<IfDefine MODLOGAN> -Include /etc/httpd/httpd.modlogan -</IfDefine> - -<IfDefine WEBALIZER> -Include /etc/httpd/httpd.webalizer -</IfDefine> - -<IfDefine AXKIT> -Include /etc/httpd/httpd.axkit -</IfDefine> - diff --git a/net-www/apache/files/httpd.confd b/net-www/apache/files/httpd.confd deleted file mode 100644 index c3388b44f21b..000000000000 --- a/net-www/apache/files/httpd.confd +++ /dev/null @@ -1,3 +0,0 @@ -# Config file for /etc/init.d/httpd - -#HTTPD_OPTS="-D SSL -D PHP4" diff --git a/net-www/apache/files/httpd.rc6 b/net-www/apache/files/httpd.rc6 deleted file mode 100644 index 3921c70f1d0e..000000000000 --- a/net-www/apache/files/httpd.rc6 +++ /dev/null @@ -1,21 +0,0 @@ -#!/sbin/runscript -# Copyright 1999-2002 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# $Header: /var/cvsroot/gentoo-x86/net-www/apache/files/httpd.rc6,v 1.8 2002/03/29 18:35:51 chadh Exp $ - -depend() { - need net - use mysql -} - -start() { - ebegin "Starting apache" - start-stop-daemon --quiet --start --exec /usr/sbin/httpd -- ${HTTPD_OPTS} - eend $? -} - -stop() { - ebegin "Stopping apache" - start-stop-daemon --quiet --stop --pid /var/run/httpd.pid - eend $? -} diff --git a/net-www/apache/files/robots.txt b/net-www/apache/files/robots.txt new file mode 100644 index 000000000000..60e6ca396b1e --- /dev/null +++ b/net-www/apache/files/robots.txt @@ -0,0 +1,11 @@ +# exclude help system from robots +User-agent: * +Disallow: /manual/ +Disallow: /doc/ +Disallow: /gif/ +# but allow htdig to index our doc-tree +User-agent: susedig +Disallow: +# disallow stress test +user-agent: stress-agent +Disallow: / |