WordPress 3.0 をマルチサイト化する方法

WordPress 3.0からマルチサイト(複数ブログ)で運用する事が可能になりました。
今までは、複数サイトをWordPressで構築したい場合は、構築したい数だけWordPressをインストールする必要がありましたが、
WordPress 3.0からは、WordPressを1つインストールして、必要な設定をするだけで、複数のサイトを管理・運用することが可能になります。

Sponsored Link

WordPressをマルチサイト化するために必要な環境

ドメイン会社がワイルドカードが使える環境であることが絶対条件です。
ワイルドカードが使えない状態でマルチサイト化しようとすると、
WordPressの管理画面上で注意文が表示されます。

WordPressをマルチサイト化するために必要な作業

まずWordPress 3.0をただインストールするのは、
今までと同じようにすればOKです。

ただ、WordPress 3.0のマルチサイト化にするためには、色々作業しないといけません。
WordPress 3.0のマルチサイト化の手順を説明します。

まず、WordPress 3.0 を普通にインストールを終えている状態にします。

WordPressをインストールした状態のダッシュボード画面

WordPress 3.0 のwp-config.phpを設定する

WordPress 3.0 をインストールした直下にあるwp-config.phpのファイルを開き、
どの部分でも良いので、以下のソースを追加します。

define('WP_ALLOW_MULTISITE', true);

私は下記の部分に追加しました。
ファイルを開いてコメントアウトが終わった直下に追加しました。

<?php
/**
 * The base configurations of the WordPress.
 *
 * This file has the following configurations: MySQL settings, Table Prefix,
 * Secret Keys, WordPress Language, and ABSPATH. You can find more information by
 * visiting {@link http://codex.wordpress.org/Editing_wp-config.php Editing
 * wp-config.php} Codex page. You can get the MySQL settings from your web host.
 *
 * This file is used by the wp-config.php creation script during the
 * installation. You don't have to use the web site, you can just copy this file
 * to "wp-config.php" and fill in the values.
 *
 * @package WordPress
 */
define('WP_ALLOW_MULTISITE', true);&#91;/php&#93;
<h2>プラグインを無効にする</h2>
<p>全てのプラグインを無効にします。

プラグインのページをクリックして、
有効(Active)をクリックすると有効になっている全てのプラグインが一覧表で出ます。

プルダウン下の【プラグイン】の左にあるチェックボックスをクリックして、
プルダウンの【停止】を選択して、【適用】ボタンをクリックすると一括で無効にできます。</p>
<p class="photo"><a href="http://lovelog.eternal-tears.com/wp-content/uploads/2010/04/wp3-2.png"><img src="http://lovelog.eternal-tears.com/wp-content/uploads/2010/04/wp3-2-500x386.png" alt="WordPressでプラグインを一括で停止する方法の画面" title="WordPressでプラグインを一括で停止する方法の画面" width="500" height="386" class="alignnone size-medium wp-image-5125" /></a></p>

<h2>サイドバーのツールにあるネットワークに行く</h2>
<p>wp-config.phpを書き換えてアップロードすると、
ツール部分に<strong>ネットワーク</strong>項目が表示されるようになります。</p>
<p class="photo"><a href="http://lovelog.eternal-tears.com/wp-content/uploads/2010/04/wp3-3.png"><img src="http://lovelog.eternal-tears.com/wp-content/uploads/2010/04/wp3-3.png" alt="ネットワークの場所" title="ネットワークの場所" width="149" height="121" class="alignnone size-full wp-image-5126" /></a></p>

<h2>WordPress 3.0 をインストールする。</h2>
<p>Sub-domainsかSub-directoriesを決めます。
※元々サブディレクトリーにWordPressをインストールすると、この選択はないらしい。
必要事項を記入して、インストールボタンをクリックします。</p>
<p>下記の画像は、サブディレクトリーの状態でインストールした場合に表示される画面です。</p>
<p class="photo"><a href="http://lovelog.eternal-tears.com/wp-content/uploads/2010/04/wp30-03-1.png"><img src="http://lovelog.eternal-tears.com/wp-content/uploads/2010/04/wp30-03-1-1000x648.png" alt="" title="wp30-03-1" width="500" height="324" class="alignnone size-medium wp-image-2608" /></a></p>
<p>下記の画像は、ドメイン直下にインストールした場合です。</p>
<p class="photo"><a href="http://lovelog.eternal-tears.com/wp-content/uploads/2010/04/wp3-4.png"><img src="http://lovelog.eternal-tears.com/wp-content/uploads/2010/04/wp3-4-500x393.png" alt="WordPress3.0のネットワークの設定画面" title="WordPress3.0のネットワークの設定画面" width="500" height="393" class="alignnone size-medium wp-image-5127" /></a></p>

<h2>WordPressをマルチサイトに切り替えるためのファイル修正</h2>
<p>管理画面に記載されている事項に則って作業します。</p>
<p class="photo"><a href="http://lovelog.eternal-tears.com/wp-content/uploads/2010/04/wp3-5.png"><img src="http://lovelog.eternal-tears.com/wp-content/uploads/2010/04/wp3-5-500x393.png" alt="WordPress3.0を構築するための修正箇所" title="WordPress3.0を構築するための修正箇所" width="500" height="393" class="alignnone size-medium wp-image-5128" /></a></p>

<h3>blogs.dirを作る</h3>
<p>wp-content直下に、blogs.dirフォルダを作成します。
一応書き込み権限を与えておきました。
パーミッション:777らへんです。</p>

<h3>wp-config.phpを再度設定する</h3>
<p>ネットワークに書かれている手順に沿って設定します。

まず、wp-config.phpを再度下記のように追加修正します。
私の場合、</p>
define('WP_ALLOW_MULTISITE', true);

の下記に追記ました。

ソースについての詳細は、画面に記載されているソースをコピペしてください。

define( 'MULTISITE', true );
define( 'VHOST', 'yes' );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'インストールしたサイトURL' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

上記のソースは、http://サブドメイン.ドメイン/でインストールした場合。
インストール先によって、表示されるソースが異なるので注意が必要です。

.htaccessを設定する

.htaccessを下記の内容に書き換えます。
アップロード出来ない場合は、一端ローカルにダウンロードし、
下記にソースを書き換えてから再度アップロードし、604(コアサーバーの場合)にパーミッションを変更します。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
</IfModule>

# END WordPress

認証用ユニークキーがない場合

wp-config.phpに認証用ユニークキーが入っていない場合は、
【WordPress サイトのネットワークを作成】の画面で、認証用ユニークキーが表示されるので、
wp-config.phpに追記します。

define('AUTH_KEY',         'キー');
define('SECURE_AUTH_KEY',  'キー');
define('LOGGED_IN_KEY',    'キー');
define('NONCE_KEY',        'キー');
define('AUTH_SALT',        'キー');
define('SECURE_AUTH_SALT', 'キー');
define('LOGGED_IN_SALT',   'キー');
define('NONCE_SALT',       'キー');

強制的にログアウトされる

強制的にログアウトされるので、再度ログインします。

WordPessのログイン画面

ログイン後に表示される設定した内容画面

WordPress3.0でログイン後に表示される画面

特権管理者が出現する!

上記の手順が終わると、左サイドバーに特権管理者が出現するようになります。
この部分で、新規にサイトを作成できる項目が増えます。

特権管理者

ネットワークオプション画面

まず設定したいのが、言語設定です。
デフォルトでは英語になっているので、【特権管理者→設定】ページのネットワーク全体の設定で【初期言語設定】を【日本語】にします。
新しいサブドメインサイトを作成した時に、日本語で表示されるようになるからです。

WordPress3.0の特権管理者の設定画面

以上がWordPress3.0のマルチサイト化手順です。

サブディレクトリーとサブドメインによって修正内容や表示するページが異なる

サブディレクトリーとサブドメインへのWordPress3.0のインストール先によって、
表示するページ内容が異なっていました。

もちろん、修正するソース内容も。
この点は、注意してください。

マルチとするサイトは、Movable Typeと同じように、
プラグインやテーマの設定を管理サイトで制御する感じになります。

ただ、やはりWordPress 3.0 の子サイトの管理画面はまだ不十分(MTの域に達していない)ような気がします。
この点は、今後の開発に期待!

サイト設定を一括で設定する画面

サブドメインにインストールしたい場合

サブサイトをサブドメイン型にしたい場合は、
管理サイトの方を、ドメイン.comで作成する必要があります。

もしサブドメイン(サブドメイン.ドメイン.com)にインストールした場合、
新規サイトドメイン.サブドメイン.ドメイン.comになってしまう。

※現在、www.ドメイン.comにインストールした場合のみ、
サブドメイン(サブドメイン.ドメイン.com)で構築することが可能となっています。

WordPress 3.0 をインストールするにあたっての注意事項

各自、自己責任でお願い致します。
また、今後アップグレードがあった場合、上記の方法が変更される場合もあります。

WordPress 3.0 のマルチサイト化にあたって参考にしたwordpress.orgのサイト

WordPress3.0のマルチサイト化にあたって参考にしたサイトは、Create A Network « WordPress Codexです。