Mirage-OC Commercial

2008/12/03

WordPress で複数ブログをがんばる2

カテゴリー: WordPress — admin @ 19:37

バーチャルホストの実現に、情報が充実していて読んだ感じ良さそうな Virtual Multiblog を使用することにします。
MU が日本語版に障害を・・・というような内容を見たからです。

では以下インストール手順と留意点を記述します。
現在のバージョンは 2.6.5 です。

  1. DL したアーカイブを展開して multiblog/ を wp-content/ へ配置する。
  2. wp-content/multiblog/ から wp-config.php wp-config-vmb.php をルートへコピーする。*1
  3. wp-content/multiblog/config/ の mb-autoconfig-sample.php を mb-autoconfig.php へコピーする。
  4. mb-autoconfig.php へデータベース情報を指定する。*2
  5. wp-content/multiblog/config/ の mb-users-sample.php を mb-users.php へコピーする。
  6. mb-users.php をエディタで編集する。*3
  7. wp-content/multiblog/config/ の mb-config-sample.php を ブログごとにコピーする。*4
  8. mb-config-VUSER.php を設定する。*5

*1 移動ではなくコピーするのは原本保持と Diff の為。

*2 $vmb_const 配列の DB_NAME DB_USER 等です。デフォルトの wp-config.php の記述と考えてください。

*3 $vusers[] = ‘www.example.com’; のように配列へキー不要で列挙していきます。www.example.com/foo というようなディレクトリ指定も可能です。

*4 複数の設定ファイルを作成することになります。夫々のドメインに対して名前付けルールがあり *3 で www.example.com/foo と指定されているものは mb-config-example_com_foo.php となります。全ての非英数字がアンダースコアになることと www は取り除かれるという事に注意してください。また $mydomain を指定する事でサブドメインの接頭辞以降を省略できます (未検証) 。

*5 $table_prefix は自動設定 (未検証) されるそうですが、テーブルを移設 (インポート) した場合は任意に設定すべきでしょう。また、固有設定は mb-autoconfig-sample.php をオーバーライドします。

特定のディレクトリ URL をマルチブログとして利用する場合はシンボリックリンクを張ることで解決できそうです。

例:

2 つのドメイン www.example.com web.example.com を使用する場合は夫々のバーチャルホストのホームディレクトリを WordPress のルート (/var/www/localhost/htdocs/) に設定するだけです。

ドメイン www.example.com とディレクトリ www.example.com/foo/ を使用する場合はホームディレクトリを WordPress のルート (/var/www/localhost/htdocs/) へ設定し foo という名のシンボリックリンクを WordPress のルートへ (/var/www/localhost/htdocs/foo -> /var/www/localhost/htdocs) 張れば良いそうです。

作業ログ:

# cd /usr/local/src/
# wget http://striderweb.com/wp-content/docs/nerd/downloads/multiblog.zip
# unzip multiblog.zip
# mv multiblog /var/www/localhost/htdocs/wp-content/

ここでコピー前に既存の設定を書き出しておきます。

define(‘DB_NAME’, ‘putyourdbnamehere’);
define(‘DB_USER’, ‘usernamehere’);
define(‘DB_PASSWORD’, ‘yourpasswordhere’);
define(‘DB_HOST’, ‘localhost’);
define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);
define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
$table_prefix  = ‘wp_’;
define (‘WPLANG’, ‘ja’);
if ( !defined(‘ABSPATH’) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’);
require_once(ABSPATH . ‘wp-settings.php’);

この内容は置き換える設定ファイルには記述されておらず mb-autoconfig.php や mb-config-VUSER.php で設定しています。
手順としては mb-autoconfig-sample.php を複製・基本設定 mb-config-sample.php を複製・テーブル設定とするのが妥当なようです。

# cd /var/www/localhost/htdocs/wp-content/multiblog/
# cp config/mb-autoconfig-sample.php config/mb-autoconfig.php
# vi config/mb-autoconfig.php
# diff -U0 config/mb-autoconfig-sample.php config/mb-autoconfig.php
— mb-autoconfig-sample.php    2008-10-28 21:05:08.000000000 +0900
+++ mb-autoconfig.php   2008-12-03 18:57:35.000000000 +0900
@@ -5,3 +5,3 @@
-$vmb_const['DB_NAME'] = ‘putyourdbnamehere’;    // The name of the database
-$vmb_const['DB_USER'] = ‘usernamehere’;     // Your MySQL username
-$vmb_const['DB_PASSWORD'] = ‘yourpasswordhere’; // …and password
+$vmb_const['DB_NAME'] = ‘**********’;    // The name of the database
+$vmb_const['DB_USER'] = ‘**********’;     // Your MySQL username
+$vmb_const['DB_PASSWORD'] = ‘**********’; // …and password
@@ -16,3 +16,3 @@
-$vmb_const['AUTH_KEY'] = ‘put your unique phrase here’;
-$vmb_const['SECURE_AUTH_KEY'] = ‘put your unique phrase here’;
-$vmb_const['LOGGED_IN_KEY'] = ‘put your unique phrase here’;
+$vmb_const['AUTH_KEY'] = ‘**********’;
+$vmb_const['SECURE_AUTH_KEY'] = ‘**********’;
+$vmb_const['LOGGED_IN_KEY'] = ‘**********’;
@@ -24 +24 @@
-$vmb_const['WPLANG'] = ”;
+$vmb_const['WPLANG'] = ‘ja’;
@@ -37 +37 @@
-?>
\ No newline at end of file
+?>
# cp *.php ../../
# cp config/mb-users-sample.php config/mb-users.php
# vi config/mb-users.php
# cp config/mb-config-sample.php config/mb-config-mirage_oc_com.php
# cp config/mb-config-sample.php config/mb-config-******_mirage_oc_net.php
# vi config/mb-config-mirage_oc_com.php
# vi config/mb-config-******_mirage_oc_net.php

できた。
設定中はサイトにアクセスできなくなるのでサクッと設定完了して再びアクセス。
現状のサイトは問題なく表示できた。
ではバーチャルホストを設定しよう。
うむ、完璧だ。

後は移行する SPB のイメージリンク images/……… を wp-content/uploads/2008/12/…….. とかにすればいいのかな。

今回使用した Virtual Multiblog は本家にとても親切な readme が置かれています。

http://striderweb.com/wp-content/multiblog/multiblog-readme.htm

こちらで紹介しているのは酔っ払った薬屋の口上のようなもので、全てのロジックを説明・解析しているわけでなく readme を元に「これを使ったらこうなるんだ」という感じです。

お役に立てば幸いです。

2件のコメント »

  1. [...] 本家のマニュアルがVirtual Multiblog Readmeで、WordPress で複数ブログをがんばる2 « Mirage-OCが日本語での解説記事なので、そのあたりを参考に。 [...]

    ピンバック by WordPress + Virtual Multiblogで複数設置 » Happy My Life — 2009/01/10 @ 07:20

  2. [...] 本家のマニュアルがVirtual Multiblog Readmeで、WordPress で複数ブログをがんばる2 « Mirage-OCが日本語での解説記事なので、そのあたりを参考に。 [...]

    ピンバック by WordPress + Virtual Multiblogで複数設置 — 2009/05/10 @ 09:15

このコメント欄の RSS フィード トラックバック URL

コメントをどうぞ

Powered by WordPress