Pork Center
Voir le texte source
Page
Discussion
Voir le texte source
Historique
Rechercher
Navigation
Accueil
Communauté
Modifications récentes
Page au hasard
Chat
Aide
sitesupport
Outils personnels
216.73.216.5
Discussion avec cette adresse IP
Connexion
Boîte à outils
Pages liées
Suivi des pages liées
Pages spéciales
Voir le texte source
De Hack-it.org.
pour
CreateDomaine.sh
Ce merveilleux script a la con réalisé par Poil remplace tout bonnement les manipulations a faire pour rajouter un nom de domaines (ou sous domaine) dans les conf vhost d'apache2 et rajoute automatiquement un user (ainsi qu'une base sql qui lui est dédiée). Note : il a été designé pour debian ! Vous pouvez le [http://clochard.org/~triskel/CreateDomaine.sh télécharger] directement, ou bien copier coller tout ca dans un fichier nommé CreateDomaine.sh (ou bien salpute.sh) : <pre> #!/bin/bash echo "Sous Domaine (S) ou Domaine principal (P)?" read reply if [ "${reply}" == "P" ]; then echo "Login (8 char Max) :" read login if [ -z "${login}" ]; then echo "Erreur login vide!" exit 15 fi lsuser "${login}" 2>&1 >/dev/null if [ $? -ne 0 ]; then adduser ${login} else echo "L'utilisateur existe deja. Continuer ? O/N" read continue if [ "${continue}" != "O" ]; then exit 1 fi fi if [ $? -eq 0 ]; then if [ ! -d "/home/${login}/www" ]; then mkdir /home/${login}/www fi if [ ! -d "/home/${login}/cgi-bin" ]; then mkdir /home/${login}/cgi-bin fi if [ ! -d "/home/${login}/sd" ]; then mkdir /home/${login}/sd fi chown -R ${login}. /home/${login} wwwdir="/home/${login}/www" cgidir="/home/${login}/cgi-bin" serveralias="www.${dns}" logfiles=${login} else echo "Erreur lors de la creation de l utilisateur" exit 15 fi else echo "Quel login est propriétaire de ce sous Domaine?" read login fi if [ -z "${login}" ]; then echo "Erreur login vide!" exit 15 fi echo "Nom de (Sous) Domaine :" read dns if [ "${reply}" == "S" ]; then mydir=$(echo ${dns} | cut -d\. -f1) if [ -z "${mydir}" ]; then echo "Erreur a l'extraction du repertoire de sous domaine" exit 15 fi if [ ! -d "/home/${login}/sd/${mydir}/www" ]; then mkdir -p /home/${login}/sd/${mydir}/www fi if [ ! -d "/home/${login}/sd/${mydir}/cgi-bin" ]; then mkdir /home/${login}/sd/${mydir}/cgi-bin fi chown -R ${login}. /home/${login}/sd/${mydir} wwwdir="/home/${login}/sd/${mydir}/www" cgidir="/home/${login}/sd/${mydir}/cgi-bin" serveralias="${dns}" logfiles="${mydir}.${login}" fi if [ -f "/etc/apache2/sites-available/${dns}.conf" ]; then echo "La configuration apache de vhosts existe deja. Continuer et Ecraser ? O/N" read continuevhosts if [ "${continuevhosts}" != "O" ]; then exit 2 fi fi touch /etc/apache2/sites-available/${dns}.conf printf ' <VirtualHost *> ServerName '${dns}' ServerAlias '${serveralias}' ServerAdmin webmaster@'${dns}' DocumentRoot '${wwwdir}' <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory '${wwwdir}'/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ '${cgidir}'/ <Directory "'${cgidir}'"> AllowOverride All Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/'${logfiles}'.error.log LogLevel warn CustomLog /var/log/apache2/'${logfiles}'.access.log combined ServerSignature On </VirtualHost>' >/etc/apache2/sites-available/${dns}.conf echo "Domaine Créé, activation" if [ ! -e "/etc/apache2/sites-enabled/${dns}.conf" ]; then ln -s /etc/apache2/sites-available/${dns}.conf /etc/apache2/sites-enabled/${dns}.conf elif [ ! -s "/etc/apache2/sites-enabled/${dns}.conf" ]; then echo "Warning creation du lien /etc/apache2/sites-available/${dns}.conf vers /etc/apache2/sites-enabled/${dns}.conf impossible" fi echo "Avez-vous mis a jour BIND via webmin? (Y/N)" read rep if [ "${rep}" == "Y" ]; then echo "Restarting BIND / NAMED" /etc/init.d/bind9 restart echo "Restarting APACHE2" /etc/init.d/apache2 restart else echo "Vous devrez redemarrer Apache (apache2ctl restart) et Bind apres avoir mis a jour la configuration sous webmin" echo "Attention si vous redemarrez avant, apache refusera de se lancer" fi if [ "${reply}" == "P" ]; then echo "Mot de passe de la Base MySQL :" read passmysql printf ' CREATE DATABASE `'${login}'` ; GRANT USAGE ON * . * TO "'${login}'"@localhost IDENTIFIED BY "'${passmysql}'" WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 ; GRANT ALL PRIVILEGES ON `'${login}'` . * TO "'${login}'"@"localhost" WITH GRANT OPTION ;'>/tmp/bdd.tmp mysql --password=root/porksql </tmp/bdd.tmp if [ $? -eq 0 ]; then rm /tmp/bdd.tmp -f echo "Base de donnee créé" echo "n'oubliez pas de créer les statistiques /etc/awstats/" echo "n'oubliez pas d'ajouter les alias dans /etc/apache2/sites-available/"${dns}".conf" echo "de même dans /etc/awstats/awstats.www."${dns}".conf" else echo "Erreur a la creation de la BDD" exit 15 fi fi </pre>
Revenir à la page
CreateDomaine.sh
.