#!/bin/sh set -eu if [ $# != 1 ] ; then echo usage: $0 '' exit 1 fi is_systemd () { case "$(readlink -f /proc/1/exe || true)" in *systemd*) return 0 ;; *) return 1 ;; esac } # the SUFFIX must not contain spaces or shell meta characters SUFFIX=$1 if [ -e /etc/apache2-$SUFFIX ] ; then echo ERROR: /etc/apache2-$SUFFIX already exists exit 2 fi echo Setting up /etc/apache2-$SUFFIX ... cp -a /etc/apache2 /etc/apache2-$SUFFIX if is_systemd ; then echo "systemd is in use, no init script installed" echo "use the 'apache2@$SUFFIX.service' service to control your new instance" echo "sample commands:" echo "systemctl start apache2@$SUFFIX.service" echo "systemctl enable apache2@$SUFFIX.service" else echo "Setting up /etc/init.d/apache2-$SUFFIX ..." cp /usr/share/doc/apache2/examples/secondary-init-script /etc/init.d/apache2-$SUFFIX # adjust service name (this prevents us from using a simple symlink) perl -p -i -e s,XXX,$SUFFIX, /etc/init.d/apache2-$SUFFIX chmod 755 /etc/init.d/apache2-$SUFFIX fi echo -n Setting up symlinks: for a in a2enmod a2dismod a2ensite a2dissite a2enconf a2disconf apache2ctl ; do echo -n " $a-$SUFFIX" ln -s /usr/sbin/$a /usr/local/sbin/$a-$SUFFIX done echo echo Setting up /etc/logrotate.d/apache2-$SUFFIX and /var/log/apache2-$SUFFIX ... cp -a /etc/logrotate.d/apache2 /etc/logrotate.d/apache2-$SUFFIX perl -p -i -e s,/var/log/apache2,/var/log/apache2-$SUFFIX,g /etc/logrotate.d/apache2-$SUFFIX if is_systemd ; then perl -p -i -e "s,\sapache2\s, apache2\@$SUFFIX ,g" /etc/logrotate.d/apache2-$SUFFIX else perl -p -i -e "s,\sapache2\s, apache2-$SUFFIX ,g" /etc/logrotate.d/apache2-$SUFFIX fi mkdir /var/log/apache2-$SUFFIX chmod 750 /var/log/apache2-$SUFFIX chown root:adm /var/log/apache2-$SUFFIX echo "Setting up /etc/default/apache-htcacheclean-$SUFFIX" cp -a /etc/default/apache-htcacheclean /etc/default/apache-htcacheclean-$SUFFIX