Projekt

Allgemein

Profil

Setup dehydrated » Historie » Version 2

Jeremias Keihsler, 02.02.2023 21:46

1 1 Jeremias Keihsler
h1. Install Procedure for dehydrated
2
3
h2. Requirements
4
5
To install logwatch you will need the following:
6 2 Jeremias Keihsler
* a installed and supported operating system (e.g. CentOS 7.x)
7 1 Jeremias Keihsler
* [[repo_epel|EPEL repository]]
8
* root-access
9
* a fast internet connection
10
11
h2. Preliminary Note
12
13
partly taken from: https://bob.gatsmas.de/let-s-encrypt-mit-nginx-und-dehydrated
14
the staging environment link is (as of 2021-09-22) https://acme-staging-v02.api.letsencrypt.org/directory
15
16
h2. Install 
17
18
Install @dehydrated@:
19
20
<pre><code class="shell">
21
yum install openssl curl sed grep mktemp
22
yum install dehydrated
23
</code></pre>
24
25
h2. Configure nginx
26
27
im http-Bereich (Port 80) des jeweiligen Servers
28
29
<pre><code class="shell">
30
location /.well-known/acme-challenge {
31
      alias /var/www/dehydrated;
32
}
33
</code></pre>
34
35
<pre><code class="shell">
36
mkdir -p /var/www/dehydrated
37
systemctl restart nginx
38
</code></pre>
39
40
h2. Test nginx
41
42
<pre><code class="shell">
43
echo "Test OK" > /var/www/dehydrated/test.html
44
</code></pre>
45
46
try to get the file from somewhere else
47
48
<pre><code class="shell">
49
curl http://subdomain.example.com/.well-known/acme-challenge/test.html
50
</code></pre>
51
52
h2. Configure dehydrated
53
54
add domains to @/etc/dehydrated/domains.txt@
55
56
<pre>
57
hostXX.example.com
58
</pre>
59
60
h2. register with AMCE-Server (Let's Encrypt)
61
62
<pre><code class="shell">
63
dehydrated --register --accept-terms
64
</code></pre>
65
66
h2. get certs
67
68
<pre><code class="shell">
69
dehydrated -c
70
</code></pre>
71
72
h2. Configure nginx-ssl
73
74
<pre>
75
server {
76
        listen       443 ssl http2;
77
        listen       [::]:443 ssl http2;
78
        server_name  hostXX.example.com;
79
        root         /usr/share/nginx/html;
80
81
        #ssl_certificate "/etc/pki/nginx/server.crt";
82
        #ssl_certificate_key "/etc/pki/nginx/private/server.key";
83
        ssl_certificate "/etc/dehydrated/certs/hostXX.example.com/fullchain.pem";
84
        ssl_certificate_key "/etc/dehydrated/certs/hostXX.example.com/privkey.pem";
85
        ssl_session_cache shared:SSL:1m;
86
        ssl_session_timeout  10m;
87
        ssl_ciphers PROFILE=SYSTEM;
88
        ssl_prefer_server_ciphers on;
89
90
        # Load configuration files for the default server block.
91
        include /etc/nginx/default.d/*.conf;
92
93
        location / {
94
        }
95
96
        error_page 404 /404.html;
97
            location = /40x.html {
98
        }
99
100
        error_page 500 502 503 504 /50x.html;
101
            location = /50x.html {
102
        }
103
    }
104
</pre>
105
106
h2. issues/troubleshooting
107
108
h3. certs are renewed but nginx is not picking them up
109
110
restart nginx service
111
112
dehydrated is run as a static service and should invoke a restart-hook with nginx. 
113
It worked ok so far, I ran into this the first/only time 2022-03-22.