Files
weba/09_lets_encrypt.md
2026-04-23 15:14:19 +02:00

70 lines
1.5 KiB
Markdown

# Let's Encrypt
retrieving a valid X.509 certificate signed by let's encrypt
## install acme client
First step is to install the acme client:
```bash
sudo apt install certbot python3-certbot-nginx -y
```
## automatic retrieval & manual configuration
### retrieve certificate
Full automatic generation & configuration.
Certbot will generate:
* the keys and CSR
* perform the http-challenge
* retrieve the signed certificate
```bash
sudo certbot certonly --nginx --register-unsafely-without-email -d *domain-name*
```
the certificate can be found in:
```bash
ls /etc/letsencrypt/live/*domain-name*/
```
### nginx config
to configure ssl (tls) add/modify following lines:
```nginx
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/*domain-name*/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/*domain-name*/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
```
### test by using https
Your website should open now via:
```URL
https://*domain-name*
```
## full automatic
this will additionally configure nginx after successful retrival of the certificate.
ensure the nginx config has the server_name set correctly:
### prepare nginx config
Include the server_name to the nginx site config:
```nginx
listen 80;
server_name *domain-name*
```
### retrieve certificate & let certbot configure nginx
```bash
sudo certbot --nginx --register-unsafely-without-email -d *domain-name*
```
Important: manual check the complete configuration! All site-configurations!