MENU

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

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

目次

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のファイルを開き、
どの部分でも良いので、以下のソースを追加します。

[php]define(‘WP_ALLOW_MULTISITE’, true);[/php]

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

[php]プラグインを無効にする

全てのプラグインを無効にします。

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

プルダウン下の【プラグイン】の左にあるチェックボックスをクリックして、
プルダウンの【停止】を選択して、【適用】ボタンをクリックすると一括で無効にできます。

WordPressでプラグインを一括で停止する方法の画面

サイドバーのツールにあるネットワークに行く

wp-config.phpを書き換えてアップロードすると、
ツール部分にネットワーク項目が表示されるようになります。

ネットワークの場所

WordPress 3.0 をインストールする。

Sub-domainsかSub-directoriesを決めます。
※元々サブディレクトリーにWordPressをインストールすると、この選択はないらしい。
必要事項を記入して、インストールボタンをクリックします。

下記の画像は、サブディレクトリーの状態でインストールした場合に表示される画面です。

下記の画像は、ドメイン直下にインストールした場合です。

WordPress3.0のネットワークの設定画面

WordPressをマルチサイトに切り替えるためのファイル修正

管理画面に記載されている事項に則って作業します。

WordPress3.0を構築するための修正箇所

blogs.dirを作る

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

wp-config.phpを再度設定する

ネットワークに書かれている手順に沿って設定します。

まず、wp-config.phpを再度下記のように追加修正します。
私の場合、

[php]define(‘WP_ALLOW_MULTISITE’, true);[/php]

の下記に追記ました。

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

[php]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 );
[/php]

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

.htaccessを設定する

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

[php]# BEGIN WordPress

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]

# END WordPress
[/php]

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

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

[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’, ‘キー’);[/php]

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

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

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です。

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

この記事を書いた人

WordPress Love! 休日はほぼWordPress仲間と一緒に勉強会や写真を撮りに行っています。現在育児中のため、オフが多いです(>△<<<)

コメント

コメント一覧 (27件)

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次