既存の 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