Let’s Encryptを使ったSSL証明書の発行

webサーバーの安全性を高めるため、通信内容を暗号化してみることを考える。 暗号化する方法はいくつかあるが、サーバー認証も行うことができるhttpsがよく用いられる。 そしてこのhttpsを利用するためにSSL証明書というものを発行し、サーバーに設定する必要がある。 今回は無料で証明書を発行できるLet’s Encryptを使ってみた。

Let’s EncryptではCertbotというパッケージをインストールして進める。 そのためにまずLinuxbrewをインストールした。

sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
test -d ~/.linuxbrew && PATH="$HOME/.linuxbrew/bin:$HOME/.linuxbrew/sbin:$PATH"
test -d /home/linuxbrew/.linuxbrew && PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH"
test -r ~/.bash_profile && echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.bash_profile
echo "export PATH='$(brew --prefix)/bin:$(brew --prefix)/sbin'":'"$PATH"' >>~/.profile
brew install hello

その後Linuxbrewを使ってCertbotをインストールした。そしてCertbotを用いてSSL証明書を発行した。

brew install certbot
certbot certonly --webroot -w /var/www/html -d [ドメイン名]

一応発行された証明書を確認した。

openssl x509 -text -noout -in /etc/letsencrypt/live/[ドメイン名]/[証明書]