diff --git a/Config HAProxy actuelle b/Config HAProxy actuelle deleted file mode 100644 index dc039bc..0000000 --- a/Config HAProxy actuelle +++ /dev/null @@ -1,73 +0,0 @@ -# this config needs haproxy-1.1.28 or haproxy-1.2.1 - -global - log 127.0.0.1 local0 info - maxconn 4096 - user haproxy - group haproxy - daemon - -defaults - log global - mode http - option dontlognull - retries 3 - option redispatch - maxconn 2000 - contimeout 5000 - clitimeout 50000 - srvtimeout 50000 - -# --- Frontends --- - -frontend http_frontend - bind *:80 - mode http - - option httplog - option httpclose - option forwardfor - #option httpchk GET /status - - default_backend http_server - - # Let's Encrypt - acl letsencrypt-request path_beg -i /.well-known/acme-challenge/ - use_backend letsencrypt if letsencrypt-request - -frontend https_frontend - bind *:443 - mode tcp - - default_backend https_server - -# --- Backends --- - -# Local backend for Let's Encrypt -backend letsencrypt - mode http - server letsencrypt 127.0.0.1:8010 - -# YunoHost HTTP backend -backend http_server - mode http - - balance roundrobin - - server yunohost_demo1 10.1.5.3:80 check - server yunohost_demo2 10.1.5.4:80 check - -# YunoHost HTTPS backend -backend https_server - mode tcp - - balance source - #balance roundrobin - #stick-table type ip size 200k expire 30m - #stick on src - - option ssl-hello-chk - option httpchk GET /status - - server yunohost_demo1 10.1.5.3:443 check - server yunohost_demo2 10.1.5.4:443 check diff --git a/demo_lxc_build.sh b/demo_lxc_build.sh index 75d6745..7472434 100755 --- a/demo_lxc_build.sh +++ b/demo_lxc_build.sh @@ -18,18 +18,19 @@ LXC_NAME1=yunohost_demo1 LXC_NAME2=yunohost_demo2 TIME_TO_SWITCH=30 # En minutes +MAIL_ADDR=demo@yunohost.org USER_DEMO=demo PASSWORD_DEMO=demo # Check root -CHECK_ROOT=$EUID -if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi -if [ $CHECK_ROOT -eq 0 ] -then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root - echo "Le script ne doit pas être exécuté avec les droits root" - exit 1 -fi +# CHECK_ROOT=$EUID +# if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi +# if [ $CHECK_ROOT -eq 0 ] +# then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root +# echo "Le script ne doit pas être exécuté avec les droits root" +# exit 1 +# fi echo "> Création d'une machine debian jessie minimaliste" | tee -a "$LOG_BUILD_LXC" sudo lxc-create -n $LXC_NAME1 -t debian -- -r jessie >> "$LOG_BUILD_LXC" 2>&1 diff --git a/demo_lxc_build_init.sh b/demo_lxc_build_init.sh index d900c4a..5416ab2 100755 --- a/demo_lxc_build_init.sh +++ b/demo_lxc_build_init.sh @@ -15,13 +15,13 @@ IP_LXC1=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC1= | cut -d '=' -f2) IP_LXC2=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC2= | cut -d '=' -f2) # Check root -CHECK_ROOT=$EUID -if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi -if [ $CHECK_ROOT -eq 0 ] -then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root - echo "Le script ne doit pas être exécuté avec les droits root" - exit 1 -fi +# CHECK_ROOT=$EUID +# if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi +# if [ $CHECK_ROOT -eq 0 ] +# then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root +# echo "Le script ne doit pas être exécuté avec les droits root" +# exit 1 +# fi read -p "Indiquer le nom de domaine du serveur de demo: " DOMAIN echo "$DOMAIN" > "$script_dir/domain.ini" @@ -83,7 +83,12 @@ server { listen [::]:80; server_name $DOMAIN; - if (\$scheme = http) { + location '/.well-known/acme-challenge' { + default_type "text/plain"; + root /tmp/letsencrypt-auto; + } + + if (\$scheme = http) { rewrite ^ https://\$server_name\$request_uri? permanent; } diff --git a/demo_lxc_destroy.sh b/demo_lxc_destroy.sh index bbf2c19..3e04fae 100755 --- a/demo_lxc_destroy.sh +++ b/demo_lxc_destroy.sh @@ -13,13 +13,13 @@ IP_LXC1=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC1= | cut -d '=' -f2) IP_LXC2=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC2= | cut -d '=' -f2) # Check root -CHECK_ROOT=$EUID -if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi -if [ $CHECK_ROOT -eq 0 ] -then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root - echo "Le script ne doit pas être exécuté avec les droits root" - exit 1 -fi +# CHECK_ROOT=$EUID +# if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi +# if [ $CHECK_ROOT -eq 0 ] +# then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root +# echo "Le script ne doit pas être exécuté avec les droits root" +# exit 1 +# fi "$script_dir/demo_stop.sh" diff --git a/demo_lxc_remove.sh b/demo_lxc_remove.sh index d977849..a9f8a7e 100755 --- a/demo_lxc_remove.sh +++ b/demo_lxc_remove.sh @@ -11,13 +11,13 @@ LXC_NAME1=$(cat "$script_dir/demo_lxc_build.sh" | grep LXC_NAME1= | cut -d '=' - DOMAIN=$(cat "$script_dir/domain.ini") # Check root -CHECK_ROOT=$EUID -if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi -if [ $CHECK_ROOT -eq 0 ] -then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root - echo "Le script ne doit pas être exécuté avec les droits root" - exit 1 -fi +# CHECK_ROOT=$EUID +# if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi +# if [ $CHECK_ROOT -eq 0 ] +# then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root +# echo "Le script ne doit pas être exécuté avec les droits root" +# exit 1 +# fi "$script_dir/demo_lxc_destroy.sh" diff --git a/demo_switch.sh b/demo_switch.sh index b6b312e..10728bb 100755 --- a/demo_switch.sh +++ b/demo_switch.sh @@ -9,6 +9,7 @@ if [ "${0:0:1}" == "/" ]; then script_dir="$(dirname "$0")"; else script_dir="$P PLAGE_IP=$(cat "$script_dir/demo_lxc_build.sh" | grep PLAGE_IP= | cut -d '=' -f2) LXC_NAME1=$(cat "$script_dir/demo_lxc_build.sh" | grep LXC_NAME1= | cut -d '=' -f2) LXC_NAME2=$(cat "$script_dir/demo_lxc_build.sh" | grep LXC_NAME2= | cut -d '=' -f2) +MAIL_ADDR=$(cat "$script_dir/demo_lxc_build.sh" | grep MAIL_ADDR= | cut -d '=' -f2) # Vérifie l'état des machines. if [ "$(sudo lxc-info --name $LXC_NAME1 | grep -c "RUNNING")" -eq "1" ] @@ -26,8 +27,8 @@ sudo lxc-start -n $LXC_B -o "$script_dir/demo_switch.log" -d > /dev/null # Déma sleep 10 # Attend 10 seconde pour s'assurer du démarrage de la machine. if [ "$(sudo lxc-info --name $LXC_B | grep -c "STOPPED")" -eq "1" ] then - # Le conteneur n'a pas réussi à démarrer. On devrait avertir un responsable par mail... - # [...] + # Le conteneur n'a pas réussi à démarrer. On averti un responsable par mail... + mail -a "Content-Type: text/plain; charset=UTF-8" -s "Demo Yunohost" $MAIL_ADDR "Échec du démarrage du conteneur $LXC_B sur le serveur de demo!" exit 1 else # Bascule sur le conteneur B avec le load balancing de nginx... diff --git a/demo_upgrade.sh b/demo_upgrade.sh index e054eda..24afed6 100755 --- a/demo_upgrade.sh +++ b/demo_upgrade.sh @@ -12,6 +12,7 @@ IP_LXC1=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC1= | cut -d '=' -f2) IP_LXC2=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC2= | cut -d '=' -f2) PLAGE_IP=$(cat "$script_dir/demo_lxc_build.sh" | grep PLAGE_IP= | cut -d '=' -f2) TIME_TO_SWITCH=$(cat "$script_dir/demo_lxc_build.sh" | grep TIME_TO_SWITCH= | cut -d '=' -f2) +MAIL_ADDR=$(cat "$script_dir/demo_lxc_build.sh" | grep MAIL_ADDR= | cut -d '=' -f2) IP_UPGRADE=$PLAGE_IP.150 LOOP=0 @@ -62,6 +63,7 @@ UPGRADE_DEMO_CONTAINER () { # Démarrage, upgrade et snapshot if [ "$?" -ne 0 ]; then # Si le script a échoué, le snapshot est annulé. echo "Échec du script $LIGNE" mv -f "$script_dir/upgrade.d/$LIGNE" "$script_dir/upgrade.d/$LIGNE.fail" + mail -a "Content-Type: text/plain; charset=UTF-8" -s "Demo Yunohost" $MAIL_ADDR "Échec d'exécution du script d'upgrade $LIGNE sur le conteneur $MACHINE sur le serveur de demo!\nLe script a été renommé en .fail, il ne sera plus exécuté tant que le préfixe ne sera pas retiré." update_apt=0 fi done