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 3.0 のwp-config.phpを設定する
WordPress 3.0 をインストールした直下にあるwp-config.phpのファイルを開き、
どの部分でも良いので、以下のソースを追加します。
私は下記の部分に追加しました。
ファイルを開いてコメントアウトが終わった直下に追加しました。
全てのプラグインを無効にします。
プラグインのページをクリックして、
有効(Active)をクリックすると有効になっている全てのプラグインが一覧表で出ます。
プルダウン下の【プラグイン】の左にあるチェックボックスをクリックして、
プルダウンの【停止】を選択して、【適用】ボタンをクリックすると一括で無効にできます。
サイドバーのツールにあるネットワークに行く
wp-config.phpを書き換えてアップロードすると、
ツール部分にネットワーク項目が表示されるようになります。
WordPress 3.0 をインストールする。
Sub-domainsかSub-directoriesを決めます。
※元々サブディレクトリーにWordPressをインストールすると、この選択はないらしい。
必要事項を記入して、インストールボタンをクリックします。
下記の画像は、サブディレクトリーの状態でインストールした場合に表示される画面です。
下記の画像は、ドメイン直下にインストールした場合です。
WordPressをマルチサイトに切り替えるためのファイル修正
管理画面に記載されている事項に則って作業します。
blogs.dirを作る
wp-content直下に、blogs.dirフォルダを作成します。
一応書き込み権限を与えておきました。
パーミッション:777らへんです。
wp-config.phpを再度設定する
ネットワークに書かれている手順に沿って設定します。
まず、wp-config.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(コアサーバーの場合)にパーミッションを変更します。
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に追記します。
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]
強制的にログアウトされる
強制的にログアウトされるので、再度ログインします。
ログイン後に表示される設定した内容画面
特権管理者が出現する!
上記の手順が終わると、左サイドバーに特権管理者が出現するようになります。
この部分で、新規にサイトを作成できる項目が増えます。
ネットワークオプション画面
まず設定したいのが、言語設定です。
デフォルトでは英語になっているので、【特権管理者→設定】ページのネットワーク全体の設定で【初期言語設定】を【日本語】にします。
新しいサブドメインサイトを作成した時に、日本語で表示されるようになるからです。
以上が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です。