BOITE À OUTILS APACHE
Publié par The Troll le 19 04 2015

Bon c'est plutôt le truc basique, facile à faire, la base de la base, et donc le plus simple à mettre en place. L'dée est d'avoir un fichier générique (les génériques c'est automatique). que l'on personnalise au moment de la création du serveur virtuel.


============== default_virtual_host ====================

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName DOMAIN
    ServerAlias www.DOMAIN
    DocumentRoot /var/www/DIRECTORY
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/DIRECTORY/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     # Possible values include: debug, info, notice, warn, error, crit,
     # alert, emerg.
     LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
    #CustomLog ${APACHE_LOG_DIR}/stats/DOMAIN.log combined
</VirtualHost>

Comme vous pouvez le voir, j'ai supprimé le répertoire cgi que je n'utilise pas, et j'ai préparé un endroit particulier pour les logs que je désire analyser par un logiciel tiers. Le répertoire /var/log/apache2/stats doit exister dans ce cas (il faut le créer avec autorisation d'écriture pour www-data.)

Ensuite un fichier tout simple pour faire le taff

============== do_apache_server ====================

# Pour créer les fichiers site de apache2 : do_apache_server DOMAIN DIRECTORY
#!/bin/sh
sed -e 's/DOMAIN/'$1'/g' default_virtual_host > site_$1
sed -i "s/DIRECTORY/"$2"/g"  site_$1
sed -i "s/§/\//g"  site_$1
echo "======================="
more  site_$1
echo "======================="
read -p "Config ok [o/n]]?" reponse
  
if [[ $reponse == "o" ]];then
mv site_$1 /etc/apache2/sites-available/site_$1
ln -s /etc/apache2/sites-available/site_$1 /etc/apache2/sites-enabled/site_$1
service apache2 reload
fi

Il suffit de placer les 2 fichiers dans un répertoire, de rendre do_apache_server exécutable et de l'appeler ainsi (il faut être root):


$./do_apache_server mon_domaine.com repertoire§sousrepertoire 

et cela créera le virtualhost pointant sur /var/www/repertoire/sousrepertoire/ (ca marche aussi avec juste


$./do_apache_server mon_domaine.com repertoire)
On visualise alors le fichier créé que l'on peut modifier dans un autre shell si on veut ajouter ou modifier des options (c'est le fichier site_domaine), cliquer sur o le place dans les bons répertoires apache et redémarre le serveur.

Serveurs - 1 commentaire(s)