WordPressをマルチサイト化する方法 <サブディレクトリ形式>
WordPress 3.0からマルチサイト(複数ブログ)で運用する事が可能になりました。
今までは、複数サイトをWordPressで構築したい場合は、構築したい数だけWordPressをインストールする必要がありましたが、WordPress 3.0からは、WordPressを1つインストールして、必要な設定をするだけで、複数のサイトを管理・運用することが可能になります。
ここではWordPress 3.0をマルチサイト化する手順を説明します。
一言でマルチサイト機能と言ってもブログの公開URLの形式によりサブディレクトリ形式とサブドメイン形式があります。
サブディレクトリ形式
http://blog.com/site1/
http://blog.com/site2/
サブドメイン形式
http://site1.blog.com/
http://site2.blog.com/
サブドメイン形式の場合は、ワイルドカードサブドメインが作成できるサーバーが必要です。
CoreサーバーはOKですが、Xサーバーはワイルドカードの設定が出来ません。
又、サブドメイン形式では、DNSの設定など多少複雑な設定が必要になるので、ここではサブディレクトリ方式での設定手順を説明します。
1.WordPressをインストールする。
新規にインストールする場合は、通常の手順でインストールすればOKです。
既にインストールしているWordPressをマルチサイト化する場合は、必然的にサブドメインでの運用になりますので、サブディレクトリ形式で使う場合には、新規にインストールしましょう。
2.マルチサイト機能を有効にする
WordPressをインストールした直下にあるwp-config.phpのファイルを開き、以下のソースを追加します。
define(‘WP_ALLOW_MULTISITE’, true);
追加例
—————————————————————–
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define(‘DB_COLLATE’, ”);
define (‘WP_ALLOW_MULTISITE’, true);
/**#@+
* 認証用ユニークキー
—————————————————————–
3.ネットワークの設定
これによりマルチサイト機能が有効になりますので、管理パネルのメニューから ツール → ネットワークの設置 を選択します。
サブディレクトリ形式を選択して必要事項を記入し、インストールをクリックします。
マルチブログ機能の設定に必要な3つの作業が表示されますので、そのページを開いたままにしておいて順番に作業していきます。
まず 1番目の作業はインストールした WordPress の /wp-content/ ディレクトリの中に、新たに /blogs.dir というディレクトリを作成します。
次に、先ほど編集した wp-config.php をもう一度開き、
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。*/
という行より上に下記のコードを追加してください。
—————————————————————–
define(‘MULTISITE’, true);
define(‘SUBDOMAIN_INSTALL’, false);
$base = ‘/’;
define(‘DOMAIN_CURRENT_SITE’, ‘***ドメイン名***’);
define(‘PATH_CURRENT_SITE’, ‘/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);
—————————————————————–
「認証用ユニークキーが wp-config.php
にありません」と表示された時は、画面に表示されるキーを追加しましょう。
次に、.htaccess ファイルの RewriteEngine On 以下を下記に書き換えます。
.htaccess ファイルが無い場合は新規に作成します。
—————————————————————–
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]
—————————————————————–
以上の作業が終わった後で WordPress の管理パネルにアクセスするとログアウトされますので、再度ログインします。
ログインに失敗する場合にはブラウザのクッキーを削除してから、もう一度ログインしてみてください。
再度ログインすると管理パネルのメニューの最上部に 参加サイト という項目が追加されています。その中のサイトネットワーク管理者 をクリックします。
左のメニューにある、「サイト」>「新規作成」で新しいサイトを作成する事が出来ます。
以上で、WordPressがサブディレクトリ形式でマルチサイト化出来ました。