Επίλυση Προβλημάτων Ανανέωσης Let's Encrypt σε ISPConfig και Multi-Server Setups
- Stylianos Asmargianakis
- Dev ops
- 5 Αυγούστου 2025
Table of Contents
Το Πρόβλημα: Η Αυτόματη Ανανέωση Αποτυγχάνει για το Domain του Control Panel
Όταν χρησιμοποιείτε Let’s Encrypt με ISPConfig σε multi-server setups, μπορεί να αντιμετωπίσετε μια κατάσταση όπου:
- Τα πιστοποιητικά ανανεώνονται αυτόματα για κανονικά domains (όπως το
webmail.example.com) - Η ανανέωση αποτυγχάνει για το domain του control panel (
controlpanel.example.com) - Η μόνη λύση προσωρινά είναι να σταματήσετε το Apache και να χρησιμοποιήσετε standalone mode:
systemctl stop apache2
certbot renew --standalone
systemctl start apache2
Ανάλυση Βασικής Αιτίας
Το πρόβλημα συνήθως προκύπτει επειδή:
- Συγκρούσεις Redirect: Το domain του control panel ανακατευθύνει στο domain του webmail.
- Αναντιστοιχία Μεθόδου Authentication:
- Το
webmail.example.comχρησιμοποιεί authentication webroot. - Το
controlpanel.example.comείναι ρυθμισμένο για authentication standalone.
- Το
- Αποτυχία Επικύρωσης ACME: Το Let’s Encrypt δεν μπορεί να επικυρώσει το domain όταν γίνεται redirect.
Η Λύση: Σωστή Ρύθμιση VirtualHost
Βήμα 1: Δημιουργήστε ένα Αφιερωμένο VirtualHost
cp /etc/apache2/sites-available/webmail.example.com.conf \
/etc/apache2/sites-available/controlpanel.example.com.conf
Επεξεργαστείτε το νέο αρχείο ρύθμισης:
<VirtualHost *:80>
ServerName controlpanel.example.com
DocumentRoot /var/www/clients/client1/web1/web
# Αφαιρέστε τυχόν κανόνες redirect
# Βεβαιωθείτε ότι αυτό υπάρχει για τα ACME challenges:
<Directory "/var/www/clients/client1/web1/web/.well-known/acme-challenge">
Allow from all
</Directory>
</VirtualHost>
Βήμα 2: Ενεργοποιήστε το Site
a2ensite controlpanel.example.com
systemctl reload apache2
Βήμα 3: Ενημερώστε τη Ρύθμιση Let’s Encrypt
Επεξεργαστείτε το αρχείο ρύθμισης ανανέωσης:
nano /etc/letsencrypt/renewal/controlpanel.example.com.conf
Ενημερώστε αυτές τις τιμές:
authenticator = webroot
webroot_path = /var/www/clients/client1/web1/web
Βήμα 4: Δοκιμάστε τη Ρύθμιση
Επιβεβαιώστε ότι το domain ανταποκρίνεται σωστά:
curl -v http://controlpanel.example.com/.well-known/acme-challenge/test
Εκτελέστε ένα dry run:
certbot renew --dry-run
Συστάσεις Ειδικά για ISPConfig
Αν χρησιμοποιείτε ISPConfig:
- ✅ Δημιουργήστε το site σωστά μέσα από το panel αντί να επεξεργάζεστε χειροκίνητα τα configs.
- ✅ Επαληθεύστε ότι τα document root paths ταιριάζουν με τη ρύθμιση webroot σας.
- ✅ Απενεργοποιήστε τα αυτόματα redirects στις ρυθμίσεις του domain.
- ✅ Ελέγξτε τις ρυθμίσεις DNS για να διασφαλίσετε σωστή επίλυση.
Τελική Επαλήθευση
Αφού εφαρμόσετε αυτές τις αλλαγές:
- ✅ Οι αυτόματες ανανεώσεις θα πρέπει να δουλεύουν χωρίς να σταματάτε το Apache
- ✅ Τόσο το
controlpanel.example.comόσο και τοwebmail.example.comθα διατηρούν έγκυρα πιστοποιητικά - ✅ Όλες οι υπηρεσίες παραμένουν προσβάσιμες κατά την ανανέωση
Θυμηθείτε να παρακολουθήσετε την επόμενη προγραμματισμένη ανανέωση για να επιβεβαιώσετε ότι η λύση λειτουργεί σωστά.