Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
Migration eole2 → eole3 + HTTPS (Apache + Let’s Encrypt)
Aller à la navigation
Aller à la recherche
Migration eole2 → eole3 + HTTPS (Apache + Let’s Encrypt)
[modifier | modifier le wikicode]1. Synchronisation des données (rsync)
[modifier | modifier le wikicode]Principe
[modifier | modifier le wikicode]Migration des données depuis eole2 vers eole3 via rsync en SSH :
eole2 → SSH → eole3 → ZFS (/var/data/*-data/data)
Script utilisé
[modifier | modifier le wikicode]Script dédié :
/opt/rsync_eole2_to_eole3/rsync_from_eole2_private.sh
Lancement en production
[modifier | modifier le wikicode]nohup /opt/rsync_eole2_to_eole3/rsync_from_eole2_private.sh \
> /opt/rsync_eole2_to_eole3/logs/nohup.log 2>&1 &
Suivi
[modifier | modifier le wikicode]ps -ef | grep rsync
tail -f /opt/rsync_eole2_to_eole3/logs/nohup.log
tail -f /opt/rsync_eole2_to_eole3/logs/rsync_eole2_to_eole3_*.log
Vérification
[modifier | modifier le wikicode]- RC=0 → OK
- Toujours faire un dry-run avant exécution réelle
- Attention aux options rsync incompatibles selon version (--itemize-changes)
---
2. Architecture cible eole3
[modifier | modifier le wikicode]Internet ↓ Apache (80 / 443) ↓ (proxy) lighttpd (9001) ↓ iipsrv.fcgi (9000) ↓ ZFS (/var/data/*-data/data)
---
3. Installation Apache
[modifier | modifier le wikicode]Installation
[modifier | modifier le wikicode]apt update
apt install -y apache2 certbot python3-certbot-apache
Activation modules
[modifier | modifier le wikicode]⚠️ PATH root incomplet → utiliser chemin complet
/usr/sbin/a2enmod ssl headers rewrite proxy proxy_http
Démarrage
[modifier | modifier le wikicode]systemctl enable apache2
systemctl start apache2
Vérification
[modifier | modifier le wikicode]ss -ltnp | egrep ':80 |:443 '
---
4. Firewall
[modifier | modifier le wikicode]/usr/sbin/ufw allow 80/tcp
/usr/sbin/ufw allow 443/tcp
/usr/sbin/ufw status numbered
---
5. Configuration Apache (HTTP)
[modifier | modifier le wikicode]Création du vhost
[modifier | modifier le wikicode]Fichier :
/etc/apache2/sites-available/eole3.ajlsm.com.conf
<VirtualHost *:80>
ServerName eole3.ajlsm.com
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
SSLProxyEngine On
RewriteEngine On
RewriteOptions inherit
AddDefaultCharset utf-8
ProxyPass /fcgi-bin/iipsrv.fcgi http://localhost:9001/fcgi-bin/iipsrv.fcgi
ProxyPassReverse /fcgi-bin/iipsrv.fcgi http://localhost:9001/fcgi-bin/iipsrv.fcgi
DocumentRoot /var/www/html
ErrorLog /var/log/apache2/eole3.errors.log
CustomLog /var/log/apache2/eole3.log combined
</VirtualHost>
Activation
[modifier | modifier le wikicode]/usr/sbin/a2dissite 000-default.conf
/usr/sbin/a2ensite eole3.ajlsm.com.conf
/usr/sbin/apachectl configtest
systemctl reload apache2
---
6. Vérification HTTP
[modifier | modifier le wikicode]curl http://127.0.0.1/
curl http://eole3.ajlsm.com/
curl -I http://127.0.0.1/fcgi-bin/iipsrv.fcgi
---
7. Mise en place HTTPS (Let’s Encrypt)
[modifier | modifier le wikicode]Génération certificat
[modifier | modifier le wikicode]certbot --apache -d eole3.ajlsm.com
Résultat
[modifier | modifier le wikicode]Certificat généré :
/etc/letsencrypt/live/eole3.ajlsm.com/fullchain.pem /etc/letsencrypt/live/eole3.ajlsm.com/privkey.pem
Configuration Apache automatique :
/etc/apache2/sites-available/000-default-le-ssl.conf
---
8. Vérification HTTPS
[modifier | modifier le wikicode]curl -Ik https://eole3.ajlsm.com/
Résultat attendu :
HTTP/1.1 200 OK
---
9. Renouvellement automatique
[modifier | modifier le wikicode]systemctl status certbot.timer
→ Exécution automatique 2 fois par jour
---
10. Points techniques importants
[modifier | modifier le wikicode]PATH root incomplet
[modifier | modifier le wikicode]Sur eole3 :
/usr/sbin et /sbin absents du PATH
Solution :
utiliser chemins complets :
- /usr/sbin/a2enmod
- /usr/sbin/apachectl
- /usr/sbin/ufw
---
Lighttpd
[modifier | modifier le wikicode]Configuration inchangée :
port 9001
Alias ACME (optionnel) :
alias.url += (
"/.well-known/acme-challenge/" => "/var/www/letsencrypt/.well-known/acme-challenge/"
)
---
IIPImage
[modifier | modifier le wikicode]lighttpd → fcgi → 127.0.0.1:9000 apache → proxy → 9001
---
11. Étapes suivantes
[modifier | modifier le wikicode]- Reprise des règles métier Apache depuis eole2 :
- restrictions IP
- protections referer
- rewrite Pleade
- Ajout de vhosts :
- sftpgo
- cockpit
- Mise en HTTPS de saturne3
---
Conclusion
[modifier | modifier le wikicode]- rsync OK → données synchronisées
- NFS OK → accès VM
- Apache OK → frontal HTTP/HTTPS
- Let’s Encrypt OK → certificats automatiques
- Architecture alignée avec eole2