apt install lxc apparmor
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
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
lxc-start dokos lxc-ls -f
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
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
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
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