Script php per aggiungere un nuovo virtual site sotto Apache.
Creare lo script nella cartella desiderata
vim scriptname.php
Incollare dentro
#!/usr/bin/php5 <? $dominio = $_SERVER["argv"][1]; if ($dominio == ""){ die ("Specificare nome del dominio\n"); } //creo file di configurazione apache $temp = <<<EOF #{$dominio} <VirtualHost *:80> ServerName {$dominio} ServerAlias *.{$dominio} DocumentRoot /var/www/{$dominio} ErrorLog /var/log/apache2/{$dominio}_error.log CustomLog /var/log/apache2/{$dominio}_access.log combined # Possible values include: debug, info, notice, warn, error, crit, alert, emerg. LogLevel warn </VirtualHost> EOF; if (!file_put_contents("/etc/apache2/sites-available/" . $dominio,$temp)){ die ("Errore durante la scrittura del file di configurazione apache\n"); } echo "Creato /etc/apache2/sites-available/" . $dominio . "\n"; //creo /var/www/ exec ("mkdir /var/www/{$dominio}"); echo "Creata /var/www/{$dominio}\n"; //assegno proprietario e permessi exec ("chown www-data.www-data /var/www/{$dominio}"); exec ("chmod g+ws /var/www/{$dominio}"); //abilito il sito creato e faccio reload exec ("a2ensite {$dominio}"); exec ("/etc/init.d/apache2 reload"); echo "Sito {$dominio} abilitato e funzionante"; ?>
Assegnare i permessi per l’esecuzione
chmod a+x scriptname.php
Per aggiugnere un nuovo host eseguire dalla scell
./scriptname.php domain.com
Related posts: