KUSANAGIコマンドを利用してWordPressをマルチサイト化

Last Edited Time
Nov 4, 2021 10:39 AM
Category
WordPress
Not yet (Unpublish)
Podcast
Super Published
Tag Library

kusanagi でWordPressをマルチサイトにする方法 – DACELO SPACE で紹介されているように、下記コマンドを打てば対話式にWordPressのマルチサイト化を行うことができます。

$ sudo kusanagi multisite

なお、KUSANAGI公式のコマンド解説ページに本コマンドの説明はなく、ベータ版的なコマンドの扱いになるのかも。

image

kusanagi multisiteコマンドがやっていること

kusanagi multisite コマンドにより実行される処理は次の2つ。

1.wp-config.phpの書き換え(手順前半で紹介した define (‘WP_ALLOW_MULTISITE’, true); とする箇所) 2.サブディレクトリ型を選択した場合、<<プロファイル>>_ssl.conf と<<プロファイル>>_http.confの書き換え( # define(‘WP_ALLOW_MULTISITE’, true);のコメントアウトが削除されます)

私はサブドメイン型で実行しましたが、同様の挙動のようでした。

Nginxの設定と再起動まで行ってくれるのはラクだなと感じます。

本来は下記のようにNginxの設定変更が必要です。

Nginx設定ファイルのserver_nameに変更が必要

ただしこの kusanagi multisite コマンドの場合、Nginx設定ファイルのコメントアウトが削除されるだけで、FQDNの前につけるべき .(ドット)は追加してくれません。(なぜだ)

Nginx設定ファイルの変更をせずに、この状態でマルチサイトネットワークによりサイトを追加した場合、新規追加先の公開URLではNginxのWelcome画面(Welcome to nginx!)が表示され、作成したサイトが表示されません。

image

そこで下記作業が必要です。

/etc/nginx/conf.d ディレクトリ直下にある、yourdomain_ssl.conf と yourdomain_http.conf の2つのファイルにそれぞれ下記のように FQDNの前に . (ドット)をつけます。

5 server {
6     listen       443 ssl http2;
7     server_name  .articul.world www.articul.world;  # FQDNの前に.をつける

Nginxを再起動するため、下記コマンドを実行。

$ kusanagi nginx

WordPress管理画面でサイトネットワークを設置、wp-config.phpに追記して完了

その後は、通常通り wp管理画面 > ツール > サイトネットワークの設置 に表示される記述をwp-config.phpにコピペで設置。

ログインし直すと、無事にマルチサイト化されました。