4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ナニカツクルラボAdvent Calendar 2020

Day 2

KUSANAGIでドキュメントルートを変更するとSSL証明書が更新できない問題

Last updated at Posted at 2020-12-10

問題点

ドキュメントルートを変更したいときがある

KUSANAGIでWebサーバを立てると、デフォルトでドキュメントルートが DocumentRoot というディレクトリになります。しかし、このドキュメントルートを変更したくなる場合があります(例えば、Laravel環境構築の場合など https://qiita.com/tajima_taso/items/f139eb71423041120247 )。
ドキュメントルートの変更は簡単で、 nginx または Apache の設定ファイルを編集すればできます(詳しくは上記の記事を参照)。

しかし、ドキュメントルートを変更するとSSLの問題が

ただし、ドキュメントルートを変更してしまうと、SSLの自動更新、手動更新いずれもうまくいかなくなります。SSLの証明書の期限が過ぎて気付く場合が多いと思います。

↓SSL証明書が切れると、こんな感じで保護されていない通信って表示されます
スクリーンショット 2020-12-10 15.13.25.png

私もまんまと引っかかりました \(^o^)/

そこで、どうすればSSL証明書の更新で不具合を出さずにドキュメントルートを変更できるのか、その方法を解説します!

ご注意

この記事は、 KUSANAGI8 での対処方法を記載しています。
最新版の KUSANAGI9 では対処方法が一部異なる可能性があります。
詳しくは、 こちら をご覧ください。

どうすればSSL証明書の更新で不具合を出さずにドキュメントルートを変更できるのか

1. まずは普通にプロファイルを作成する

KUSANAGI公式サイトの手順に従い、プロファイルを作成しましょう。
このとき、SSLの設定も忘れずにやりましょう。
(下記参照サイトの 4. Let’s Encryptの設定 をスキップせずに入力しましょうということです)
https://kusanagi.tokyo/document/kusanagi-provision/

2. ドキュメントルートを変更する

nginx または Apache の設定ファイルを編集してドキュメントルートを変更します。
Laravelの場合は下記参照
https://qiita.com/tajima_taso/items/f139eb71423041120247

3. Let's Encrypt の設定ファイルを編集する

まず /etc/letsencrypt/renewal ディレクトリに移動します。
cd /etc/letsencrypt/renewal

そして、ファイル一覧を取得します
ls -l または ll

すると、自分の設定したドメイン名が含まれるファイルがあると思います。そのファイルを編集します。
expample.com というドメインで example という名前のプロファイルを作成したと仮定して話を進めます(適宜ご自分のドメイン・プロファイル名に読み替えてください)。
その場合、 example.com.conf というファイルを編集することになります。

そのファイルの最後の方に、下記のような記述があると思います。

example.com.conf
[[webroot_map]] 
example.com = /home/kusanagi/expample/DocumentRoot
www.example.com = /home/kusanagi/example/DocumentRoot

この最後の2行を独自に設定したドキュメントルートに変更する必要があります。
例えばLaravelのディレクトリ構成であれば、下記の通り変更します。

example.com.conf
[[webroot_map]] 
example.com = /home/kusanagi/example/DocumentRoot/public
www.example.com = /home/kusanagi/example/DocumentRoot/public

ファイルを保存した後、SSL証明書更新のコマンドをたたいてみましょう。
kusanagi update cert

これでエラーが出なければ、正常に設定できています!
お疲れ様でした!

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?