Xserver + お名前ドットコム で WordPress を マルチサイト化 する

Xserver 、 お名前ドットコム で WordPress を使っている場合に、Wordpress を マルチサイト化 する手順を記載します。
(2つめのサイトを追加する場合の手順です)

サブディレクトリ型 と サブドメイン型 がありますが、サブドメイン型の手順になります。
※サブディレクトリ型:関連性のあるサイトを追加する場合は サブディレクトリ型
※サブドメイン型:関連性のないサイトを追加する場合は サブドメイン型

※注意:念のため、All-in-One WP Migrationプラグイン等で事前にバックアップを取っておくことをお勧めします。

目次

サブドメイン設定

お名前ドットコム で ドメインDNS設定

お名前ドットコムで、対象のドメインを選択してAレコードを追加します。

お名前ドットコム で ドメインDNS設定

ホスト名にサブドメイン名を入力して、TYPEは「A」、TTLは「3600」のまま、VALUEにはXserverのIPアドレスを入力します。
IPアドレスは、Xserverのサーバー情報に記載されています。

お名前ドットコム で Aレコード追加

Xserver で サブドメイン設定

サブドメイン設定

Xserverでサブドメイン設定を行います。

Xserverでサブドメイン設定

ドキュメントルートはどちらを選択しても問題ありません。好みです。
私は短いパスの方を選択しました。

Xserverでサブドメイン設定
Xserverでサブドメイン設定

シンボリックリンク作成

上記まで行うと、以下の通り入力したサブドメイン名でディレクトリが作成されています。

$ pwd
/home/xxxxxx/footloose-engineer.com/public_html

$ ls -la
<省略>
-rw-r--r--  1 footloose members  4280  8月 29 06:03 .htaccess
-rw-r--r--  1 footloose members  8998 12月 15  2021 default_page.png
-rw-r--r--  1 footloose members   405 11月 12  2021 index.php
drwx--x--x  2 footloose members    81 12月 30 16:21 renovation
-rw-------  1 footloose members  4455 12月 15  2021 wp-config.php

Xserver に SSHでログインして、シンボリックリンクを作成します。

$ pwd
/home/xxxxxx/footloose-engineer.com/public_html

# バックアップ目的でリネーム。※削除してしまってもよい。
$ mv renovation renovation_backup

# シンボリックリンク作成
$ ln -s /home/xxxxxx/footloose-engineer.com/public_html renovation
$ ls -l
<省略>
-rw-r--r--  1 footloose members  4280  8月 29 06:03 .htaccess
-rw-r--r--  1 footloose members  8998 12月 15  2021 default_page.png
-rw-r--r--  1 footloose members   405 11月 12  2021 index.php
lrwxrwxrwx  1 footloose members    50 12月 30 18:30 renovation -> /home/xxxxxx/footloose-engineer.com/public_html
drwx--x--x  2 footloose members    81 12月 30 16:21 renovation_backup
-rw-------  1 footloose members  4455 12月 15  2021 wp-config.php

サブドメインへのアクセス確認

「反映待ち」表示が消えたら、以下画像等でサブドメインへのアクセス確認を行う。
https://renovation.footloose-engineer.com/default_page.png

WordPress のマルチサイト化設定

「wp-config.php」に 『WP_ALLOW_MULTISITE』追加

Xserverで 「wp-config.php」に 『define(‘WP_ALLOW_MULTISITE’, true);』を追加します。

$ pwd
/home/xxxxxx/footloose-engineer.com/public_html

$ vi wp-config.php
~
/* カスタム値は、この行と「編集が必要なのはここまでです」の行の間に追加してください。 */

define('WP_ALLOW_MULTISITE', true);

/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */
~

全プラグインを一時的に無効化する

WordPress管理画面にログインして、全プラグインを一時的に無効化しておきます。

サイトネットワークの設置

新しいサイトを追加したり、各サイト共通の設定を行ったりするものがサイトネットワークです。
ツールー>サイトネットワークの設置 でインストールします。

必要項目を入力してインストールします。入力項目は後から変更可能です。

画面に表示された通りに、wp-config.php と .htaccess を編集していきます。

wp-config.php にサイトネットワーク構成ルール追加

WordPress管理画面に表示されていた内容をそのまま追記します。

$ pwd
/home/xxxxxx/footloose-engineer.com/public_html

$ vi wp-config.php
~
/* カスタム値は、この行と「編集が必要なのはここまでです」の行の間に追加してください。 */

define('WP_ALLOW_MULTISITE', true);

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'footloose-engineer.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */
~

.htaccess のWordPressルールをサイトネットワーク構成ルールで置換

“BEGIN WordPress” から “END WordPress” までのディレクティブ (行)の中身を、Wordpress管理画面に表示されていたルールで置換します。

$ pwd
/home/xxxxxx/footloose-engineer.com/public_html

$ vi .htaccess
~
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>

# END WordPress
~

サイトの新規追加

WordPressサイトネットワーク管理画面にログインして、サイトの新規追加を行います。

一時的に無効にしていたプラグインを有効化

一時的に無効にしていたプラグインを有効化して、各サイトに無事にログインできれば終了です。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

文系の大学を卒業後、未経験でWebエンジニアとしての道を歩む。
プログラミングスクールで基礎を学び、Webエンジニアとして就職。
今ではプロジェクト経験15年以上のベテランエンジニアに。
 
今までの経験を活かし、プログラミング関連の情報や生活に役立つ情報を配信していきます。

コメント

コメントする

目次