こんにちは、今日は CentOS 7 + Apache 2.4 の環境に、無料のSSL証明書であるLet’s Encrypt の証明書を導入する手順について解説します。
本記事ではサーバーにSSHで接続し操作を行なっていきます。
Let’s Encrypt 公式ページ
https://letsencrypt.org/ja/
Table of Contents
確認環境
$ cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
$ httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Oct 19 2017 20:39:16
certbot
Let’s Encrypt の導入にあたり、certbotというツールをインストールし、そちらで証明書の作成を行います。
以下のページに手順が記載されているため、こちらの手順に沿って進めます。
https://certbot.eff.org/lets-encrypt/centosrhel7-apache
EPELリポジトリの有効化
EPELリポジトリの有効化が必要なため、インストールされていない場合は以下のコマンドでインストールを行います。
$ yum install epel-release
インストールされているかの確認は以下のコマンド等で確認可能です。
yumコマンドのlist installedでインストール済みパッケージの一覧が表示されるため、そこからgrep検索で確認できます。
$ yum list installed | grep epel-release
infoでも情報が確認でき、こちらで”インストール済みパッケージ”のような表示があればインストール済みです。
$ yum info epel-release
certbotのインストール
以下コマンドでcertbotのインストールを行います。
# yum install certbot
証明書の作成
certbotのインストールが完了したら以下のコマンドで証明書の作成を始めます。
# certbot certonly --webroot -w ドキュメントルート -d ドメイン名
メールアドレス入力
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel):
メールアドレスを入力してEnterを押下します。
利用規約の同意
(A)gree/(C)ancel:
Aを入力してEnterを押下します。
メール受信設定
(Y)es/(N)o:
メールを受け取るか選択します。
YかNを入力してEnterを押下します。
設定ファイルの編集とApache再起動
設定ファイル編集
SSLの設定ファイルを編集します。
/etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/letsencrypt/live/ドメイン名/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/ドメイン名/chain.pem
シンタックスチェック
編集が完了したらシンタックスチェックを行います。
$ apachectl configtest
Syntax OKと表示されれば問題ありません。
Apache再起動
Apacheの再起動を行い、SSL設定を適用します。
# systemctl restart httpd
設定ファイルのシンタックスチェックでdoes not exist or is emptyが発生する
$ apachectl configtest
上記コマンドで以下のようなエラーが発生していました。
AH00526: Syntax error on line XXX of /etc/httpd/conf.d/ssl.conf:
SSLCertificateFile: file ‘/etc/letsencrypt/live/ドメイン名/cert.pem’ does not exist or is empty
対処方法としましては、/etc/letsencrypt/以下のarchiveとliveフォルダに読み取りと実行の権限を与えることで解消されました。
$ sudo chmod a+rx /etc/letsencrypt/{archive,live}
まとめ
本日はCentOS 7 + Apache 2.4 環境に Let’s Encrypt の証明書を導入し、WebサイトをSSL化する手順について解説しました。
ここまでお読みいただきありがとうございました。