Afin de générer un certificat https sur mon serveur distant (mutualisé) avec lets-encript. et n'ayant qu'un accès FTP (pas d'accès en console root), j'utilise Certbot.
Pour cela il est nécessaire de lancer let's encript sur le pc locale et d'envoyer les certificats via FTP sur le site distant.
Sur le pc locale
Créer le dossier cerbot et aller dans le répertoire crée
mkdir certbot && cd certbot
Récupérer certbot
git clone https://github.com/certbot/certbot
Génération du certificat
./certbot/letsencrypt-auto certonly --manual -d monsite.com
Pour prouver que je suis le propriétaire du site certbot demande de créer un fichier dans un répertoire spécifique.
En l’occurrence créer un fichier (à la racine du site) .well-known/acme-challenge/THyxasN35BQaTj-a7FASTqmT626fey1va51EO90PC7I contenant THyxasN35BQaTj-a7FASTqmT626fey1va51EO90PC7I.cbhiFNQ0DT6YQ1x9Nkfp20lYVcEg5ucjOsMjtfw3R1k
Make sure your web server displays the following content at
url://monsite.com/.well-known/acme-challenge/THyxasN35BQaTj-a7FASTqmT626fey1va51EO90PC7I before continuing:
THyxasN35BQaTj-a7FASTqmT626fey1va51EO90PC7I.cbhiFNQ0DT6YQ1x9Nkfp20lYVcEg5ucjOsMjtfw3R1k
If you don't have HTTP server configured, you can run the following
command on the target server (as root):
mkdir -p /tmp/certbot/public_html/.well-known/acme-challenge
cd /tmp/certbot/public_html
printf "%s" THyxasN35BQaTj-a7FASTqmT626fey1va51EO90PC7I.cbhiFNQ0DT6YQ1x9Nkfp20lYVcEg5ucjOsMjtfw3R1k > .well-known/acme-challenge/THyxasN35BQaTj-a7FASTqmT626fey1va51EO90PC7I
# run only once per server:
$(command -v python2 || command -v python2.7 || command -v python2.6) -c \
"import BaseHTTPServer, SimpleHTTPServer; \
s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \
s.serve_forever()"
-------------------------------------------------------------------------------
Press Enter to Continue
Vérifier sur le navigateur que le fichier est bien accessible à l'adresse créée.
Une fois le fichier créé et accessible sur le site distant il ne reste plus qu'à générer les certificats (appuyer sur Entrée). Ceux-ci (cert.pem, chain.pem, fullchain.pem, privkey.pem.) seront accessible dans le dossier /etc/letsencrypt/live/ suivit du domaine concerné.
Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0002_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0002_csr-certbot.pem
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/mondomaine.com/fullchain.pem. Your cert
will expire on 2017-05-24. To obtain a new or tweaked version of
this certificate in the future, simply run letsencrypt-auto again.
To non-interactively renew *all* of your certificates, run
"letsencrypt-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: url://letsencrypt.org/donate
Donating to EFF: url://eff.org/donate-le
Installation du certificat sur le site distant (via cPanel)
Gérer la liste des certificats: copier/coller la clé privée (privkey.pem) dans le champ Private Keys et le certificat (fullchain.pem) dans la section Certificates.
ref: