summaryrefslogtreecommitdiff
path: root/doc/note/qemu/setup-nginx-env.txt
blob: 9a5aeb2d8a093c177812266ce4e28a6e0e00f8c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#
# Bare nginx server serving HTTP/80 and HTTPS/443.
#
set -e


### Made for alpine 3.16.0
true \
  && CN="example.com" \
  \
  && apk add nginx openssl \
  && mkdir /etc/ssl/private \
  && openssl genrsa -out /etc/ssl/private/nginx.key 2048 \
  && openssl req -new -key /etc/ssl/private/nginx.key \
       -out /etc/ssl/private/nginx.csr \
       -subj "/C=/ST=/L=/O=/OU=/CN=${CN:?}" \
  && openssl x509 -req -days 365 -in /etc/ssl/private/nginx.csr \
       -signkey /etc/ssl/private/nginx.key -out /etc/ssl/certs/nginx.crt \
  && chgrp nginx /etc/ssl/private/nginx.key \
  && chmod 0640 /etc/ssl/private/nginx.key \
  && printf '%s\n' \
       'server {' \
       '  listen 80 default_server;' \
       '  listen [::]:80 default_server;' \
       '  listen 443 ssl default_server;' \
       '  listen [::]:443 default_server;' \
       '  ssl_certificate /etc/ssl/certs/nginx.crt;' \
       '  ssl_certificate_key /etc/ssl/private/nginx.key;' \
       '  location / {' \
       '    root  /srv/www;' \
       '    index index.html index.htm;' \
       '  }' \
       '}' \
       > /etc/nginx/http.d/default.conf \
  && mkdir /srv/www \
  && printf '<h1>Nginx says hi</h1>\n' > /srv/www/index.html \
  && chown nginx:nginx /srv/www \
  && chown nginx:nginx /srv/www/index.html \
  && apk del openssl \
  && `# Configure nginx as a service` \
  && rc-update add nginx \
  && /etc/init.d/nginx start \
  && sleep 1 \
  && echo \
  && printf 'GET /index.html HTTP/1.0\r\n\r\n'|nc localhost 80 \
  && echo \
  && true