#1 Le 19/10/2013, à 16:15
- LomigLavnek
[Script] Créer des vhost apache simplement à partir du répertoire user
Bonjour,
J'ai configurer sur mon ordi personnel apache2 avec userdir notamment pour faciliter les sauvegardes en cas de réinstallation.
J'aime tester les CMS, et je trouve barbant de créer a chaque fois les vhosts
J'ai donc fait un script rapide si ca peut servir a certain.
#!/bin/bash
#
# Ce script permet de creer le vhost dans le répertoire sites-available
# d'apache2 ainsi que de l'activer et de l'inscrire dans /etc/hosts simplement
# Paramètres
# 1 : nom du site : l'url sera variable.tld
# 2 : répertoire dans public_html
FILE="/etc/apache2/sites-available/$1.conf"
# Création du fichier
cp -v /etc/apache2/sites-available/lomigdefault.conf $FILE
# Définition des variables
sed -i "s/domain/$1/g" $FILE
sed -i "s/folder/$2/g" $FILE
# Inscription dans /etc/hosts
sed -i "3i127.0.0.1 localhost $1.tld" /etc/hosts
# Activation du site
a2ensite $1
service apache2 restart
Ce script se base sur lomigdefault.conf qui est le suivant et qu'il faudra modifier en fonction de votre configuration. Attention, ne pas modifier les mots "domain" et "folder" car les script les modifie avec les bonnes valeurs.
NameVirtualHost *:80
<VirtualHost domain.tld:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
ServerAdmin administrateur.web@domain.tld
DocumentRoot /home/lomig/public_html/folder
<Directory /home/lomig/public_html/folder>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.domain.tld.log
CustomLog /var/log/apache2/access.domain.tld.log combined
</VirtualHost>
Exemple : Si je veux tester Wordpress, je télécharge l'archive dans ~/public_html/Wordpress
je lance le script en root :
sudo vhosts.sh wordpress Wordpress
le premier argument est pour le nom de domaine, le second pour le répertoire d'installation
Et j'y accède directement a http://wordpress.tld
Hors ligne
#2 Le 19/10/2013, à 20:20
- Kooothor
Re : [Script] Créer des vhost apache simplement à partir du répertoire user
Hors ligne