Vhost Apache ~ Script pour créer automatiquement un nouveau site sous Apache

Créer un nouveau site sous Apache est vraiment simple, mais lorsque l’ont doit le faire régulièrement, il est plus facile d’avoir un script qui s’occupe de tout pour nous.
C’est pourquoi je vous propose celui ci, qui fonctionne pour des vhost apache en http et https.

Prérequis

Script vhost Apache

Pour cela, il suffit de copier ce script dans le dossier /bin

/usr/bin/vhostAdd

#!/bin/bash
siteUrl=(`echo $1 | tr '//' ' '`)
siteUrl=${siteUrl[1]}
siteProtocole=(`echo $1 | tr ':' ' '`)
siteProtocole=${siteProtocole[0]}
siteNom=(`echo ${siteUrl} | tr '.' ' '`)
siteNom=${siteNom[1]}
mkdir /var/www/${siteNom} 2> /dev/null
echo "<?php phpinfo(); ?>" > /var/www/${siteNom}/index.php
if [ "${siteProtocole}" = "https" ]; then
echo "<VirtualHost *:443>" > /etc/apache2/sites-available/${siteNom}
else
echo "<VirtualHost *:80>" > /etc/apache2/sites-available/${siteNom}
fi
echo "ServerName ${siteUrl}" >> /etc/apache2/sites-available/${siteNom}
echo "DocumentRoot /var/www/${siteNom}" >> /etc/apache2/sites-available/${siteNom}
echo "CustomLog /var/log/apache2/${siteNom}/access.log combined" >> /etc/apache2/sites-available/${siteNom}
echo "ErrorLog /var/log/apache2/${siteNom}/error.log" >> /etc/apache2/sites-available/${siteNom}
echo "LogLevel warn" >> /etc/apache2/sites-available/${siteNom}
if [ "${siteProtocole}" = "https" ]; then
echo "SSLEngine On" >> /etc/apache2/sites-available/${siteNom}
echo "SSLCertificateFile /etc/ssl/${siteNom}.crt" >> /etc/apache2/sites-available/${siteNom}
echo "SSLCertificateKeyFile /etc/ssl/${siteNom}.key" >> /etc/apache2/sites-available/${siteNom}
#echo "SSLCertificateChainFile /etc/ssl/${siteNom}.auth" >> /etc/apache2/sites-available/${siteNom}
fi
echo "<Directory />" >> /etc/apache2/sites-available/${siteNom}
echo "Order Allow,Deny" >> /etc/apache2/sites-available/${siteNom}
echo "Allow from all" >> /etc/apache2/sites-available/${siteNom}
echo "Options +Indexes -ExecCGI +FollowSymLinks" >> /etc/apache2/sites-available/${siteNom}
echo "AllowOverride All" >> /etc/apache2/sites-available/${siteNom}
echo "</Directory>" >> /etc/apache2/sites-available/${siteNom}
echo "</VirtualHost>" >> /etc/apache2/sites-available/${siteNom}
a2enmod ssl > /dev/null
a2ensite ${siteNom} > /dev/null
/etc/init.d/apache2 reload > /dev/null

Rendez le exécutable

chmod +x /usr/bin/vhostAdd

Puis lancez le en précisant l’utl complète du site à ajouter
vhostAdd http://www.monsite.fr ou vhostAdd https://www.monsite.fr

Pour des sites SSL, il faut que les certificats soient présents dans /etc/ssl/ sous les noms site.crt, site.key

Vhost Apache ~ Script de création automatique de vhosts : Automatiser la création de ses vhost apache via un script bash avec gestion du ssl et du paramétrage apache sous debian ou ubuntu was modified:

Articles en relation :

Leave a comment

name*

email* (not published)

website