Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
apache:ajout_domaine_script_bash [2011/12/31 04:29] – Anael MOBILIA | apache:ajout_domaine_script_bash [2014/05/27 03:32] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | <style float-right> | + | <style float-right> |
- | <style float-left> | + | <style float-left> |
- | ====== | + | ====== |
// | // | ||
~~CLEARFLOAT~~ | ~~CLEARFLOAT~~ | ||
- | <note tip>Présentation rapide.</ | + | <note tip>Création d'un script bash permettant d' |
+ | <note warning> | ||
+ | \\ | ||
+ | L' | ||
+ | \\ | ||
+ | Ce script à été testé avec soin, mais des dysfonctionnements peuvent subsister. | ||
+ | \\ | ||
+ | N' | ||
< | < | ||
- | * Aucun prérequis pour ce tutoriel. | + | * [[apache: |
+ | * FIXME Avoir installé nano. | ||
</ | </ | ||
\\ | \\ | ||
- | ===== grand1 | + | ===== Contexte |
- | lorem ipsum | + | Ce script bash fournit : |
+ | * La création d'un [[apache: | ||
+ | * L' | ||
+ | * La gestion des www (www.anael.eu et anael.eu seront utilisables) | ||
+ | * La création des répertoires dans /var/www qui seront utilisés par le nouveau domaine | ||
+ | * La configuration des droits sur ces répertoires. | ||
- | <code bash> | + | ===== Création du script ===== |
+ | Je préconise le stockage des scripts dans /root afin d' | ||
+ | |||
+ | * Créez un fichier | ||
+ | <code bash>nano / | ||
+ | |||
+ | * Copiez y le script contenu ci-dessous. | ||
+ | * Rendez le fichier exécutable | ||
+ | <code bash> chmod +x / | ||
+ | |||
+ | < | ||
+ | <code bash>/ | ||
+ | |||
+ | ===== Script bash ===== | ||
+ | <file bash add_site.sh> | ||
#!/bin/bash | #!/bin/bash | ||
- | # | + | # |
# Script permettant l' | # Script permettant l' | ||
# Auteur : Anael Mobilia | # Auteur : Anael Mobilia | ||
# Source : http:// | # Source : http:// | ||
# Licence : CC Attribution-Noncommercial-Share Alike 3.0 Unported | # Licence : CC Attribution-Noncommercial-Share Alike 3.0 Unported | ||
- | # | + | # http:// |
+ | # Version : 2012_08_20_1 | ||
# Expression régulière validant les NDD - inspirée de http:// | # Expression régulière validant les NDD - inspirée de http:// | ||
REGEXP_NDD=" | REGEXP_NDD=" | ||
+ | |||
+ | # Expression régulière distinguant les domaines & sous domaines | ||
+ | REGEXP_DOMAINE=" | ||
# Répertoire contenant les fichiers de configuration des domaines apache | # Répertoire contenant les fichiers de configuration des domaines apache | ||
Ligne 32: | Ligne 63: | ||
# Répertoire contenant les pages web (relatif à BASE_WWW) | # Répertoire contenant les pages web (relatif à BASE_WWW) | ||
+ | # / | ||
WWW='/ | WWW='/ | ||
# Répertoire contenant les logs (relatif à BASE_WWW) | # Répertoire contenant les logs (relatif à BASE_WWW) | ||
+ | # / | ||
LOGS='/ | LOGS='/ | ||
# Mail de l' | # Mail de l' | ||
- | MAIL_ADMIN=' | + | MAIL_ADMIN=' |
+ | # Utilisateur se connectant en FTP pour effectuer les modifications | ||
+ | USER_WEB=' | ||
################# | ################# | ||
+ | ##### VERIFICATIONS ##### | ||
# Vérification du passage d'un paramètre (le domaine à créer) | # Vérification du passage d'un paramètre (le domaine à créer) | ||
if [ ! $1 ] | if [ ! $1 ] | ||
then | then | ||
- | | + | echo " |
exit 10 | exit 10 | ||
fi | fi | ||
Ligne 52: | Ligne 88: | ||
if [[ ! " | if [[ ! " | ||
then | then | ||
- | | + | echo "Le nom de domaine $1 n'est pas valide !" |
- | exit 11 | + | exit 11 |
fi | fi | ||
Ligne 59: | Ligne 95: | ||
if [ -f $APACHE_SITES$1 ] | if [ -f $APACHE_SITES$1 ] | ||
then | then | ||
- | | + | echo "Le domaine $1 est déjà configuré pour Apache" |
- | exit 12 | + | exit 12 |
fi | fi | ||
Ligne 66: | Ligne 102: | ||
echo " | echo " | ||
+ | ##### CREATION FICHIER DE CONF APACHE ##### | ||
# Création du fichier de configuration Apache du domaine | # Création du fichier de configuration Apache du domaine | ||
touch $APACHE_SITES$1 | touch $APACHE_SITES$1 | ||
Ligne 72: | Ligne 109: | ||
if [ $? != 0 ] | if [ $? != 0 ] | ||
then | then | ||
- | | + | echo " |
- | exit 13 | + | exit 13 |
fi | fi | ||
Ligne 85: | Ligne 122: | ||
# Si c'est un domaine (et non pas un sous domaine...) | # Si c'est un domaine (et non pas un sous domaine...) | ||
- | if [[ ".*\..*\..*" =~ $1 ]] | + | if [[ "$1" =~ $REGEXP_DOMAINE |
then | then | ||
APACHE_DOMAINE_CONF=$APACHE_DOMAINE_CONF" | APACHE_DOMAINE_CONF=$APACHE_DOMAINE_CONF" | ||
Ligne 115: | Ligne 152: | ||
echo -e $APACHE_DOMAINE_CONF > $APACHE_SITES$1 | echo -e $APACHE_DOMAINE_CONF > $APACHE_SITES$1 | ||
+ | ##### CREATION DES REPERTOIRES + DROITS ##### | ||
# Création des répertoires | # Création des répertoires | ||
# Retour utilisateur | # Retour utilisateur | ||
Ligne 146: | Ligne 183: | ||
fi | fi | ||
+ | # Retour utilisateur | ||
+ | echo " | ||
+ | # Droits sur les répertoires | ||
+ | chown $USER_WEB: | ||
+ | chmod 750 -R $BASE_WWW$1 | ||
+ | chown -R $USER_WEB: | ||
+ | |||
+ | |||
+ | ##### ACTIVATION APACHE ##### | ||
# Retour utilisateur | # Retour utilisateur | ||
echo " | echo " | ||
Ligne 154: | Ligne 200: | ||
then | then | ||
echo " | echo " | ||
- | | + | echo "Une erreur peut planter Apache au prochain reload !" |
exit 17 | exit 17 | ||
fi | fi | ||
Ligne 168: | Ligne 214: | ||
echo "Vos sites ne sont plus accessibles !" | echo "Vos sites ne sont plus accessibles !" | ||
exit 18 | exit 18 | ||
- | fi | + | fi</file> |
- | </code> | + | |
- | chmod 750 site/ | + | |
- | chown www...: | + | |
- | + | ||
- | chmod 750 /logs & /www | + | |
- | user-web | + | |
- | + | ||
- | root@sd-21614: | + | |
- | root@sd-21614: | + | |
\\ | \\ | ||
===== Liens ===== | ===== Liens ===== | ||
- | * [[.:|Retour à la liste des tutoriels | + | * [[.:|Retour à la liste des tutoriels |
* [[:|Retour à la liste des tutoriels]] | * [[:|Retour à la liste des tutoriels]] |