cp -av /etc/apache-perl /etc/apache-perl-other
modify the following lines in /etc/apache-perl-other/httpd.conf
ServerRoot /etc/apache-perl ResourceConfig /etc/apache-perl/srm.conf AccessConfig /etc/apache-perl/access.conf LockFile /var/lock/apache-perl.lock PidFile /var/run/apache-perl.pid Listen 8485 NameVirtualHost localhost:8485 <VirtualHost localhost:8485> ServerName localhost DocumentRoot /home/fek/public_html/ ErrorLog /var/log/apache-perl/error.log </VirtualHost> <Directory /home/fek/public_html> <Files ~ "\.xhtml$"> PerlRequire /home/fek/public_html/InfoPM/startup.pl SetHandler perl-script PerlInitHandler Apache::Reload PerlHandler InfoPM::Page </Files> </Directory>
Some configurations can probably be shared between the processes:
Include /etc/apache-perl/conf.d Include /etc/apache-perl/modules.conf
Copy and modify the start/stop script
cp /etc/init.d/apache-perl /etc/init.d/apache-perl-other
The /etc/init.d/apache-perl script in Debian etch has a bug, it does not use $CONF when starting the server, only when it tests the configuration files. So, in addition to the following two lines:
NAME=apache-perl-other DAEMON=/usr/sbin/apache-perl
I also had to modify all lines like this one (for start, restart and reload).
if $ENV $SSD --start --pidfile $PIDFILE --exec $DAEMON --oknodo > /dev/null; then
to read
if $ENV $SSD --start --pidfile $PIDFILE --exec $DAEMON --oknodo -- -f $CONF > /dev/null; then
Now I had two processes listening at different ports.