Quest’oggi volevo fornirvi questa breve guida per la gestione multidominio tramite le piattaforme gratuite Docker-CE, Ajenti-V e Letsencrypt con relativo schedule
Una volta installata la macchina (Debian jessie) provvediamo ad installare Docker: [ref]
admin@host:/> sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
admin@host:/> curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add –
admin@host:/> sudo add-apt-repository \
“deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable”admin@host:/> sudo apt-get update
admin@host:/> sudo apt-get -y install docker-ce
admin@host:/> sudo systemctl start docker
A questo punto abbiamo Docker avviato e funzionante e quindi avvio un gestore di vHost, ed il mio preferito è Ajenti-V nella variante whatpanel sviluppata su Docker [ref].
admin@host:/> mkdir /srv
admin@host:/> docker run -td –name m4-whatpaneldata paimpozhil/data
admin@host:/> docker run -d -p 8000:8000 -p 80:80 -p 443:443 -p 2222:22 -p 21:21 –volumes-from m4-whatpaneldata -v /srv:/srv paimpozhil/whatpanel
Adesso possiamo accedere al nostro pannello di gestione Ajenti Web https://<IP-Address>:8000 {Login root | Password admin}
oppure accedere alla machina in ssh://<IP-Address>:2222 {Login root | ch@ngem3}
A questo punto possiamo creare i domini con i vari siti impostando come directory principale del sito la dir /var/www e non /srv come da default
Una volta creati i domini e puntati i DNS possiamo provedere alla creazione dei certificati tramite Letsencrypt [ref] & cron [ref]
admin@host:/> mkdir /srv/certs
admin@host:/> echo ‘#!/bin/bash’ >> /etc/cron.monthly/renew-letsencrypt.sh
admin@host:/> chmod 0644 /etc/cron.monthly/renew-letsencrypt.sh
admin@host:/> dominio=www.sito.it
admin@host:/> mail=mail@sito.it
admin@host:/> echo docker start lets_$dominio >> /etc/cron.monthly/renew-letsencrypt.sh
admin@host:/> echo pause 1m >> /etc/cron.monthly/renew-letsencrypt.sh
admin@host:/> docker run -it –name lets_$dominio –volumes-from whatpanel_data -v /srv/certs:/etc/letsencrypt/ quay.io/letsencrypt/letsencrypt certonly –agree-tos –webroot –webroot-path /var/www/$dominio/ -m $mail -d $dominio
A questo punto avrete all’interno della cartella /srv/cert del sistema Debian tutti i certificati generati, che a sua volta li ritroverete all’interno della /srv del container whatspanel.
In questo modo ogni mese il sistema avvierà automaticamente il container rinnovando il cerficato e quest’ultimi sono raggiungibili all’intero del della directory /src/certs/$dominio.