Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

posted at

updated at

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

問題点

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

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証明書の更新で不具合を出さずにドキュメントルートを変更できるのか、その方法を解説します!

どうすれば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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?