ah tiens sympa a2ensite !
sinon je me suis fait ce script *SUPER À L'ARRACHE*
edit: tiens, cette ligne devrait planter le truc normalement. pourtant ça marche alors que le fichier n'existe pas.
sinon je me suis fait ce script *SUPER À L'ARRACHE*
#/usr/bin/bash
## Version pour apache
## Configuration du script
## --------------------------------------------------
## Ce script peut contenir des informations sensibles
## protégez-en l'accès
## Server user
serveruser=www-data
## Dossier ou sont stockés les virtual hosts d'apache
vhdir=/etc/apache2/sites-available
## Dossier ou sont liés les virtual hosts activés
vhenabledir=/etc/apache2/sites-enabled
## Fichier des hosts
hostsfile=/etc/hosts
## Dossier parent du dossier racine du site
rootbase=/web
## Commande pour mysqladmin
cmd_mysqladmin=/usr/bin/mysqladmin
## Commande pour mysql
cmd_mysql=/usr/bin/mysql
## --------------------------------------------------
echo "Création d'un site de développement"
echo -n "Identifiant du site (atom): "
read login;
echo -n "Nom du domaine: "
read domain;
echo
echo "Domaine : $domain"
echo "Compte : $login"
echo -n "Est-ce correct ? (o/[n]) "
read ans
if [ _$ans != _o -a _$ans != _O ]
then
echo "Interrompu" ; exit
fi
echo "Création du fichier virtual hosts"
echo "
<VirtualHost *:80>
ServerName $domain
DocumentRoot $rootbase/$login/www
<Directory $rootbase/$login/www/>
AllowOverride All
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>
" >> $vhdir/$login
chown $serveruser:$serveruser $vhdir/$login -v
chmod 0440 $vhdir/$login -v
echo "Création du fichier ok"
echo "Activation du host par lien symbolique"
ln -s $vhdir/$login $vhenabledir/$login -v
chown $serveruser:$serveruser $vhenabledir/$login -v --no-dereference
echo "ok"
echo "Ajout de l'dresse ip au virtual hosts"
echo "Backup du fichier de hosts vers $HOME/hosts.bak"
cp $hostsfile $HOME/hosts.bak -v
echo "127.0.0.1 $domain" >> $hostsfile
echo "ok"
echo "Création du dossier de base du site"
mkdir $rootbase/$login
mkdir $rootbase/$login/www
echo "Application des droits d'accès aux dossiers"
chown $USER:$serveruser $rootbase/$login -vR
chmod 0770 $rootbase/$login -vR
echo "ok"
echo "Souhaitez vous configurer une base de données mysql ? (o/[n])"
read ansmysql
if [ _$ansmysql != _o -a _$ansmysql != _O ] ; then
echo "Pas de base de données"
else
echo -n "Login mysql pour la création (par exemple root): "
read mysqllogin
echo -n "Password pour $mysqllogin : "
read mysqlpass
echo "Création d'une base de données"
$cmd_mysqladmin -u $mysqllogin -p$mysqlpass create $login
echo "ok"
echo "Création d'un utilisateur"
$cmd_mysql -u $mysqllogin -p$mysqlpass mysql <<ENDTAG
GRANT ALL PRIVILEGES ON $login.* TO "$login"@"localhost" IDENTIFIED BY '$login';
FLUSH PRIVILEGES;
ENDTAG
echo "ok, compte utilisateur mysql: $login, password: $login."
$cmd_mysqladmin -u $mysqllogin -p$mysqlpass reload
echo "compte activé"
fi
echo "
Pensez à redémarrer apache."
edit: tiens, cette ligne devrait planter le truc normalement. pourtant ça marche alors que le fichier n'existe pas.
" >> $vhdir/$login
bon de toute façon ce script est une compile de copier-coller assez hasardeuse.