lets encrypt https vhost apache

apt-get install letsencrypt
apt-get install python-letsencrypt-apache

Pour créer ou renew :
letsencrypt certonly --manual --renew-by-default --email admin@site.fr -d site.fr
This creates a directory: /etc/letsencrypt/live/example.com/ containing certificate files:
cert.pem
chain.pem
fullchain.pem
privkey.pem

Pour renew automatique (cron) :
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
0 0 1 * * ( /usr/sbin/apachectl stop && /usr/bin/letsencrypt certonly --renew-by-default --email contact@ideaz.world -d ideaz.world ; /usr/sbin/apachectl restart ) > /root/letsencryptideaz.log.txt 2>&1

Pour copier un dossier letsencrypt depuis un autre serveur :
rsync -avz -e ssh root@xx.yyyy.com:/etc/letsencrypt/ /etc/letsencrypt/

exemple complet vhost apache :

<VirtualHost *:80>
ServerName law.raphaelpiccolo.com
ServerAlias ordalis.fr
ServerAlias www.ordalis.fr
RewriteEngine on
RewriteRule ^/(.*) https://ordalis.fr/$1 [L,R]
</VirtualHost>

<VirtualHost *:443>
ServerName law.raphaelpiccolo.com
ServerAlias ordalis.fr
ServerAlias www.ordalis.fr

SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/ordalis.fr/cert.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/ordalis.fr/privkey.pem"
SSLCertificateChainFile "/etc/letsencrypt/live/ordalis.fr/chain.pem"

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:10000/$1 [P,L]

RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule ^(.*) https://$1 [QSA,L,R=301]

ProxyRequests Off
ProxyPass / http://localhost:10000/
ProxyPassReverse / http://localhost:10000/
ProxyPreserveHost On
</VirtualHost>

Si ça merde :
find /etc/letsencrypt | grep projet | xargs rm -rf
et retenter.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.