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)

De AJLSM
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]

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 &
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
  • 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]
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
systemctl enable apache2
systemctl start apache2
ss -ltnp | egrep ':80 |:443 '

---

/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>
/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

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

---

Configuration inchangée :

port 9001

Alias ACME (optionnel) :

alias.url += (
  "/.well-known/acme-challenge/" => "/var/www/letsencrypt/.well-known/acme-challenge/"
)

---

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

---

  • 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