[wordpress]マルチサイト制作手順のメモ

最近、マルチサイトで構築する機会が増えてきた。MTでは簡単にサイトを追加できる仕様になっているが、wordpressでは、マルチサイト化する場合、ちょっと面倒な手順がある。
システムエンジニアやプログラマーの方には何のことはない作業でしょうけど、デザイナーの私は、マルチサイト化によく失敗する。そこで手順書を作成して毎回神経を使って作業している。(私だけか?)

マルチサイト化 作業手順

(1)データベース作成

(2)wordpressをサーバーにアップロード

専用ディレクトリには設置できない。
WordPress本体はWebサーバーの最上位ディレクトリに設置する

(3)インストール

(4)一旦ログアウト

(5)wp-config.phpを開き、マルチサイト化するコードを記述

※57行目付近の(define)項目以下に追加する

[php]
    /*マルチサイト機能有効化*/
    define( ‘WP_ALLOW_MULTISITE’, true );
[/php]

(6)再ログインすると、「ツール」に「ネットワーク設定」項目が出現している

(1)サイトを追加する際、「サブドメイン」にするか「サブディレクトリー」にするか選択する
※初期設定は、サブドメインになっています。

サブドメイン : http://サブドメイン.ドメイン.com
サブディレクトリー : http://ドメイン.com/サブドメイン

サブドメインを選択する場合、ちょっとややこしい設定が必要になります。
今回は説明を割愛します。

どうしても、サブドメインにする必要がある場合には、下記サイトが参考になります。
■ちょんまげ英語塾
WordPressのマルチサイト機能で複数のブログを管理する
http://mage8.com/websitetips/multiple-blogs-on-wordpress.html

(7)「ツール」 → 「ネットワークの設定」項目で、指示通りにセットする。

(1)「wp-content」デレクトリーに、「blogs.dir 」ディレクトリーを作成(書き込み許可を与えておく)

(2)再度、wp-config.phpに、指示通りのコードを追加する

[php]
define(‘MULTISITE’, true);
define(‘SUBDOMAIN_INSTALL’, false);
$base = ‘/’;
define(‘DOMAIN_CURRENT_SITE’, ‘(ドメイン).com’);
define(‘PATH_CURRENT_SITE’, ‘/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);
[/php]

(3).htaccessに追記 : 一番最後の行に追加でOK 上書きしないと、子サイト(管理画面)にアクセスできない不具合が発生

[php]
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*.php)$ $1 [L]
RewriteRule . index.php [L]
[/php]

下記のコードが、元からあれば、削除しない方が良いかも(削除して確認していませんが・・・)、
このコードの下に、上記のコード記述で動きました。

[php]
#[PHP]
php_flag mbstring.encoding_translation On
php_value mbstring.internal_encoding UTF-8
php_value mbstring.script_encoding UTF-8
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
[/php]

(8)再ログインで、マルチサイト化 完了

初期設定は英語表記なので、各サイトの管理画面で日本語に変更する

設定 → 一般設定 → サイトの言語