ISPconfig non aggiorna il file dei certificati che utilizza per se e per pure-ftpd.
Il file è: /usr/local/ispconfig/interface/ssl/ispserver.pem
Verificare se ispserver.pem è aggionato
#openssl x509 -in /usr/local/ispconfig/interface/ssl/ispserver.pem -noout -enddate
Se la data è passata, significa che il certificato è effettivamente scaduto.
#diff /usr/local/ispconfig/interface/ssl/ispserver.pem /etc/letsencrypt/live/mio.server.com/fullchain.pem
Se i file sono diversi, significa che ispserver.pem è obsoleto e deve essere aggiornato.
Forse ci sono altre soluzioni, come l'aggiornamento forzato di ispconfig, ma io sono un po' apprensivo, specialmente quando parte uno script complesso con molti comandi, ho quindi fatto cosi.
Possiamo aggiornarlo manualmente sostituendolo con il certificato Let’s Encrypt attuale.
Prima, facciamo un backup:
#cp /usr/local/ispconfig/interface/ssl/ispserver.pem /usr/local/ispconfig/interface/ssl/ispserver.pem.bak
Uniamo i due certificati nell'ordine indicato in ispserver.pem
#cat /etc/letsencrypt/live/mio.server.com/privkey.pem /etc/letsencrypt/live/mio.server.com/fullchain.pem > /usr/local/ispconfig/interface/ssl/ispserver.pem
sistemiamo eventualmente i permessi
#chmod 600 /usr/local/ispconfig/interface/ssl/ispserver.pem
#chown root:root /usr/local/ispconfig/interface/ssl/ispserver.pem
Possiamo riavviare solo il servere FTP
#systemctl restart pure-ftpd-mysql
ma per completezza (facoltativo) possiamo riavviare anche
#systemctl restart apache2
#systemctl restart postfix dovecot
#openssl s_client -connect mio.server.com:21 -starttls ftp
Se la data è corretta, allora Pure-FTPd sta finalmente usando il certificato giusto.
Ispconfig con il comando:
#ispconfig_update.sh --force
dovrebbe rigenerare anche ispserver.pem.
Ma in caso di problemi o se si vuole essere sicuri venga aggiornato, si potrebbe mettere il comando usato prima in crontab in modo che alle 03 di notte aggiorni i file e riavvi il servizio.
#echo "0 3 * * * root cat /etc/letsencrypt/live/mio.server.com/privkey.pem /etc/letsencrypt/live/mio.server.com/fullchain.pem > /usr/local/ispconfig/interface/ssl/ispserver.pem && systemctl restart pure-ftpd-mysql" >> /etc/crontab