-#!/bin/sh
-set -o errexit
-
-# First argument of this script is the package name
-
-# Reading system configuration informations, functions and package versions.
-source ../sysinfos
-source ../functions
-source ../packages-list
-
-# Applying patches (if any)
-apply_patches ${1}
-
-groupadd -f ${APACHE_USER}
-hv_useradd -c WebServer -d /dev/null -g ${APACHE_USER} -s /bin/false ${APACHE_USER}
-
-cd ${LFS_TMP}/${1}-build
-../${1}/configure \
- --enable-layout=FHS \
- --enable-mods-shared=all \
- --enable-ssl \
- --with-z
-# --enable-rewrite \
-# --enable-deflate \
-# --enable-dav \
-make
-make install
-
-# 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
-
-# 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
- # Adding alternate port to default port of 80
- sed -i -e "s%\(Listen 80\)%\1\nListen ${HTTPD_PORT}%" /etc/apache/httpd.conf
+#!/bin/bash
+
+hvconfig_pre()
+{
+ cd ${LFS_TMP}/${PACKAGE}
+
+ cat >> config.layout << "EOF" &&
+# BLFS FHS layout
+<Layout FHS>
+ 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/apache
+ 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
+</Layout>
+EOF
+
+ groupadd -f ${APACHE_USER}
+ hv_useradd -c WebServer -d /dev/null -g ${APACHE_USER} -s /bin/false \
+ ${APACHE_USER}
+
+ CONFIGURE_OPTS=" \
+ --enable-layout=FHS \
+ --enable-mods-shared=all \
+ --enable-ssl \
+ --with-z"
+}
+
+hvbuild_post()
+{
+ 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/apache/httpd.conf
+
+ # Modifying the listening port if an alternate one is specified.
+ if [ -n "${HTTPD_PORT}" ]; then
+ if ! grep -q "Listen ${HTTPD_PORT}" /etc/apache/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
+ fi
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
+ # 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
-# SSL Certificates generation script
-cat > /etc/apache/generate-ssl-certs << "EOF"
-#!/bin/sh
+ # SSL Certificates generation script
+ cat > /etc/apache/generate-ssl-certs << "EOF"
+#!/bin/bash
# Creation of SSL directories for Apache
cd /etc/apache
exit $?
EOF
-chmod 740 /etc/apache/generate-ssl-certs
+ chmod 740 /etc/apache/generate-ssl-certs
-mkdir -p /etc/apache/ssl
-cp /etc/apache/extra/httpd-ssl.conf /etc/apache/ssl/ssl.conf
+ mkdir -p /etc/apache/ssl
+ cp /etc/apache/extra/httpd-ssl.conf /etc/apache/ssl/ssl.conf
-sed -i -e "s!^<IfModule ssl_module>!<IfModule ssl_module>\n Include /etc/apache/ssl/ssl.conf!" /etc/apache/httpd.conf
+ sed -i -e "s!^<IfModule ssl_module>!<IfModule ssl_module>\n Include /etc/apache/ssl/ssl.conf!" /etc/apache/httpd.conf
-mkdir -p /srv/www/htdocs/ssl
-chown apache:apache /srv/www/htdocs/ssl
+ mkdir -p /srv/www/htdocs/ssl
+ 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
-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 ${APACHE_USER}:${APACHE_USER} /srv/www
-# Bootscript
-install -v -m740 ${SCRDIR}/bootscripts/apache /etc/rc.d/init.d
+ # Bootscript
+ install -v -m740 ${SCRDIR}/bootscripts/apache /etc/rc.d/init.d
-# script-name start stop
-bootscript_add_rc3 apache 70 20
-
-exit $?
+ # script-name start stop
+ bootscript_add_rc3 apache 70 20
+}