Readme et retour reverse

This commit is contained in:
Maniack Crudelis 2016-08-16 01:45:21 +02:00
parent e30a575227
commit 4f9443a152
3 changed files with 72 additions and 42 deletions

32
README.MD Normal file
View file

@ -0,0 +1,32 @@
# Scripts de gestion et mise en place des serveurs de demo Yunohost sous LXC
## demo_lxc_build_init
Ce script prépare le serveur hôte à recevoir les conteneurs LXC de demo.
Il doit être exécuté une seule fois et en premier.
## demo_lxc_build
Ce script construit les conteneurs de demo et les paramètres.
Il met également en places les crons et démarre le 1er conteneur.
Après l'exécution de ce script, la demo est en place.
## demo_lxc_destroy
Ce script arrête les conteneurs et les détruits.
Il sert en général à une reconstruction des conteneurs avec de nouveaux paramètres. Et devrait donc être suivi du script demo_lxc_build.
## demo_lxc_remove
Ce script, après avoir appelé demo_lxc_destroy va désinstaller LXC et remettre le serveur à son état d'origine. Retirant les paramétrages mis en place pour la demo.
Il ne devrait être utilisé qu'en cas de changement de serveur hôte.
## demo_start
Permet simplement un démarrage propre du 1er conteneur. Avec la mise en place du bridge réseau et des règles de parefeu.
## demo_stop
Arrête proprement les conteneurs et désactive la config réseau spécifique.
## demo_switch
Ce script est placé en cron par demo_lxc_build.
Il va alterner toutes les 30 minutes (par défaut) les 2 conteneurs et rétablir le snapshot du conteneurs après son extinction.
## demo_upgrade
Ce script est placé en cron par demo_lxc_build.
demo_upgrade vérifie chaque nuit les mises à jour sur les conteneurs, et les applique le cas échéant. Si nécessaire, il se charge également de refaire le snapshot.

View file

@ -60,43 +60,42 @@ IdentityFile $HOME/.ssh/$LXC_NAME1
# End ssh $LXC_NAME1
EOF
## Pas de reverse proxy nécessaire sur le serveur de démo actuel.
# echo "> Mise en place du reverse proxy" | tee -a "$LOG_BUILD_LXC"
# echo | sudo tee /etc/nginx/conf.d/$DOMAIN.conf <<EOF
# server {
# listen 80;
# listen [::]:80;
# server_name $DOMAIN;
#
# if (\$scheme = http) {
# rewrite ^ https://\$server_name\$request_uri? permanent;
# }
#
# access_log /var/log/nginx/$DOMAIN-access.log;
# error_log /var/log/nginx/$DOMAIN-error.log;
# }
#
# server {
# listen 443 ssl;
# listen [::]:443 ssl;
# server_name $DOMAIN;
#
# location / {
# proxy_pass https://$IP_LXC1;
# proxy_redirect off;
# proxy_set_header Host \$host;
# proxy_set_header X-Real-IP \$remote_addr;
# proxy_set_header X-Forwarded-Proto \$scheme;
# proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Host \$server_name;
# }
#
# access_log /var/log/nginx/$DOMAIN-access.log;
# error_log /var/log/nginx/$DOMAIN-error.log;
# }
# EOF
#
# sudo service nginx reload
echo "> Mise en place du reverse proxy" | tee -a "$LOG_BUILD_LXC"
echo | sudo tee /etc/nginx/conf.d/$DOMAIN.conf <<EOF
server {
listen 80;
listen [::]:80;
server_name $DOMAIN;
if (\$scheme = http) {
rewrite ^ https://\$server_name\$request_uri? permanent;
}
access_log /var/log/nginx/$DOMAIN-access.log;
error_log /var/log/nginx/$DOMAIN-error.log;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name $DOMAIN;
location / {
proxy_pass https://$IP_LXC1;
proxy_redirect off;
proxy_set_header Host \$host;
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-Proto \$scheme;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host \$server_name;
}
access_log /var/log/nginx/$DOMAIN-access.log;
error_log /var/log/nginx/$DOMAIN-error.log;
}
EOF
sudo service nginx reload
# Mise en place de HAProxy
# [...]

View file

@ -20,8 +20,8 @@ echo "> Supprime le brige réseau"
sudo rm /etc/network/interfaces.d/lxc_demo
# LXC était déjà installé sur le serveur de demo actuel. On ne l'enlève pas.
# echo "> Remove lxc lxctl"
# sudo apt-get remove lxc lxctl
echo "> Remove lxc lxctl"
sudo apt-get remove lxc lxctl
echo "> Suppression de la clé SSH"
rm -f $HOME/.ssh/$LXC_NAME1 $HOME/.ssh/$LXC_NAME1.pub
@ -29,10 +29,9 @@ echo "> Et de sa config spécifique dans $HOME/.ssh/config"
BEGIN_LINE=$(cat $HOME/.ssh/config | grep -n "^# ssh $LXC_NAME1" | cut -d':' -f 1)
sed -i "$BEGIN_LINE,/^# End ssh $LXC_NAME1/d" $HOME/.ssh/config
## Pas de reverse proxy nécessaire sur le serveur de démo actuel.
# Suppression du reverse proxy
# sudo rm /etc/nginx/conf.d/$DOMAIN.conf
# sudo service nginx reload
sudo rm /etc/nginx/conf.d/$DOMAIN.conf
sudo service nginx reload
# Suppression de la config haproxy
# La config haproxy est modifiée manuellement.