WordPress マルチサイト機能を有効にし、一つのWordPress内でマルチテナントのサイトを運営したい場合にご利用ください。
Amimoto AMIで WordPress マルチサイト機能を有効にする Tomohyco Tsunoda
Amimoto AMI の Nginx の設定はシングルサイト版の WordPress 用に設定されています。マルチサイト版を有効にするには Nginx の設定ファイルを変更をしてください。
その後、WordPress の設定ファイルを変更しマルチサイト化・ネットワークを有効化してください。
ステップ 1: Nginx の設定ファイルを変更する
この作業は root 権限が必要になります。
ec2-user でログインしている場合は sudo または su - コマンドを使用して、root 権限で作業してください。
また、suで root ユーザになるには root のパスワード設定が必要になります。sudo passwdでまず root ユーザのパスワードを変更してください。
Amimoto AMI で自動設定された以下の nginx の設定ファイルを修正してください。
/etc/nginx/conf.d/default.backend.conf
または
/etc/nginx/conf.d/example.com.backend.conf
なお、 example.com は、実際に設定するバーチャルドメインに読み替えてください。
変更前
server {
listen unix:/var/run/nginx-backend.sock default;
server_name example.com;
root /var/www/vhosts/example.com;
index index.php index.html index.htm;
access_log /var/log/nginx/example.com.backend.access.log backend;
keepalive_timeout 25;
port_in_redirect off;
gzip off;
gzip_vary off;
include /etc/nginx/wp-singlesite;
#include /etc/nginx/wp-multisite-subdir;
}
変更内容
- 15行目前後の include /etc/nginx/wp-singlesite; の行頭に # を追加する。
- 16行目前後の #include /etc/nginx/wp-multisite-subdir; の行頭の # を削除する。
変更後
server {
listen unix:/var/run/nginx-backend.sock default;
server_name example.com;
root /var/www/vhosts/example.com;
index index.php index.html index.htm;
access_log /var/log/nginx/example.com.backend.access.log backend;
keepalive_timeout 25;
port_in_redirect off;
gzip off;
gzip_vary off;
#include /etc/nginx/wp-singlesite;
include /etc/nginx/wp-multisite-subdir;
}
その後、設定を反映させるために service nginx restart を実行して Nginx を再起動してください。
ステップ 2: WordPress の設定ファイル wp-config.php を変更する
WordPress Codex 日本語版 -- ネットワークの作成 を参照いただき、wp-config.php の設定変更とネットワークの作成を行ってください。