Some recommended settings of Virtualmin for Drupal virtual hosting
Source : http://hswong3i.net/blog/hswong3i/virtualmin-drupal-7-x-ubuntu-12-04-howto
//Install Drush
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
composer global require drush/drush:6.*
//Enable modules
a2enmod expires
//Set eTag
echo "FileETag none" > /etc/apache2/conf.d/fileetag
//Config
cat > /etc/php5/conf.d/apc.ini <<-EOF
apc.gc_ttl=3600
apc.max_file_size=8M
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.rfc1867=1
apc.rfc1867_ttl=600
apc.shm_size=256M
apc.ttl=600
apc.user_ttl=600
extension=apc.so
EOF
cd /etc/php5/
find . -type f -name php.ini | while read line; do
sed -i 's/^;*\(date\.timezone\) =.*$/\1 = "Asia\/Hong_Kong"/g' $line
sed -i 's/^;*\(display_errors\) =.*$/\1 = Off/g' $line
sed -i 's/^;*\(max_execution_time\) =.*$/\1 = 3600/g' $line
sed -i 's/^;*\(max_input_time\) =.*$/\1 = 7200/g' $line
sed -i 's/^;*\(memory_limit\) =.*$/\1 = 256M/g' $line
sed -i 's/^;*\(post_max_size\) =.*$/\1 = 32M/g' $line
sed -i 's/^;*\(short_open_tag\) =.*$/\1 = Off/g' $line
sed -i 's/^;*\(upload_max_filesize\) =.*$/\1 = 32M/g' $line
done
cat > /etc/apache2/mods-enabled/fcgid.conf <<-EOF
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
FcgidConnectTimeout 30
FcgidMaxProcesses 256
FcgidMaxProcessesPerClass 8
FcgidProcessLifeTime 300
</IfModule>
EOF
//Restart apache
/etc/init.d/apache2 restart
CAUTION : Those steps are not tested !!!