premier jet de doc pour evoacme
This commit is contained in:
parent
9ed44fdb29
commit
a955689f5e
105
HowtoEvoACME.md
Normal file
105
HowtoEvoACME.md
Normal file
|
@ -0,0 +1,105 @@
|
|||
# Howto EvoACME
|
||||
|
||||
## Installation
|
||||
|
||||
~~~
|
||||
# cat /etc/apt/sources.list.d/backports.list
|
||||
deb http://mirror.evolix.org/debian jessie-backports main
|
||||
|
||||
# tail -4 /etc/apt/preferences.d/backports
|
||||
Package: certbot python-certbot python-acme python-cryptography python-openssl python-setuptools python-ndg-httpsclient python-pyasn1 python-pkg-resources
|
||||
Pin: release a=jessie-backports
|
||||
Pin-Priority: 999
|
||||
|
||||
# apt install certbot
|
||||
# adduser --home /var/lib/letsencrypt --quiet --system --no-create-home --group acme
|
||||
# install -m 755 -o acme -g acme -d /etc/letsencrypt /var/lib/letsencrypt
|
||||
# install -m 750 -o acme -g acme -d /var/log/letsencrypt
|
||||
# install -m 750 -o acme -g acme -d /var/log/evoacme
|
||||
# mv /etc/cron.d/certbot /etc/cron.d/certbot.disabled
|
||||
# echo "acme: root" >> /etc/aliases && newaliases
|
||||
|
||||
# cat /etc/apache2/conf-available/letsencrypt.conf
|
||||
Alias /.well-known/acme-challenge /var/lib/letsencrypt/.well-known/acme-challenge
|
||||
<Directory "/var/lib/letsencrypt/.well-known/acme-challenge">
|
||||
Options -Indexes
|
||||
Allow from all
|
||||
Require all granted
|
||||
</Directory>
|
||||
|
||||
# a2enconf letsencrypt
|
||||
# systemctl reload apache2
|
||||
|
||||
# cat /etc/letsencrypt/openssl.cnf
|
||||
[req]
|
||||
default_bits = 2048
|
||||
encrypt_key = yes
|
||||
distinguished_name = req_dn
|
||||
prompt = no
|
||||
[req_dn]
|
||||
C = FR
|
||||
ST = France
|
||||
L = Marseille
|
||||
O = Foo
|
||||
OU = Security
|
||||
emailAddress = security@example.com
|
||||
|
||||
# cat /etc/default/evoacme
|
||||
SSL_KEY_DIR=/etc/ssl/private
|
||||
ACME_DIR=/var/lib/letsencrypt
|
||||
CSR_DIR=/etc/ssl/requests
|
||||
CRT_DIR=/etc/letsencrypt
|
||||
LOG_DIR=/var/log/evoacme
|
||||
SSL_MINDAY=15
|
||||
|
||||
# cat /etc/cron.daily/certbot
|
||||
#!/bin/bash
|
||||
|
||||
ls /etc/letsencrypt/*.crt 2>/dev/null |sed 's/.crt//'|while read vhost;
|
||||
do
|
||||
evoacme $(basename $vhost)>/dev/null
|
||||
done
|
||||
~~~
|
||||
|
||||
Installer /usr/local/bin/make-csr et /usr/local/bin/evoacme
|
||||
|
||||
Générer un certificat pour un VirtualHost, par exemple `/etc/apache2/sites-enabled/foo.conf` :
|
||||
|
||||
~~~
|
||||
# make-csr foo
|
||||
# evoacme foo
|
||||
~~~
|
||||
|
||||
puis configurer le VirtualHost avec :
|
||||
|
||||
~~~
|
||||
SSLCertificateKeyFile /etc/ssl/private/foo.key
|
||||
SSLCertificateFile /etc/letsencrypt/foo-fullchain.pem
|
||||
~~~
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
### Rewrite
|
||||
|
||||
Si vous avez une re-écriture http vers https, cela ne pose de problème (Let's Encrypt n'exige pas d'avoir un certificat valide pour sa vérification) MAIS il faut s'assurer de conserver l'URL.
|
||||
|
||||
Par exemple la ré-écriture suivante ne convient **pas** :
|
||||
|
||||
~~~
|
||||
RewriteRule ^/(.*) https://example.com/ [L,R]
|
||||
~~~
|
||||
|
||||
il faut avoir :
|
||||
|
||||
~~~
|
||||
RewriteRule ^/(.*) https://example.com/$1 [L,R]
|
||||
~~~
|
||||
|
||||
### Renommage des VirtualHosts
|
||||
|
||||
Attention, EvoACME s'appuie donc sur le nom du fichier de VirtualHost dans `/etc/apache2/sites-enabled/` ...attention en cas de renommage il faudra renommer également le .csr ! Notamment pour `000-default` si on le renomme en `zzz-default` par exemple.
|
||||
|
||||
### Nom des fichiers dans /etc/ssl/private
|
||||
|
||||
Attention, EvoACME va créer une clé privée dans /etc/ssl/private en fonction du nom du VirtualHost : il faut s'assurer que cela ne va pas écraser une clé existante.
|
Loading…
Reference in a new issue