Ceci est une ancienne révision du document !
Migration du serveur futuretic.fr vers une autre box
Installation de containers LXC sous Debian 11
apt install lxc apparmor
Réseau : configuration mode Independent bridge setup
Installation et configuration du réseau : édition du fichier /etc/default/lxc-net
nano /etc/default/lxc-net
USE_LXC_BRIDGE="true" LXC_BRIDGE="lxcbr0" LXC_ADDR="10.0.3.1" LXC_NETMASK="255.255.255.0" LXC_NETWORK="10.0.3.0/24" LXC_DHCP_RANGE="10.0.3.200,10.0.3.254" LXC_DHCP_MAX="253" LXC_DHCP_CONFILE="" LXC_DOMAIN=""
Pour créer un template pour la configuration de nouveau containers :
nano /etc/lxc/default.conf
lxc.net.0.type = veth lxc.net.0.link = lxcbr0 lxc.net.0.flags = up lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx lxc.apparmor.profile = generated lxc.apparmor.allow_nesting = 1
Redémarrer la couche réseau
sudo service lxc-net restart
Copie des containers LXC sauvegardés
Par exemple
cp -ardv /home/adminbox/restore/var/lib/lxc/dokos /var/lib/lxc/dokos * a pour --preserve=all * r pour recursif * d pour identique à --no-dereference --preserve=liens * v pour verbose
Pour modifier le nom d'un container (de tlcvl à mm) lors de la copie : changer le répertoire de destination et le répertoire correspondant au rootfs dans le fichier de config
cp -ardv /home/adminbox/restore/var/lib/lxc/tlcvl /var/lib/lxc/mm nano /var/lib/lxc/mm/config lxc.rootfs.path = dir:/var/lib/lxc/mm/rootfs
Test du démarrage d'un container
lxc-start dokos lxc-ls -f
Copie vhost et certificats
Copie des vhost depuis le backup
cp /home/adminbox/restore/etc/apache2/sites-available/*.conf /etc/apache2/sites-available/ cd /etc/apache2/sites-available a2ensite *.conf a2dissite default-ssl.conf
Dans le vhost, Dokos, Thingsboard (io) et Mattermost (mm) utilisent les adresses ip des containers (qui n'ont pas changées), les autres utilisent les DNS, il faut informer /etc/hosts (à uniformiser ?)
nano /etc/hosts
10.0.3.243 ynh.futuretic.fr cpad.futuretic.fr md.futuretic.fr pad.futuretic.fr pass.futuretic.fr 10.0.3.211 visio.futuretic.fr 10.0.3.250 dokos.futuretic.fr 10.0.3.244 io.futuretic.fr 10.0.3.235 mm.futuretic.fr
Copie des certificats
On replatre les certificats
cp -ard /home/adminbox/restore/etc/letsencrypt/archive/ /etc/letsencrypt/archive/ cp -ard /home/adminbox/restore/etc/letsencrypt/csr/ /etc/letsencrypt/csr/ cp -ard /home/adminbox/restore/etc/letsencrypt/keys/ /etc/letsencrypt/keys/ cp -ard /home/adminbox/restore/etc/letsencrypt/live/ /etc/letsencrypt/live/ cp -ard /home/adminbox/restore/etc/letsencrypt/renewal/ /etc/letsencrypt/renewal/
Relance apache2
systemctl restart apache2.service
Test en changeant son propre /etc/hosts
Ajout de règles au firewall via ufw
Ouvrir les ports nécessaires au fonctionnement de jitsi avec ufw :
sudo ufw allow 10000/udp sudo ufw allow 3478/udp sudo ufw allow 5349/tcp
Si on ajoute les règles pour minecraft (ds le ynh) et que jp puisse y accéder depuis le lycée via le port 30 …
sudo ufw allow 30000/udp sudo ufw allow 30/udp
Il faut transférer certains de ces ports au container jitsi (pour 80 et 443, c'est l'apache du host qui fait le proxy vers le container) et d'autres vers le container ynh pour minecraft : ajouter en début de fichier
nano /etc/ufw/before.rules
## b01 additions *nat :PREROUTING ACCEPT [0:0] # minetest -A PREROUTING -i enp35s0 -p udp --dport 30000 -j DNAT --to 10.0.3.243:30000 -A PREROUTING -i enp35s0 -p udp --dport 30 -j DNAT --to 10.0.3.243:30000 # jitsi specific rules -A PREROUTING -i enp35s0 -p udp --dport 10000 -j DNAT --to 10.0.3.211:10000 -A PREROUTING -i enp35s0 -p tcp --dport 3478 -j DNAT --to 10.0.3.211:3478 -A PREROUTING -i enp35s0 -p tcp --dport 5349 -j DNAT --to 10.0.3.211:5349 COMMIT
10.0.3.211 étant l'ip du container jitsi, 243 le ynh
Redémarrer ufw avec
sudo ufw disable && sudo ufw enable
ou
systemctl restart ufw.service
Check du firewall status
sudo ufw status verbose
Modifier un fichier de config de jitsi avec l'ip du serveur
lxc-attach meet
Configurer le videobridge
nano /etc/jitsi/videobridge/sip-communicator.properties
org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true ###org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443 # from forum org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false # add to make it work inside the container org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=10.0.3.211 org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=65.21.94.60
Redémarrer videobridge
systemctl restart jitsi-videobridge2