3テラバイト

プログラム関連備忘録サイト。主にゲーム。

Unix

CentOS 7 + Apache 2.4 環境に Let’s Encrypt の証明書を導入する

投稿日:2020年5月5日 更新日:

こんにちは、今日は CentOS 7 + Apache 2.4 の環境に、無料のSSL証明書であるLet’s Encrypt の証明書を導入する手順について解説します。

本記事ではサーバーにSSHで接続し操作を行なっていきます。

Let’s Encrypt 公式ページ
https://letsencrypt.org/ja/

確認環境

$ 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化する手順について解説しました。

ここまでお読みいただきありがとうございました。

-Unix


comment

メールアドレスが公開されることはありません。

関連記事

no image

vimコマンドでファイル差分を確認する方法

こんにちは、今日はvimコマンドでファイル差分を確認する方法についてまとめていきます。 確認環境 VIM – Vi IMproved 8.0 差分表示 vimエディタで差分を確認するにはdiffspl …

no image

zipファイルの中身を確認するUnix系コマンドzipinfoの使い方

こんにちは、今日はzipファイルの中身を確認するUnix系コマンド、zipinfoの使い方についてまとめていきます。 使い方 以下のように引数にzipファイルを渡すのみで、そのファイルの中身が表示され …

no image

Unix系OSで現在のディレクトリを表示するコマンドpwdの使い方

こんにちは、今日はUnix系OSで現在いるディレクトリを表示するコマンドpwdの使い方についてまとめていきます。 コマンドの使い方 引数なしで実行すると現在いるディレクトリが表示されます。 $ pwd …

no image

vimコマンドでカーソル移動する方法

こんにちは、今日はvimコマンドでカーソル移動する方法についてまとめていきます。 確認環境 VIM – Vi IMproved 8.0 カーソル移動 キー動作h左に移動j下に移動k上に移動l右に移動g …

no image

vimコマンドでシンタックスハイライトを有効にする方法

こんにちは、今日はvimコマンドでシンタックスハイライトを有効にする方法についてまとめていきます。 確認環境 VIM – Vi IMproved 8.0 シンタックスハイライト有効化 ファイルを開いた …