You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/guides/security/generating_ssl_keys_lets_encrypt.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,20 +9,20 @@ tags:
9
9
- certbot
10
10
---
11
11
12
-
# Generating SSL Keys - Let's Encrypt
12
+
# Generating SSL keys - Let's Encrypt
13
13
14
-
## Prerequisites & Assumptions
14
+
## Prerequisites & assumptions
15
15
16
16
* Comfort with the command line
17
17
* Familiarity with securing web sites with SSL certificates is a plus
18
18
* Knowledge of command line text editors (this example uses _vi_)
19
-
*An already running web server open to the world on port 80 (http)
19
+
*A web server open to the world and running on port 80 (http)
20
20
* Familiarity with _ssh_ (secure shell) and the ability to access your server with _ssh_
21
21
* All commands assume that you are either the root user or that you have used _sudo_ to gain root access.
22
22
23
23
## Introduction
24
24
25
-
One of the most popular ways to secure a web site, currently, is using Let's Encrypt SSL certificates, which are also free.
25
+
One of the most popular ways to secure a web site currently is using Let's Encrypt SSL certificates, which are also free.
26
26
27
27
These are actual certificates, not self-signed or snake oil, etc., so they are great for a low-budget security solution. This document will walk you through the process of installing and using Let's Encrypt certificates on a Rocky Linux web server.
28
28
@@ -54,23 +54,23 @@ Let's Encrypt uses a package called _certbot_ which needs to be installed via th
54
54
dnf install epel-release
55
55
```
56
56
57
-
Then, just install the appropriate packages, depending on whether you're using Apache or Nginx as your web server. For Apache that's:
57
+
Theninstall the appropriate packages, depending on whether you use Apache or Nginx as your web server. For Apache that is:
58
58
59
59
```bash
60
60
dnf install certbot python3-certbot-apache
61
61
```
62
62
63
-
For Nginx, just change out one... partial word?
63
+
For Nginx, just change out one package:
64
64
65
65
```bash
66
66
dnf install certbot python3-certbot-nginx
67
67
```
68
68
69
-
You can always install both server modules if necessary, of course.
69
+
You can always install both server modules if necessary.
70
70
71
71
!!! Note
72
72
73
-
An earlier version of this guide required the snap package version of _certbot_, as it was found to be necessary at the time. The RPM versions have been re-tested recently, and are working now. That said, Certbot strongly recommends the use of the [snap install procedure](https://certbot.eff.org/instructions?ws=apache&os=centosrhel8). Both Rocky Linux 8 and 9 have _certbot_ available in the EPEL, so we are showing that procedure here. If you would like to use the procedure recommended by Certbot, just follow that procedure instead.
73
+
An earlier version of this guide required the snap package version of _certbot_, which was necessary at the time. The RPM versions have been re-tested recently, and are working now. That said, Certbot strongly recommends the use of the [snap install procedure](https://certbot.eff.org/instructions?ws=apache&os=centosrhel8). Rocky Linux 8 and 9 have _certbot_ available in the EPEL, so we show that procedure here. If you would like to use the procedure recommended by Certbot, just follow that procedure instead.
74
74
75
75
76
76
## Getting The Let's Encrypt Certificate for the Apache Server
@@ -83,13 +83,13 @@ We are assuming that you **are** using this procedure so we will only retrieve t
83
83
certbot --apache
84
84
```
85
85
86
-
That's really the easiest way to get things done. However, sometimes you want to take a more manual approach, and just want to grab the certificate. To retrieve the certificate only, use this command:
86
+
That's really the easiest way to get things done. However, sometimes you want to take a more manual approach and grab the certificate. To retrieve the certificate only, use this command:
87
87
88
88
```bash
89
89
certbot certonly --apache
90
90
```
91
91
92
-
Both commands will generate a set of prompts that you will need to answer. The first is to give an email address for important information:
92
+
Both commands will generate a set of prompts you need to answer. The first is to give an email address for important information:
93
93
94
94
```
95
95
Saving debug log to /var/log/letsencrypt/letsencrypt.log
@@ -122,7 +122,7 @@ EFF news, campaigns, and ways to support digital freedom.
122
122
(Y)es/(N)o:
123
123
```
124
124
125
-
The next prompt asks you which domain you want the certificate for. It should display a domain in the listing based on your running web server. If so, enter the number next to the domain that you are getting the certificate for. In this case there is only one option ('1'):
125
+
The next prompt asks you which domain you want the certificate for. It should display a domain in the listing based on your running web server. If so, enter the number next to the domain for which you are getting the certificate. In this case there is only one option ('1'):
126
126
127
127
```
128
128
Which names would you like to activate HTTPS for?
@@ -162,7 +162,7 @@ IMPORTANT NOTES:
162
162
163
163
Applying the configuration file to our site is slightly different than if we were using a purchased SSL certificate from another provider (and if we didn't let _certbot_ do it automatically).
164
164
165
-
The certificate and chain file are included in a single PEM (Privacy Enhanced Mail) file. This is a common format for all certificate files now, so even though it has "Mail" in the reference, it is just a type of certificate file. To illustrate the configuration file, we will show it in it's entirety and then describe what is happening:
165
+
A single PEM (Privacy Enhanced Mail) file includes the certificate and chain file. This is a common format for all certificate files now, so even though it has "Mail" in the reference, it is just a type of certificate file. To illustrate the configuration file, we will show it in it's entirety and then describe what is happening:
166
166
167
167
```
168
168
<VirtualHost *:80>
@@ -208,7 +208,7 @@ Here's what's happening above. You may want to review the [Apache Web Server Mul
208
208
209
209
* Even though port 80 (standard http) is listening, we are redirecting all traffic to port 443 (https)
210
210
* SSLEngine on - simply says to use SSL
211
-
* SSLProtocol all -SSLv2 -SSLv3 -TLSv1 - says to use all available protocols, except those that have been found to have vulnerabilities. You should research periodically which protocols are currently acceptable for use.
211
+
* SSLProtocol all -SSLv2 -SSLv3 -TLSv1 - says to use available protocols, except those found to have vulnerabilities. You should research periodically which protocols are currently acceptable for use.
212
212
* SSLHonorCipherOrder on - this deals with the next line regarding the cipher suites, and says to deal with them in the order that they are given. This is another area where you should review the cipher suites that you want to include periodically
213
213
* SSLCertificateFile - this is the PEM file, that contains the site certificate **AND** the intermediate certificate. We still need the 'SSLCertificateChainFile' line in our configuration, but it will simply specify the same PEM file again.
214
214
* SSLCertificateKeyFile - the PEM file for the private key, generated with the _certbot_ request.
@@ -226,16 +226,16 @@ Run this command to get started:
226
226
certbot --nginx
227
227
```
228
228
229
-
You'll be asked a couple of questions as shown above, including your email address, and which site you want to get a certificate for. Assuming you have at least one site configured (with a domain name pointing at the server), you'll see a list like this:
229
+
You will need to enter your email address and the site you want a certificate for. Assuming you have at least one site configured (with a domain name pointing at the server), you'll see a list like this:
230
230
231
231
```
232
232
1. yourwebsite.com
233
233
2. subdomain.yourwebsite.com
234
234
```
235
235
236
-
If you have more than one site, just press the number that corresponds to the site you want a certificate for.
236
+
If you have multiple sites, press the number that corresponds to the site you want a certificate for.
237
237
238
-
The rest of the text you'll see is awful similar to what's above. The results will be a bit different, of course. If you have a dead-simple Nginx configuration file that looks like this:
238
+
The rest of the text is similar to what is above. The results will be a bit different. If you have an Nginx configuration file that looks like this:
0 commit comments