次のコマンドを実行します。
$ doas cp /etc/example/httpd.conf /etc/
/etc/httpd.confを編集します。
# $OpenBSD: httpd.conf,v 1.23 2025/02/21 10:19:52 mbuhl Exp $
server "fab.ddns.me.uk" {
listen on * port 80
location "/.well-known/acme-challenge/*" {
root "/acme"
request strip 2
}
location * {
block return 302 "https://$HTTP_HOST$REQUEST_URI"
}
}
server "fab.ddns.me.uk" {
listen on * tls port 443
tls {
certificate "/etc/ssl/fab.ddns.me.uk.fullchain.pem"
key "/etc/ssl/private/fab.ddns.me.uk.key"
}
location "/pub/*" {
directory auto index
}
location "/perl/*" {
fastcgi
root "/"
}
root "/htdocs/fab.ddns.me.uk"
}
fab.ddns.me.ukディレクトリを作成します。
$ doas mkdir /var/www/htdocs/fab.ddns.me.uk
次のコマンドを実行します。
$ doas rcctl enable httpd
$ doas rcctl start httpd
Let's Encryptの設定をしましょう。自己署名証明書(オレオレ証明書)の秘密鍵作成手順
$ doas openssl genrsa -out /etc/ssl/private/fab.ddns.me.uk.key 2048
fab.ddns.me.uk.fullchain.pemの作成 Common Name サーバーのホスト名(FQDN)を入力します。例: fab.ddns.me.uk 必須
$ doas openssl req -new -x509 -sha256 -days 365 -key /etc/ssl/private/fab.ddns.me.uk.key -out /etc/ssl/fab.ddns.me.uk.fullchain.pem
OpenBSDのhttpdは証明書ファイルにアクセスできる必要がありますが、秘密鍵は保護する必要があります。
$ doas chmod 644 /etc/ssl/fab.ddns.me.uk.fullchain.pem
$ doas chmod 600 /etc/ssl/private/fab.ddns.me.uk.key
次のコマンドを実行します。
$ doas cp /etc/example/acme-client.conf /etc/
/etc/acme-client.confを編集します。
#
# $OpenBSD: acme-client.conf,v 1.6 2025/08/18 15:51:57 job Exp $
#
authority letsencrypt {
api url "https://acme-v02.api.letsencrypt.org/directory"
account key "/etc/acme/letsencrypt-privkey.pem"
}
authority letsencrypt-staging {
api url "https://acme-staging-v02.api.letsencrypt.org/directory"
account key "/etc/acme/letsencrypt-staging-privkey.pem"
}
domain fab.ddns.me.uk {
# alternative names { secure.example.com }
domain key "/etc/ssl/private/fab.ddns.me.uk.key"
domain full chain certificate "/etc/ssl/fab.ddns.me.uk.fullchain.pem"
# Test with the staging server to avoid aggressive rate-limiting.
#sign with letsencrypt-staging
sign with letsencrypt
}
証明書を取得します。ddclientの設定を先に済ませておきましょう。
$ doas rcctl reload httpd
$ doas acme-client fab.ddns.me.uk
/var/wwwの現在の状況を確認。
$ ls -l /var/www/ total 60 drwxr-xr-x 2 root daemon 512 Nov 8 16:57 acme dr-xr-xr-x 2 root wheel 512 Nov 30 06:39 bin drwx-----T 2 www daemon 512 Oct 13 03:32 cache drwxr-xr-x 2 root daemon 512 Nov 16 13:48 cgi-bin drwxr-xr-x 2 root daemon 512 Nov 8 13:46 conf dr-xr-xr-x 2 root wheel 512 Nov 30 06:48 dev dr-xr-xr-x 3 root wheel 512 Nov 30 06:45 etc drwxr-xr-x 4 root daemon 512 Nov 8 17:59 htdocs drwxr-xr-x 2 root daemon 512 Nov 30 00:00 logs drwxr-xr-x 2 root daemon 512 Nov 30 06:33 perl drwxr-xr-x 2 root daemon 512 Nov 22 07:26 run dr-xr-xr-x 2 root wheel 512 Nov 30 06:45 sbin drwxr-x--T 2 www bin 512 Nov 30 06:45 tmp dr-xr-xr-x 8 root wheel 512 Nov 30 06:45 usr dr-xr-xr-x 4 root wheel 512 Nov 30 06:45 var