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]
[email protected]:/> sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
[email protected]:/> curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add –
[email protected]:/> sudo add-apt-repository \
“deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable”[email protected]:/> sudo apt-get update
[email protected]:/> sudo apt-get -y install docker-ce
[email protected]:/> 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].
[email protected]:/> mkdir /srv
[email protected]:/> docker run -td –name m4-whatpaneldata paimpozhil/data
[email protected]:/> 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 | [email protected]}
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]
[email protected]:/> mkdir /srv/certs
[email protected]:/> echo ‘#!/bin/bash’ >> /etc/cron.monthly/renew-letsencrypt.sh
[email protected]:/> chmod 0644 /etc/cron.monthly/renew-letsencrypt.sh
[email protected]:/> dominio=www.sito.it
[email protected]:/> [email protected]
[email protected]:/> echo docker start lets_$dominio >> /etc/cron.monthly/renew-letsencrypt.sh
[email protected]:/> echo pause 1m >> /etc/cron.monthly/renew-letsencrypt.sh
[email protected]:/> 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.