From Lenny www / # apache2 -v Server version: Apache/2.2.9 (Debian) Server built: Dec 11 2010 18:58:55 To Squeeze www / # apache2 -v Server version: Apache/2.2.16 (Debian) Server built: Jan 1 2011 21:57:29 On ~100 vserver containers.. What happened? 1) /etc/apache2/envvars nonsense (UID and GID are not there anymore and must be duplicated?) 2) http://httpd.apache.org/docs/2.2/mod/mpm_common.html#chrootdir Compatibility: Available in Apache 2.2.10 and later From 2.2.10 the same directive ChrootDir previously used by LoadModule chroot_module /usr/lib/apache2/modules/mod_chroot.so http://core.segfault.pl/~hobbit/mod_chroot/ has been used by Apache core! MEEEEHHHH... # strace -s 10000 -e chroot,chdir apache2 -f /etc/apache2/apache2.conf -X --- SIGCHLD (Child exited) @ 0 (0) --- chroot("/home/www.foobar.it") = 0 chdir("/") = 0 chdir("/home/www.foobar.it") = -1 ENOENT (No such file or directory) Solutions: 1) Hardcode apache.conf and use the new moronized envvars, hopefully demoronizing it a little (i don't use multiple apache istances, it's not openvpn) 2) Comment and remove mod-chroot ------------------------------------------------------------------------ echo "deb http://mi.mirror.garr.it/mirrors/debian/ stable main deb-src http://mi.mirror.garr.it/mirrors/debian/ stable main deb http://security.debian.org/ stable/updates main deb-src http://security.debian.org/ stable/updates main # Volatile has been discontinued with Squeeze #deb http://volatile.debian.org/debian-volatile stable/volatile main #deb-src http://volatile.debian.org/debian-volatile stable/volatile main deb http://ftp.debian.org/debian squeeze-updates main " > /etc/apt/sources.list chmod 600 /etc/apt/sources.list apt-get update apt-get upgrade apt-get dist-upgrade apt-get autoremove apt-get clean apt-get autoclean apt-get check dpkg --configure -a /etc/init.d/apache2 stop . /etc/apache2/envvars sed -i " s/\${APACHE_PID_FILE}/`echo $APACHE_PID_FILE | sed "s/\//\\\\\\\\\\//g"`/g; s/\${APACHE_RUN_USER}/`echo $APACHE_RUN_USER | sed "s/\//\\\\\\\\\\//g"`/g; s/\${APACHE_RUN_GROUP}/`echo $APACHE_RUN_GROUP | sed "s/\//\\\\\\\\\\//g"`/g; s/^LoadModule chroot_module \/usr\/lib\/apache2\/modules\/mod_chroot.so//g; " /etc/apache2/apache2.conf echo "unset HOME export APACHE_PID_FILE=$APACHE_PID_FILE export APACHE_RUN_USER=$APACHE_RUN_USER export APACHE_RUN_GROUP=$APACHE_RUN_GROUP export APACHE_RUN_DIR=/var/run/apache2 export APACHE_LOCK_DIR=/var/lock/apache2 export APACHE_LOG_DIR=/var/log/apache2 . /etc/default/locale export LANG " > /etc/apache2/envvars apt-get remove mod-chroot-common apt-get remove strace apt-get autoremove apache2 -t /etc/init.d/apache2 start