diff --git a/bin/sys_create_vhost.sh b/bin/sys_create_vhost.sh index a3e9261..c8daa6b 100755 --- a/bin/sys_create_vhost.sh +++ b/bin/sys_create_vhost.sh @@ -12,6 +12,8 @@ # Mise a jour : # # 1.0.0 22/07/2017 - Doug Le Tough - Cre : Mise en production +# 1.1.0 26/07/2017 - Doug Le Tough - Evo : Ajout vérification de la configuration +# Ajout création du répertoire du backend # #------------------------------------------------------------------------------------------------------------------ # Dependances : Aucune @@ -36,6 +38,7 @@ # REMOTE_VHOST_TEMPLATE=backend_template.conf # DEHYDRATED_DOMAIN_LIST=/etc/dehydrated/domains.txt # HTTPD_PATH=/etc/httpd/sites-available +# WWW_ROOT_DIR=/var/www # #------------------------------------------------------------------------------------------------------------------ ## @@ -91,6 +94,43 @@ REPLACE_SITE_PORT="s/SITE_PORT/${backend_port}/" # Fonctions #------------------------------------------------------------------------------------------------------------------ +function check_config +{ + fct_message "Vérification de la configuration:" -color jaune + if [ ! -r ${SH_FICCFG} ]; then + ERROR="Fichier de configuration ${SH_FICCFG} absent ou illisible" + fct_erreur 2 + fi + if [ ${#RPROXY_VHOST_TEMPLATE} -eq 0 ]; then + ERROR="Paramètre manquant ou vide dans le fichier de configuration: RPROXY_VHOST_TEMPLATE" + fct_erreur 2 + fi + if [ ${#REMOTE_VHOST_TEMPLATE} -eq 0 ]; then + ERROR="Paramètre manquant ou vide dans le fichier de configuration: REMOTE_VHOST_TEMPLATE" + fct_erreur 2 + fi + if [ ${#DEHYDRATED_DOMAIN_LIST} -eq 0 ]; then + ERROR="Paramètre manquant ou vide dans le fichier de configuration: DEHYDRATED_DOMAIN_LIST" + fct_erreur 2 + fi + if [ ${#RHTTPD_PATH} -eq 0 ]; then + ERROR="Paramètre manquant ou vide dans le fichier de configuration: HTTPD_PATH" + fct_erreur 2 + fi + if [ ${#WWW_ROOT_DIR} -eq 0 ]; then + ERROR="Paramètre manquant ou vide dans le fichier de configuration: WWW_ROOT_DIR" + fct_erreur 2 + fi + fct_message " * RPROXY_VHOST_TEMPLATE: ${RPROXY_VHOST_TEMPLATE}" + fct_message " * REMOTE_VHOST_TEMPLATE: ${REMOTE_VHOST_TEMPLATE}" + fct_message " * DEHYDRATED_DOMAIN_LIST: ${DEHYDRATED_DOMAIN_LIST}" + fct_message " * HTTPD_PATH: ${HTTPD_PATH}" + fct_message " * WWW_ROOT_DIR: ${WWW_ROOT_DIR}" + fct_message " * Domain: ${domain}" + fct_message " * Backend host: ${backend_host}" + fct_message " * Backend port: ${backend_port}" +} + function check_port { if [ ! ${backend_port} -gt 0 ] 2>/dev/null || [ ! ${backend_port} -lt 65535 ] 2>/dev/null; then @@ -214,6 +254,29 @@ function create_backend_conf fi } +function create_backend_document_root +{ + fct_message "Création du répertoire d'accueil du backend sur ${backend_host}" -color jaune + ssh ${backend_host} "mkdir -p ${WWW_ROOT_DIR}/${domain}" + RET_VAL=$? + if [ ! ${RET_VAL} -eq 0 ]; then + ERROR="Erreur lors de la création du répertoire d'accueil du backend" + fct_erreur 2 + fi + fct_message "Application des droits sur le répertoire d'accueil du backend" -color jaune + ssh ${backend_host} "sudo chown -R apache:apache ${WWW_ROOT_DIR}/${domain}" + if [ ! ${RET_VAL} -eq 0 ]; then + ERROR="Erreur lors de de l'application des droits sur le répertoire d'accueil du backend" + fct_erreur 2 + fi + fct_message "Application des permissions sur le répertoire d'accueil du backend" -color jaune + ssh ${backend_host} "sudo chmod -R 775 ${WWW_ROOT_DIR}/${domain}" + if [ ! ${RET_VAL} -eq 0 ]; then + ERROR="Erreur lors de de l'application des droits sur le répertoire d'accueil du backend" + fct_erreur 2 + fi +} + function add_domain { if [ ${IS_PRESENT} -eq 0 ]; then @@ -233,6 +296,7 @@ function add_domain # Traitement #------------------------------------------------------------------------------------------------------------------ +check_config check_port check_templates create_rproxy_conf diff --git a/conf/sys_create_vhost.conf b/conf/sys_create_vhost.conf index a3ca50a..3005257 100644 --- a/conf/sys_create_vhost.conf +++ b/conf/sys_create_vhost.conf @@ -2,3 +2,4 @@ RPROXY_VHOST_TEMPLATE=rproxy_template.conf REMOTE_VHOST_TEMPLATE=backend_template.conf DEHYDRATED_DOMAIN_LIST=/etc/dehydrated/domains.txt HTTPD_PATH=/etc/httpd/sites-available +WWW_ROOT_DIR=/var/www