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]] | ||