[Let’s Encrypt] CentOS7.xにインストールする方法

Let’s EncryptをCentOS 7.x にインストールしたときのメモです。
yumでインストールして対話型の設定になるので、楽に設定することができます。
エラーがー出やすい場所、バーチャルホストの設定など、幾つか注意が必要なところがあります。

Let’s Encryptインストール準備

epelがインストールされていないときはepelをインストールします。

Let’s Encryptのインストール(yum)

yumでLet’s Encrypt(certbot)をインストールします
certbotの実行はapache(httpd)をストップした状態で行います。(systemctl stop httpd)

certbotの実行

certbotコマンドを実行すると対話式で設定することができます。

[エラー]

# cerbotでエラーが出たときは、下記を実行します。

インストール(対話式)

メールアドレスの入力を求められます。証明書の有効期限が迫った時にこのメールに通知されます。

規約への同意

ここは同意なので「A」を入力

Electronic Frontier Foundation にメールアドレスを登録するかどうか。EFFからの情報が送られますが、特に必要ない場合は受け取らないでOKです。

ここは「N」を入力。

複数のサイトがサーバー上にある場合、どのサイトをHTTPS化するかを選択します。

今回は1番を選択するので「1」を入力します。

自動的に証明書の取得が始まります。

HTTPSへのリダイレクト設定を行います。

今回は設定を希望しないので「1」を選択します。

Congratulations!と表示されたら完了です。

設定事項などの説明

HTTPS化のチェック事項

HTTPの混在状態

・画像ファイル(gif,jpg,png)
・css,js
・iframe
などがhttp状態になっていないかをチェック

混在状態の回避

・HTTPをHTTPSに301転送処理
・.htaccessやapacheのバーチャルホストの設定確認
・リンクタグがhttpsに変更されているか
・robots.txt,メタタグ(noindex)などがhttpsになっているか確認

ツール関係

・サイト内検索でhttpsを対象にするように設定
・解析ツールでhttpsが解析されるように設定(google analytics)
・google search consoleを設定

Apacheへの設定

下記のディレクトリの中にドメインごとに設定ファイルが生成されます。

cert.pem(サーバー証明書・公開鍵)
chain.pem(中間証明書)
fullchain.pem(サーバー証明書と中間証明書のパック)
privkey.pem(秘密鍵)

.htaccessの設定

apache2.4のvirtualhost設定

viでファイルを作成します。CentOS7はconf.dの中にドメイン名.confファイルを作ればバーチャルホストの設定として認識されます。
# vi /etc/httpd/conf.d/sample.example.com.conf

最低限の記載例です。(正式な運用時にはアクセスログやエラーの出力なども記載します)



Author: webmaster