既存の DDEV 環境に別のホスト名を追加してマルチホストの環境を構築する方法をご紹介します。
例えば、既存の DDEV 環境のURLが https://example.ddev.site だとします。
これに https://cms.example.ddev.site というホスト名を追加するにはどうしたら良いか、というお話になります。
以下のコマンドで DDEV の設定ファイルに additional_hostnames を追加します。
ddev config --additional-hostnames cms.example
すると、 .ddev/config.yaml ファイルに下記のような設定が追加されます。
additional_hostnames:
- cms.example
上記のコマンドを使わずに、直接 .ddev/config.yaml ファイルを編集してもOKです。
続いて、DDEV 内の NGINX に、追加したホスト用の設定ファイルを追加します。
.ddev/nginx_full/seconddocroot.conf.example というサンプルファイルがあるので、これを複製し、cms.example.ddev.site.conf のようにリネームして保存します。
そして、ファイルの先頭にある server { よりも上のコメントを削除して、下記のように root と server_name を編集します。
server {
# Set the docroot to where it belongs in the codebase
root /var/www/html/cms.example;
# Set the server_name so this config can be selected
# You'll need additional_hostnames["seconddocroot"] in config.yaml for this to work
server_name cms.example.ddev.site;
# 以下省略
}
この root の部分は、コンピュータ内のパスではなく、DDEV の仮装環境のサーバー内のパスになります。
既存の DDEV の NGINX の設定ファイルが .ddev/nginx_full/nginx-site.conf にありますのでそれを参考にしても良いですし、ddev ssh コマンドでサーバー内に入れるので、その中でディレクトリを移動して pwd コマンドでパスを確認すると良いでしょう。
設定が終わったら以下のコマンドで DDEV 環境をリスタートして完了です。
ddev restart