Apache 2.0.x installation
Notice
This article is obsolete; Slackware 12.0 includes Apache 2 by default (the httpd package). This information is kept here for users of older versions of Slackware.
Introduction
Sometimes one needs Apache 2.0.x in Slackware, which comes with Apache 1.3.x by default. Apache 2.0.x is necessary for example for Subversion repository setup or for recent mod_python modules.
Prerequisites:
- checkinstall (from extra)
- mm from http://www.ossp.org/pkg/lib/mm/
So, first go to http://httpd.apache.org/download.cgi and grab the latest httpd-2.0.x.tar.bz2 file and unpack it:
tar xfvj httpd-2.0.x.tar.bz2
Execute following script in directory just above your unpacked httpd-2.0.
#!/bin/sh
build_apache() {
cd httpd-*
cat >> config.layout <<EOF
# Layout for Slackware Linux
<Layout Slackware>
prefix: /usr
exec_prefix: \${prefix}
bindir: \${prefix}/bin
sbindir: \${prefix}/sbin
libdir: \${prefix}/lib
libexecdir: \${prefix}/lib/apache2
mandir: \${prefix}/man
sysconfdir: /etc/apache2
datadir: /var/www
iconsdir: \${datadir}/icons
htdocsdir: \${datadir}/htdocs
manualdir: \${datadir}/manual
cgidir: \${datadir}/cgi-bin
includedir: \${prefix}/include/apache2
localstatedir: /var
runtimedir: \${localstatedir}/run
logfiledir: \${localstatedir}/log/apache2
proxycachedir: \${localstatedir}/cache/apache2
infodir: \${exec_prefix}/share/info
installbuilddir: \${datadir}/build
errordir: \${datadir}/error
</Layout>
EOF
./configure --enable-layout=Slackware \
--enable-module=most \
--enable-mods-shared=most \
--enable-ssl=shared \
--enable-mime-magic \
--enable-expires \
--enable-headers \
--enable-usertrack \
--enable-cgi \
--enable-vhost-alias \
--enable-speling \
--enable-so \
--enable-rewrite \
--enable-deflate \
--enable-dav \
--enable-dav-fs \
--enable-proxy
make clean
time nice make
su -c "checkinstall -y"
}
create_scripts() {
cat > rc.httpd <<EOF
#!/bin/sh
#
# Start the Apache web server
#
case "\$1" in
'start')
/usr/sbin/apachectl start ;;
'stop')
/usr/sbin/apachectl stop ;;
'restart')
/usr/sbin/apachectl restart ;;
*)
echo "usage \$0 start|stop|restart" ;;
esac
EOF
chmod 755 rc.httpd
cat > apache2 <<EOF
/var/log/apache2/*_log {
sharedscripts
monthly
rotate 6
create
compress
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
EOF
}
build_apache
create_scripts
This script will get the job done. It will compile and install Apache 2.0.x together with the startup scripts.