Remove website (sudo ./removeSite.php )
#!/usr/bin/php 
<?php
define('SUCCESS',               "\033[32m".'OK'."\033[37m - ");
define('WARN',                  "\033[31m".'INFO'."\033[37m - ");
define('EOL',                   "\n");
## FUNCTIONS
function pecho($string) {fwrite(STDOUT, $string);}
## LOAD
if ($argc < 3)
        die(pecho(WARN.'Le nom du site et de l\'utilisateur ne sont pas définis. ('.$argc.')'.EOL));
$user = $argv[1];
$site = $argv[2];
if (!is_dir('/home/'.$user))
        die(pecho(WARN.'L\'utilisateur '.$user.' n\'existe pas.'.EOL));
if (!preg_match('#^[^\.]+[a-z0-9\.]+[^\.]$#', $site))
        die(pecho(WARN.'Le nom du site '.$site.' n\'est pas conforme.'.EOL));
define('USER',                  $user);
define('SITE',                  $site);
define('TLD',                   '.local');
define('ACTION_DIRS',           true);
define('ACTION_HOST',           true);
define('ACTION_VHOST',          true);
define('TAB',                   "\t");
define('DS',                    DIRECTORY_SEPARATOR);
define('DIR_ETC',               DS.'etc');
define('DIR_HOME',              DS.'home');
define('DIR_APACHE',            DIR_ETC.DS.'apache2');
define('DIR_SITES',             DIR_HOME.DS.USER.DS.'Sites');
define('DIR_SITE',              DIR_SITES.DS.SITE.TLD);
define('DIR_SITES_ENABLED',     DIR_APACHE.DS.'sites-enabled');
define('FILE_HOSTS',            'hosts');
define('FILE_VHOST',            SITE.TLD);
## ACTION VHOST
if (ACTION_VHOST)
{
	if (file_exists(DIR_SITES_ENABLED.DS.SITE.TLD))
	{
		exec('rm -Rf '.DIR_SITES_ENABLED.DS.SITE.TLD);
		exec('/etc/init.d/apache2 restart');
		pecho(SUCCESS.'Suppression de l\'hôte virtuel '.SITE.TLD.EOL);
	}
	else
		pecho(WARN.'L\'hôte virtuel '.SITE.TLD.' n\'existe pas!'.EOL);
}
## ACTION DIRS
if (ACTION_DIRS)
{
	if (is_dir(DIR_SITE))
	{
		exec('rm -Rf '.DIR_SITE);
		pecho(SUCCESS.'Le site '.SITE.TLD.' a été supprimé du dossier '.DIR_SITES.EOL);
	}
	else
		pecho(WARN.'Le site '.SITE.TLD.' n\'existe pas !'.EOL);
}
## ACTION HOST
if (ACTION_HOST)
{
        $lines = file(DIR_ETC.DS.FILE_HOSTS);
        foreach ($lines as $k => $line)
	{
                if (preg_match('`'.SITE.TLD.'$`', $line))
		{
			unset($lines[$k]);
			$hostExists = true;
		}
	}
	if (isset($hostExists))
	{
		file_put_contents(DIR_ETC.DS.FILE_HOSTS, implode($lines, ''));
		pecho(SUCCESS.'Suppression du domaine '.SITE.TLD.EOL);
	}
	else
		pecho(WARN.'Le domaine '.SITE.TLD.' n\'existe pas !'.EOL);
}