X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage5%2Fpkg%2Fapache;h=8b6e66a0eb7c4512adaed86b483581cb9cf71e3b;hb=67aeee506adc003a216ebb40366048e5aa063da8;hp=ab0386072976d921fcb414bb262945807eae4d3c;hpb=f3c8db3027d5dc530e1f30c88e0235975211582e;p=hvlinux.git
diff --git a/stage5/pkg/apache b/stage5/pkg/apache
index ab03860..8b6e66a 100644
--- a/stage5/pkg/apache
+++ b/stage5/pkg/apache
@@ -1,54 +1,79 @@
#!/bin/bash
+CONFDIR=/etc/httpd
+
hvconfig_pre()
{
- groupadd -f ${APACHE_USER}
- hv_useradd -c WebServer -d /dev/null -g ${APACHE_USER} -s /bin/false \
- ${APACHE_USER}
+ cd ${LFS_TMP}/${PACKAGE}
+
+ cat >> config.layout << "EOF" &&
+# BLFS FHS layout
+
+ prefix: /usr
+ exec_prefix: ${prefix}
+ bindir: ${exec_prefix}/bin
+ sbindir: ${exec_prefix}/sbin
+ libdir: ${exec_prefix}/lib
+ libexecdir: ${exec_prefix}/libexec/apache
+ mandir: ${prefix}/share/man
+ sysconfdir: /etc/httpd
+ datadir: /srv/www
+ installbuilddir: ${libexecdir}/build
+ errordir: ${datadir}/error
+ iconsdir: ${datadir}/icons
+ htdocsdir: ${datadir}/htdocs
+ manualdir: ${datadir}/manual
+ cgidir: ${datadir}/cgi-bin
+ includedir: ${prefix}/include/apache
+ localstatedir: ${datadir}
+ runtimedir: /var/run
+ logfiledir: /var/log/apache
+ proxycachedir: /var/cache/apache/proxy
+
+EOF
+
+ groupadd -f ${HTTPD_USER}
+ hv_useradd -c WebServer -d /dev/null -g ${HTTPD_USER} -s /bin/false \
+ ${HTTPD_USER}
CONFIGURE_OPTS=" \
- ${CONFIGURE_OPTS} \
--enable-layout=FHS \
--enable-mods-shared=all \
--enable-ssl \
--with-z"
- # --enable-rewrite \
- # --enable-deflate \
- # --enable-dav \
}
hvbuild_post()
{
- # There's a problem with the ISAPI DSO module caused from compiling with
- # GCC-4.1.2.
- # Commenting out the module from the configuration:
- if grep "LoadModule isapi_module" /etc/apache/httpd.conf \
- 1> /dev/null 2>&1; then
- sed -i -e "s/^LoadModule isapi_module/# &/" /etc/apache/httpd.conf
- fi
+ chown -v root:root /usr/bin/{apxs,dbmmanage} \
+ /usr/sbin/{apachectl,envvars{,-std}} \
+ /usr/libexec/apache/httpd.exp \
+ /usr/share/man/man1/{ab,apxs,dbmmanage,ht{dbm,digest,passwd,txt2dbm},logresolve}.1 \
+ /usr/share/man/man8/{apachectl,htcacheclean,httpd,rotatelogs,suexec}.8 &&
+
+ sed -i -e "s!^\(DocumentRoot\) .*!\1 /srv/www/htdocs!" /etc/httpd/httpd.conf
# Modifying the listening port if an alternate one is specified.
if [ -n "${HTTPD_PORT}" ]; then
- if ! grep "Listen ${HTTPD_PORT}" /etc/apache/httpd.conf \
- 1> /dev/null 2>&1; then
+ if ! grep -q "Listen ${HTTPD_PORT}" ${CONFDIR}/httpd.conf; then
# Adding alternate port to default port of 80
sed -i -e "s%\(Listen 80\)%\1\nListen ${HTTPD_PORT}%" \
- /etc/apache/httpd.conf
+ ${CONFDIR}/httpd.conf
fi
fi
# Modifying the configuration file to run the server as a dedicated user:
sed -i \
- -e "s!^\(User\).*!\1 ${APACHE_USER}!g" \
- -e "s!^\(Group\).*!\1 ${APACHE_USER}!g" \
- /etc/apache/httpd.conf
+ -e "s!^\(User\).*!\1 ${HTTPD_USER}!g" \
+ -e "s!^\(Group\).*!\1 ${HTTPD_USER}!g" \
+ ${CONFDIR}/httpd.conf
# SSL Certificates generation script
- cat > /etc/apache/generate-ssl-certs << "EOF"
+ cat > ${CONFDIR}/generate-ssl-certs << "EOF"
#!/bin/bash
# Creation of SSL directories for Apache
-cd /etc/apache
+cd ${CONFDIR}
mkdir -p ssl
cd ssl
@@ -96,24 +121,26 @@ openssl x509 -req -days 10000 -in server.csr -signkey server.key -out server.crt
exit $?
EOF
- chmod 740 /etc/apache/generate-ssl-certs
+ chmod 740 ${CONFDIR}/generate-ssl-certs
- mkdir -p /etc/apache/ssl
- cp /etc/apache/extra/httpd-ssl.conf /etc/apache/ssl/ssl.conf
+ mkdir -p ${CONFDIR}/ssl
+ cp ${CONFDIR}/extra/httpd-ssl.conf ${CONFDIR}/ssl/ssl.conf
- sed -i -e "s!^!\n Include /etc/apache/ssl/ssl.conf!" /etc/apache/httpd.conf
+ sed -i -e "s!^!\n Include ${CONFDIR}/ssl/ssl.conf!" ${CONFDIR}/httpd.conf
mkdir -p /srv/www/htdocs/ssl
- chown apache:apache /srv/www/htdocs/ssl
+ sed -i -e "s!^DocumentRoot .*!DocumentRoot /srv/www/htdocs/ssl!" ${CONFDIR}/ssl/ssl.conf
+ sed -i -e "s!^ServerName .*:443!ServerName www.${DOMAIN}:443!" ${CONFDIR}/ssl/ssl.conf
+ sed -i -e "s!^ServerAdmin .*!ServerAdmin webmaster@${DOMAIN}!" ${CONFDIR}/ssl/ssl.conf
+ sed -i -e "s!${CONFDIR}!${CONFDIR}/ssl!" ${CONFDIR}/ssl/ssl.conf
- sed -i -e "s!^DocumentRoot .*!DocumentRoot /srv/www/htdocs/ssl!" /etc/apache/ssl/ssl.conf
- sed -i -e "s!^ServerName .*:443!ServerName www.${DOMAIN}:443!" /etc/apache/ssl/ssl.conf
- sed -i -e "s!^ServerAdmin .*!ServerAdmin webmaster@${DOMAIN}!" /etc/apache/ssl/ssl.conf
- sed -i -e "s!/etc/apache!/etc/apache/ssl!" /etc/apache/ssl/ssl.conf
+ chown -v -R ${HTTPD_USER}:${HTTPD_USER} /srv/www
# Bootscript
install -v -m740 ${SCRDIR}/bootscripts/apache /etc/rc.d/init.d
# script-name start stop
- bootscript_add_rc3 apache 70 20
+ if [ "x${DEFAULT_WEB_SERVER}" == "xhttpd" ]; then
+ bootscript_add_rc3 apache 70 20
+ fi
}