<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>Mirage-OC Commercial</title>
	<atom:link href="http://www.mirage-oc.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.mirage-oc.com</link>
	<description>サブドメインなんかを運用するシステムの記録</description>
	<lastBuildDate>Mon, 22 Mar 2010 09:33:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/" />
		<item>
		<title>軽量化について</title>
		<link>http://www.mirage-oc.com/?p=310</link>
		<comments>http://www.mirage-oc.com/?p=310#comments</comments>
		<pubDate>Mon, 22 Mar 2010 09:32:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[＞サーバーメンテ]]></category>

		<guid isPermaLink="false">http://www.mirage-oc.com/?p=310</guid>
		<description><![CDATA[当方の鯖は非常に古いシステムで稼動しているため処理速度がブロードバンドについていけないのは一つの問題です。
ですが、不況である昨今に個人で新規鯖を導入する余裕が無いため、幾つかのアプローチを健闘します。
◆PHP APC [...]]]></description>
			<content:encoded><![CDATA[<p>当方の鯖は非常に古いシステムで稼動しているため処理速度がブロードバンドについていけないのは一つの問題です。<br />
ですが、不況である昨今に個人で新規鯖を導入する余裕が無いため、幾つかのアプローチを健闘します。</p>
<p>◆PHP APC<br />
これは結構前に導入済みで、PHP の処理が若干向上したと感じられました。<br />
表示については大差ないですが、記事の保存など PHP で負荷が上がる部分には良い影響が出ました。</p>
<p>過去ログから抜粋ですが、導入ログを残します。</p>
<pre class="brush: bash;">
# cd /usr/ports/www/pecl-APC
# make
# make install
...
Then restart your web server and consult the output of phpinfo().
If there is an informational section for APC, the installation was
successful.
******************************************************************
===&gt;   Registering installation for pecl-APC-3.0.19
******************************************************************

The following line has been added to your /usr/local/etc/php/extensions.ini
configuration file to automatically load the installed extension:

extension=apc.so

******************************************************************
# grep apc /usr/local/etc/php/extensions.ini
extension=apc.so
# /usr/local/etc/rc.d/apache22 restart
</pre>
<p>phpinfo before</p>
<pre class="brush: bash;">
Document Length:        52178 bytes
Requests per second:    937.45 [#/sec] (mean)
Time per request:       68.270 [ms] (mean)
</pre>
<p>phpinfo after</p>
<pre class="brush: bash;">
Document Length:        55233 bytes
Requests per second:    946.50 [#/sec] (mean)
Time per request:       67.618 [ms] (mean)
</pre>
<p>◆WP Super Cache<br />
2.9 にアップデートした後プラグインを導入するには若干変更が必要そうです。<br />
なぜなら、個人鯖ではレスポンスが悪く http リクエストで失敗するからです。<br />
レンタ鯖、企業鯖では考慮しなくていいかもしれませんが、プロキシの無い環境では必要かもしれません。</p>
<p>やけに早いエラー通知のため接続関係のものを探してみると wp-includes/http.php が管理しているようです。<br />
サラッと読んでみると http_request_timeout が 5sec というかなり狭域になっています。<br />
これをもう少し猶予のある時間に変更します。</p>
<blockquote><p>
# diff -U0 http.php.old http.php<br />
&#8212; http.php.old        2010-03-22 18:19:13.000000000 +0900<br />
+++ http.php    2010-03-22 18:14:21.000000000 +0900<br />
@@ -226 +226 @@<br />
-                       &#8216;timeout&#8217; => apply_filters( &#8216;http_request_timeout&#8217;, 5),<br />
+                       &#8216;timeout&#8217; => apply_filters( &#8216;http_request_timeout&#8217;, 30),
</p></blockquote>
<p>これで単純なタイムアウトでの切断は免れます。</p>
<p>プラグインの新規追加で WP Super Cache を導入します。<br />
導入直後は有効になっていないのでキャッシュを有効にします。<br />
導入段階だったので他の設定は変更していません。</p>
<p>WP Super Cache を選んだのは 携帯プラグイン が wp-cache 対応でアップデートされていたからです。<br />
個別に Feed なんかも導入しようかと思いましたが、設定を見た限り Feed も適用範囲内っぽいので保留しました。</p>
<p>忘れずにサブドメインでも有効にしておきましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mirage-oc.com/?feed=rss2&amp;p=310</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/?p=310" />
	</item>
		<item>
		<title>Virtual Multiblog 導入後のアップデート</title>
		<link>http://www.mirage-oc.com/?p=299</link>
		<comments>http://www.mirage-oc.com/?p=299#comments</comments>
		<pubDate>Mon, 22 Mar 2010 08:57:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.mirage-oc.com/?p=299</guid>
		<description><![CDATA[以前導入記事を書いて、その後着々と WP 本体をアップデートしていたが Virtual Multiblog 導入後のアップデート手順が記録されていなかったので手順をまとめておく。
◆ソースの入手
本家日本語版を入手します [...]]]></description>
			<content:encoded><![CDATA[<p>以前導入記事を書いて、その後着々と WP 本体をアップデートしていたが Virtual Multiblog 導入後のアップデート手順が記録されていなかったので手順をまとめておく。</p>
<p>◆ソースの入手<br />
本家日本語版を入手します。</p>
<blockquote><p>
# wget http://ja.wordpress.org/wordpress-2.9.2-ja.zip
</p></blockquote>
<p>◆作業ディレクトリ展開<br />
マルチブログのための設定が必要なので作業用ディレクトリとして展開します。</p>
<blockquote><p>
# unzip wordpress-2.9.2-ja.zip<br />
# mv wordpress wordpress_new<br />
# mv wordpress_new /usr/local/www/<br />
# cd /usr/local/www/
</p></blockquote>
<p>◆VMB 設定ファイルのコピー<br />
直下の設定ファイルをコピーします。</p>
<blockquote><p>
# cp wordpress/wp-config.php wordpress_new/wp-config.php<br />
# cp wordpress/wp-config-vmb.php wordpress_new/wp-config-vmb.php
</p></blockquote>
<p>VMB をコピーします。</p>
<blockquote><p>
# cp -R wordpress/wp-content/multiblog wordpress_new/wp-content/
</p></blockquote>
<p>これでマルチブログの設定は複製できました。<br />
構成はそのままであるはずなので手を加える必要はありません。</p>
<p>続いて Virtual Multiblog 以外のファイルを移行します。<br />
ここからは wordpress のアップデートとなるので環境によって違いがあるかもしれません。<br />
自サイトの管理目的メモなのでログしておきますが個人設定なので必要に応じて置き換えてください。</p>
<p>◆ユーザーコンテンツの移動<br />
シンボリックリンクで格納してあるアップロードコンテンツ（画像）の適用。</p>
<blockquote><p>
# ln -s /home/username/uploads wordpress_new/wp-content/uploads
</p></blockquote>
<p>シンボリックリンク貼り忘れで露出したコンテンツの複製。</p>
<blockquote><p>
# cp wordpress/wp-content/swfobject.js wordpress_new/wp-content/<br />
# cp wordpress/wp-content/player-viral.swf wordpress_new/wp-content/<br />
# cp wordpress/wp-content/yt.swf wordpress_new/wp-content/<br />
# cp -R wordpress/wp-content/skins wordpress_new/wp-content/
</p></blockquote>
<p>◆プラグインの移動<br />
これもシンボリックリンクで集約するのが適切だと思う。</p>
<blockquote><p>
# cp -R wordpress/wp-content/plugins/counterizeii wordpress_new/wp-content/plugins/<br />
# cp -R wordpress/wp-content/plugins/ktai_style wordpress_new/wp-content/plugins/<br />
# cp -R wordpress/wp-content/plugins/openid wordpress_new/wp-content/plugins/<br />
# cp -R wordpress/wp-content/plugins/syntaxhighlighter wordpress_new/wp-content/plugins/<br />
# cp -R wordpress/wp-content/plugins/wp-cumulus wordpress_new/wp-content/plugins/<br />
# cp -R wordpress/wp-content/plugins/wp-json wordpress_new/wp-content/plugins/
</p></blockquote>
<p>◆テーマの移動<br />
これもシンボリックリンクで集約するのが適切だと思う。</p>
<blockquote><p>
# cp -R wordpress/wp-content/themes/aeros wordpress_new/wp-content/themes/<br />
# cp -R wordpress/wp-content/themes/carrington-blog wordpress_new/wp-content/themes/<br />
# cp -R wordpress/wp-content/themes/dark-marble wordpress_new/wp-content/themes/<br />
# cp -R wordpress/wp-content/themes/dark-smoke wordpress_new/wp-content/themes/<br />
# cp -R wordpress/wp-content/themes/iblog2 wordpress_new/wp-content/themes/  # cp -R wordpress/wp-content/themes/jonk wordpress_new/wp-content/themes/<br />
# cp -R wordpress/wp-content/themes/sliding-door wordpress_new/wp-content/themes/
</p></blockquote>
<p>ファイル操作でできる移行準備が完了しました。<br />
残りはプラグインの無効化とテーマのデフォルト設定です。</p>
<p>ここからは SQL の流し込みがシェル上の作業単純化に必要かと思いますが、管理サイトが少ないため直接手を下した方が確実と判断します。<br />
参考までに DB 基底テーブルの構造を記述しておきます。</p>
<pre class="brush: plain;">
options:{
	active_plugins:{
		a:8:{
			i:0;s:19:&quot;akismet/akismet.php&quot;;
			i:1;s:27:&quot;counterizeii/counterize.php&quot;;
			i:2;s:25:&quot;ktai_style/ktai_style.php&quot;;
			i:3;s:17:&quot;openid/openid.php&quot;;
			i:4;s:39:&quot;syntaxhighlighter/syntaxhighlighter.php&quot;;
			i:5;s:25:&quot;wp-cumulus/wp-cumulus.php&quot;;
			i:6;s:19:&quot;wp-json/wp-json.php&quot;;
			i:7;s:41:&quot;wp-multibyte-patch/wp-multibyte-patch.php&quot;;
		}
	}
	current_theme:aeros
}
</pre>
<p>plugins では有効にするプラグイン数を a で、プラグインのナンバリングとリンクの文字列長を i s で、リンクする URI を文字列で指定しているようです。<br />
これから派生するテーブルもあるので、構造を把握せずに直接変更するのは怖いです。</p>
<p>◆アップデート<br />
各サイトでプラグインとテーマを操作します。<br />
準備が出来たらファイルを完全移行します。</p>
<blockquote><p>
# mv wordpress wordpress_old<br />
# mv wordpress_new wordpress<br />
# chown -R www:www wordpress
</p></blockquote>
<p>あとはテーマやプラグインを元に戻せば完了です。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mirage-oc.com/?feed=rss2&amp;p=299</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/?p=299" />
	</item>
		<item>
		<title>Counterize II</title>
		<link>http://www.mirage-oc.com/?p=247</link>
		<comments>http://www.mirage-oc.com/?p=247#comments</comments>
		<pubDate>Fri, 15 May 2009 09:04:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://www.mirage-oc.com/?p=247</guid>
		<description><![CDATA[アクセス解析は webalizer で行っていますが、複数のブログを運用している中でそれとなくカウンターが付けられたらいいなと思い導入しました。
また、このプラグインより前に IP City Cluster というものが [...]]]></description>
			<content:encoded><![CDATA[<p>アクセス解析は webalizer で行っていますが、複数のブログを運用している中でそれとなくカウンターが付けられたらいいなと思い導入しました。<br />
また、このプラグインより前に IP City Cluster というものが見付かったので、こちらも導入したいと思います。</p>
<p>とはいえコンソールですべき作業はなさそう。<br />
展開してプラグインディレクトリに投入してやると問題なく動作し始めました。</p>
<p>話がそれますが、API Key の居る WordPress.com Status というのを入れようとしたのですが、こちらは WordPress.com で登録したアカウントのブログ情報に対して集計を掛けるようで、Akismet のようにブログ毎に共通キーで適用できるのかが心配。<br />
設定中にエラーが出て？？となり使用を停止したのだが Counterize II の調子は良かった。</p>
<p>さて、展開時に *-ja_* という日本語モジュールが見られた気がするのですが、日本語になっていない。<br />
これは少し面白くないが readme には載っておらず、本家サイトもタグをクリックすると応答がなくなり意気消沈。<br />
ディレクトリの一覧を見ると mo po というよく見る日本語化モジュールのようなので、どこかにその設定があるだろうと .php の内容を確認していく。<br />
結局 .php 内に記述が無かったので、グローバル化されたモジュールを読み込む基本機能が WordPress の Plugin 機能に実装され、プラグインファイル名に &#8211; で文字コードを結合した mo po ファイルを使用するのではないかと判断。<br />
だが、それならば何故日本語化されていないのか。<br />
※詳しくは WordPress ドキュメントのプラグインの作成などを参照</p>
<p>暫く迷った後望みを Google 先生に託したところこちらのサイトが紹介されていた。<br />
<a href="http://oboegaki.net/wordpress/plugin/counterize-ii.html" target="_blank">Wordpressのアクセス解析（カウンター）プラグインCounterize IIを導入 | 無料で使える情報探す「おぼえがき」</a><br />
どうやら _UTF という文字列が障害要因のようだったので、早速 cp して確認すると、無事日本語化できていた。</p>
<p>上記サイトでログ表示の拡張などがあがっていたが、編集に入る前に状況を確認しよう。</p>
<p>◆どこに追加されたか</p>
<ul>
<li>ダッシュボード<br />
ここの『現在の状況』が拡張され Counterize II の簡単な情報が表示されている。<br />
表示される内容は「合計」「今日」「現在」の値のみだ。<br />
また、タブから投稿内の項目である Counterize II へジャンプが可能になっている。</li>
<li>投稿<br />
『Counterize II』 という項目が増えている。<br />
こちらでは詳細な情報が集計されている。<br />
ここに表示される内容は設定項目で設定するようだ。</li>
<li>設定<br />
『Counterize II』 という項目が増えている。<br />
投稿項目の Counterize II で表示される集計の設定が可能だ。</li>
</ul>
<p>使い方としては、集計を見ることはそれほどないだろう。<br />
多分アクセス解析としては webalizer で十分と判断しているためだ。</p>
<p>ここで、上記利用方法を紹介されているサイトのコピペにてテーマに埋め込む項目を追加する。<br />
WordPress 内でも構わないと思うが diff が欲しいのでコンソールで編集して記録を残す事にする。</p>
<p>検索のポイントは return $wpdb->get_var($sql) がいいだろう。<br />
文字列を返すだけの関数で、ページヘッダやサイドバーに埋め込む事ができそうだ。<br />
どの関数がそういう結果を返すのか確認と羅列してみよう。</p>
<p>counterize_getamount($only_this_month = false)<br />
counterize_getuniqueamount()<br />
counterize_getkeywordamount()<br />
counterize_gethitstoday()<br />
counterize_getuniquehitstoday()<br />
counterize_getlatest7days()<br />
counterize_getuniquelatest7days()<br />
counterize_get_online_users()<br />
counterize_getHitsOnCurrentArticle()<br />
counterize_getuniquereferers()<br />
counterize_getuniquebrowsers()<br />
counterize_getuniqueurl()<br />
counterize_getUserAgentID($useragent)</p>
<p>これらを表示させ、使えそうな情報を選定する。<br />
一応帰ってくる値は全て数値であるのでカウントである事がわかる。<br />
また、アクセスの度に unique 指定の無い関数がカウントアップされ unique 関数はカウントアップされない事から unique とはリロードなど、同一アクセスがカウントされないということが想定できる。<br />
つまり、トップなどに表示したりカウンタとして利用するのなら、とにかくカウントアップする counterize_getamount() より、同一ユーザーのアクセスを排他する counterize_getuniqueamount() の方が適切だといえよう。</p>
<p>一旦 unique の問題を忘れ、使用に適していると考えられる関数を用途と共に記そう。</p>
<pre class="brush: xml;">&lt;ul&gt;
&lt;li&gt;現在：&lt;?php echo counterize_get_online_users();?&gt;&lt;/li&gt;
&lt;li&gt;今日：&lt;?php echo counterize_getuniquehitstoday();?&gt;&lt;/li&gt;
&lt;li&gt;週間：&lt;?php echo counterize_getuniquelatest7days();?&gt;&lt;/li&gt;
&lt;li&gt;合計：&lt;?php echo counterize_getuniqueamount();?&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>他の値は解析ならともかくユーザーに見せるものでもないので割愛する。<br />
細かい点はログインして確認すればよいのだ。<br />
またＣＭＳとしては必要なのかもしれないが、自分には今日の昨日を比較するという習慣がないので追加関数は定義しない事にする。</p>
<hr />
次に IP City Cluster を導入してみよう。<br />
Counterize II 同様に展開以外の手間はなさそうだ。<br />
ですが、インストレーションにこんな注意書きがある。</p>
<p>PHP の実行時間が 30 秒以上になる可能性があり、それを拡張するためセーフモードでない必要がある。<br />
画像生成に 5 分掛かる古いサーバーもある。</p>
<p>すみません。<br />
導入は辞退させていただきます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mirage-oc.com/?feed=rss2&amp;p=247</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/?p=247" />
	</item>
		<item>
		<title>phpBB の続き</title>
		<link>http://www.mirage-oc.com/?p=226</link>
		<comments>http://www.mirage-oc.com/?p=226#comments</comments>
		<pubDate>Tue, 17 Feb 2009 07:14:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[phpBB]]></category>

		<guid isPermaLink="false">http://www.mirage-oc.com/?p=226</guid>
		<description><![CDATA[今回は translation の適用と MODs の適用だ。
先日は MODs について確りと読まずに進めるつもりでそこまで辿り着かなかったが、今日は温かいので目を通してみようかと思う。
また translation  [...]]]></description>
			<content:encoded><![CDATA[<p>今回は translation の適用と MODs の適用だ。<br />
先日は MODs について確りと読まずに進めるつもりでそこまで辿り着かなかったが、今日は温かいので目を通してみようかと思う。<br />
また translation 適用後に MODs を入れると大概 ja language が無いとお叱りを受けるので、標準設定で MODs を入れて動作を確認した後に translation をマージすると良いのではないだろうか。</p>
<hr/>
◆言語<br />
言語ファイルの入手は以下から可能だ。<br />
<a href="http://www.phpbb.com/languages/" target="_blank">Languages</a><br />
展開する分には問題ないと思うので展開しておく。</p>
<blockquote><p>
# cd /usr/local/src<br />
# wget http://www.phpbb.com/files/language_packs_30x/lang_ja.tar.gz<br />
# wget http://www.phpbb.com/files/language_packs_30x/subsilver2_ja.tar.gz<br />
# wget http://www.phpbb.com/files/language_packs_30x/prosilver_ja.tar.gz<br />
# cd /usr/share/phpBB3/language/<br />
# tar xzvf /usr/local/src/lang_ja.tar.gz<br />
# cd ../styles/<br />
# tar xzvf /usr/local/src/prosilver_ja.tar.gz<br />
# tar xzvf /usr/local/src/subsilver2_ja.tar.gz
</p></blockquote>
<p>展開が出来たら phpBB へ Administrator でログインして、ページの一番下にある「Administration Control Panel」に移動してパスワードを再入力して管理画面へ入る。</p>
<p>項目やらタブが沢山ありますが『SYSTEM』タブへ移動する。<br />
GENERAL TASKS 項の「Language packs」を選択すると日本語が入っていますね。<br />
そして「Install」 を押して問題がなければ &#8230;successfully&#8230;. と表示される。</p>
<p>確認しよう。。。<br />
迷った。。。<br />
『GENERAL』タブに移動して「Board settings」を選択する。</p>
<blockquote><p>Default language: 日本語</p></blockquote>
<p>これでトップの表示が日本語になります。<br />
画面右上の『Administration Control Panel』 付近に Board index リンクがあるのでクリックして確認できますが Administrator が US 言語設定になっているのでログアウトしないと確認できません。</p>
<p>ここからしばらく悩みました。<br />
本家に README を探しに行く方が先決だと思うのですが、データベースを覗き見して phpbb_config テーブルのレコードは default_lang, ja, 0 という値になっています。<br />
phpbb_users テーブルの user_lang カラムを見ると管理者レコードに en があります。<br />
本来ならここに ja などが入るのでしょうか。<br />
DBを直接操作してもよいのですが、やはり管理画面から出来た方が幸せになるので探してみます。</p>
<p>ありました。<br />
『USER AND GROUPS』タグでユーザーを検索して表示した後、ドロップダウンリストで「Preference」を選択すると出てきます。<br />
ここで例の如く日本語を選択してやると、、、はい、管理画面も全てに日本語化されましたね。<br />
transration を作ってくださった ocean=Yohsuke 氏に多大な感謝を。</p>
<hr/>
◆MODs<br />
余談ですが「ocean 氏凄いよ！」と検索を書けたら、当人様も BB 使っているようですね。</p>
<p><a href="http://bbmods.info/bbs/" target="_blank">こちら</a> に日本語の MODs 解説なんかもありそうです。<br />
別ページにしようかとも思いましたが波に乗って行きましょう！（ocean 氏だけに</p>
<p><a href="http://www.phpbb.com/mods/" target="_blank">本家MODs</a>へ行きます。<br />
今回は不具合要望監視のため RSS が必要という事なので RSS の MODs を検索します。<br />
<a href="http://www.phpbb.com/mods/db/" target="_blank">MOD Database</a>に移動して「search」項から RSS 検索します。<br />
現時点では 6 つの MOD が出てきました。<br />
この中でバージョン 3 に対応していると思われる以下のものが候補になります。</p>
<p>・RSS Feed 2.0<br />
・simple RSS mod for phpBB3<br />
・Simple Syndication</p>
<p>今回は RSS Feed 2.0 を導入しようと思う。<br />
右側にある「DOWNLOAD Modification」にて、ブラウザであれば zip が入手可能だが wget だと index.html が保存されるので MSSTI_RSS_v104.zip など本来の名前に mv します。</p>
<blockquote><p>
# wget http://www.phpbb.com/mods/db/download/6905/<br />
# mv index.html MSSTI_RSS_v104.zip<br />
# unzip MSSTI_RSS_v104.zip
</p></blockquote>
<p>ファイルをアップロードしたりあれこれする前に、じっくりとファイル・構成などを確認する。<br />
現場にて MODs についていくらかドキュメントを斜め読みしていたため MODs はMODX という書式で提供され AutoMOD などの自動で MOD を導入できるスーパー MOD があるという事は予想済み。</p>
<p>zip を展開した後 Install_RSSFeed20_v103.xml をブラウジングする。<br />
項目に分かれた説明があるので簡単に紹介しながら作業する。</p>
<p>・About this MOD<br />
　この MOD のオーソライズデータです。<br />
　インストールレベルは Easy で 10 分もあれば出来るそうです。</p>
<p>・Author<br />
　作者に敬礼！</p>
<p>・Files to Edit<br />
　編集が必要なファイルの一覧です。<br />
　シェルを操作できない場合は FTP でこれら既存のファイルをダウンロードしてバックアップします。</p>
<p>・Included Files<br />
　追加することになるファイルです。</p>
<p>・Additional MODX Files<br />
　他の MODX ファイルを必要とする場合はここに表示されるかと。<br />
　連動 MOD や設定干渉を避けるために使われるものと予想。</p>
<p>・Disclaimer &#038; Other Notes<br />
　さらっと読む。</p>
<p>・License &#038; English Support<br />
　しっかり読む。</p>
<p>・MOD History<br />
　バージョンアップ時には確認しましょう。<br />
　今回は新規導入なので気にしません。</p>
<hr/>
ここから作業に入ります。<br />
以下手順が書かれているので殆どコピペの要領で簡単に導入できます。</p>
<hr/>
・SQL<br />
　記述を DnD でも「SELECT ALL」でも良いのでコピーします。<br />
　phpMyAdmin やシェルから SQL を実行します。<br />
　シェルで実行する方に説明は要らないと思います。<br />
　.sql ファイルにでもしておくとリストア時が楽かもしれません。<br />
　phpMyAdmin の方は DB を選択して『SQL』タブにコピペして実行します。</p>
<p>・File Copy<br />
　指定のファイルをコピーしましょう。<br />
　root/ を phpBB3/ にコピーすれは良いかと思います。<br />
　FTP でも同様です。<br />
　ここでは language 同梱の es ディレクトリについて書かれていません。<br />
　必要であればコピーしてくださいという観念と思います。<br />
　既に日本語化されている環境であり内包されている rss.php は既存 ja 用ファイルをオーバーライドしないので en からコピーした ja ディレクトリを用意して一緒にコピーしましょう。<br />
ja に設定している場合は、これをしないとエラーが出ます。</p>
<blockquote><p>
# cd MSSTI_RSS_v104b/language/<br />
# cp -pR en ja<br />
# cd ../<br />
# cp -pR . /usr/share/phpBB3/<br />
# chown -R www-data:www-data /usr/share/phpBB3/
</p></blockquote>
<p>・Edits<br />
　Open: で指定されているファイルを開きます。<br />
　Find で指定されている箇所を探し指示通りパッチします。<br />
　PHP の読める方は適当なところへ、よく分からない方は Find 指定コメント直下に追記するだけです。<br />
　Add after をコピーして vi 作業とすると、</p>
<blockquote><p>
# cd /usr/share/phpBB3/includes/<br />
# cp -p functions.php functions.php.bak<br />
# vi functions.php</p>
<p>/assigns<br />
(Shift + a)<br />
(ペースト)<br />
esc<br />
/SITE_LOGO_IMG<br />
(Shift + a)<br />
(ペースト)<br />
esc<br />
:wq</p>
<p>#
</p></blockquote>
<p>　で完了。<br />
　vi のタブ補完で酷い事になったりしますが、体裁を気にしなければそのままでもよい。<br />
　（私は修正します）<br />
　これをファイル分繰り返します。<br />
　言語ファイルは en を使用するのであれば指定通りに。<br />
　en を複製した ja を使用するならパスを置き換えて作業します。</p>
<blockquote><p>
# cd ../language/ja/<br />
# cp -p common.php common.php.bak<br />
# vi common.php</p>
<p>/SEARCH_SELF<br />
(Shift + a)<br />
(ペースト)<br />
esc<br />
:wq</p>
<p># cd acp<br />
# cp -p common.php common.php.bak<br />
# vi common.php</p>
<p>/ACP_WORDS<br />
(Shift + a)<br />
(ペースト)<br />
esc<br />
:wq</p>
<p># cd ../../../styles/prosilver/template/<br />
# cp -p overall_header.html overall_header.html.bak<br />
# vi overall_header.html</p>
<p>/SITENAME<br />
(Shift + a)<br />
(ペースト)<br />
esc<br />
:wq
</p></blockquote>
<p>これで編集は完了です。<br />
以下 diff を乗せておきます。</p>
<p>diff -U0 functions.php.bak functions.php</p>
<blockquote><p>
&#8212; functions.php.bak  2008-12-13 00:20:37.000000000 +0900<br />
+++ functions.php 2009-02-17 15:16:25.000000000 +0900<br />
@@ -3670,0 +3671,4 @@<br />
+// MOD : MSSTI RSS Feeds (V1.0.4) &#8211; Start<br />
+ $f_rss = request_var(&#8216;f&#8217;, 0);<br />
+ $t_rss = request_var(&#8216;t&#8217;, 0);<br />
+// MOD : MSSTI RSS Feeds (V1.0.4) &#8211; End<br />
@@ -3755 +3759,12 @@<br />
-<br />
+// MOD : MSSTI RSS Feeds (V1.0.4) &#8211; Start<br />
+  &#8216;U_RSS&#8217;        => generate_board_url() . &#8220;/rss.$phpEx&#8221;,<br />
+  &#8216;S_FORUM_ID&#8217;        => $f_rss,<br />
+  &#8216;S_TOPIC_ID&#8217;        => $t_rss,<br />
+  &#8216;S_ENABLE_FEEDS&#8217;     => ($config['rss_enable']) ? true : false,<br />
+  &#8216;S_ENABLE_FEEDS_FORUMS&#8217;       => ($config['rss_overall_forums']) ? true : false,<br />
+  &#8216;S_ENABLE_FEEDS_THREADS&#8217;     => ($config['rss_overall_threads']) ? true : false,<br />
+  &#8216;S_ENABLE_FEEDS_POSTS&#8217;       => ($config['rss_overall_posts']) ? true : false,<br />
+  &#8216;S_ENABLE_FEEDS_EGOSEARCH&#8217;   => ($config['rss_egosearch'] &#038;&#038; $user->data['user_id'] != ANONYMOUS) ? true : false,<br />
+  &#8216;S_ENABLE_FEEDS_FORUM&#8217;       => ($config['rss_forum']  &#038;&#038; $f_rss != 0) ? true : false,<br />
+  &#8216;S_ENABLE_FEEDS_THREAD&#8217;       => ($config['rss_thread'] &#038;&#038; $t_rss != 0) ? true : false,<br />
+// MOD : MSSTI RSS Feeds (V1.0.4) &#8211; End<br />
@@ -3924 +3939 @@<br />
-?><br />
\ No newline at end of file<br />
+?>
</p></blockquote>
<p>diff -U0 common.php.bak common.php</p>
<blockquote><p>
&#8212; common.php.bak     2008-12-14 10:25:04.000000000 +0900<br />
+++ common.php  2009-02-17 15:32:55.000000000 +0900<br />
@@ -518,0 +519,4 @@<br />
+// MOD : MSSTI RSS Feeds (V1.0.4) &#8211; Start<br />
+ &#8216;YOUR_POSTS&#8217;          => &#8216;Your posts&#8217;,<br />
+ &#8216;RSS_FEEDS&#8217;           => &#8216;RSS Feeds&#8217;,<br />
+// MOD : MSSTI RSS Feeds (V1.0.4) &#8211; End<br />
@@ -867 +871 @@<br />
-?><br />
\ No newline at end of file<br />
+?>
</p></blockquote>
<p>diff -U0 common.php.bak common.php</p>
<blockquote><p>
&#8212; common.php.bak     2008-12-14 10:25:04.000000000 +0900<br />
+++ common.php  2009-02-17 15:36:18.000000000 +0900<br />
@@ -197 +197,4 @@<br />
-<br />
+// MOD : MSSTI RSS Feeds (V1.0.4) &#8211; Start<br />
+ &#8216;ACP_RSS&#8217;            => &#8216;RSS management&#8217;,<br />
+ &#8216;ACP_RSS_FEEDS&#8217;         => &#8216;RSS&#8217;,<br />
+// MOD : MSSTI RSS Feeds (V1.0.4) &#8211; End<br />
@@ -692 +695 @@<br />
-?><br />
\ No newline at end of file<br />
+?>
</p></blockquote>
<p>diff -U0 overall_header.html.bak overall_header.html</p>
<blockquote><p>
&#8212; overall_header.html.bak     2008-12-13 00:20:37.000000000 +0900<br />
+++ overall_header.html 2009-02-17 15:39:02.000000000 +0900<br />
@@ -15,0 +16,25 @@<br />
+&lt;!&#8211; // MOD : MSSTI RSS Feeds (V1.0.4) &#8211; Start&#8211;><br />
+<br />
+&lt;!&#8211; IF S_ENABLE_FEEDS &#8211;><br />
+
<link rel="alternate" type="application/rss+xml" title="{L_RSS_FEEDS} - {SITENAME}" href="{U_RSS}" />
+&lt;!&#8211; IF S_ENABLE_FEEDS_FORUMS &#8211;><br />
+
<link rel="alternate" type="application/rss+xml" title="{L_RSS_FEEDS} - {L_ALL_FORUMS}" href="{U_RSS}?mode=forums" />
+&lt;!&#8211; ENDIF &#8211;><br />
+&lt;!&#8211; IF S_ENABLE_FEEDS_THREADS &#8211;><br />
+
<link rel="alternate" type="application/rss+xml" title="{L_RSS_FEEDS} - {L_ALL_TOPICS}" href="{U_RSS}?mode=topics" />
+&lt;!&#8211; ENDIF &#8211;><br />
+&lt;!&#8211; IF S_ENABLE_FEEDS_POSTS &#8211;><br />
+
<link rel="alternate" type="application/rss+xml" title="{L_RSS_FEEDS} - {L_ALL_POSTS}" href="{U_RSS}?mode=posts" />
+&lt;!&#8211; ENDIF &#8211;><br />
+&lt;!&#8211; IF S_ENABLE_FEEDS_EGOSEARCH &#038;&#038; S_USER_LOGGED_IN &#8211;><br />
+
<link rel="alternate" type="application/rss+xml" title="{L_RSS_FEEDS} - {L_YOUR_POSTS}" href="{U_RSS}?mode=egosearch" />
+&lt;!&#8211; ENDIF &#8211;><br />
+&lt;!&#8211; IF S_ENABLE_FEEDS_FORUM &#038;&#038; S_FORUM_ID &#8211;><br />
+
<link rel="alternate" type="application/rss+xml" title="{L_RSS_FEEDS} - {L_FORUM} {FORUM_NAME}" href="{U_RSS}?f={S_FORUM_ID}" />
+&lt;!&#8211; ENDIF &#8211;><br />
+&lt;!&#8211; IF S_ENABLE_FEEDS_THREAD &#038;&#038; S_TOPIC_ID &#8211;><br />
+
<link rel="alternate" type="application/rss+xml" title="{L_RSS_FEEDS} - {L_TOPIC} {TOPIC_TITLE}" href="{U_RSS}?f={S_FORUM_ID}&amp;t={S_TOPIC_ID}" />
+&lt;!&#8211; ENDIF &#8211;><br />
+&lt;!&#8211; ENDIF &#8211;><br />
+<br />
+&lt;!&#8211; // MOD : MSSTI RSS Feeds (V1.0.4) &#8211; End &#8211;><br />
@@ -173 +198 @@<br />
-  &lt;!&#8211; ENDIF &#8211;><br />
\ No newline at end of file<br />
+  &lt;!&#8211; ENDIF &#8211;>
</p></blockquote>
<p>※WP は blockquote しても HTML タグがコメントだとエンコードされないんですねぇ。</p>
<p>・DIY Instructions<br />
　使い方が簡単に書いてあります。<br />
　まずは管理ページにログインします。<br />
　ログインしたらキャッシュはクリアした方が良いでしょう。<br />
　MOD 追加後はキャッシュされる実行結果中に編集したファイルのルーチンが入っていると反映状況が分からなくなるので、一度「キャッシュの消去」の実行ボタンを押してキャッシュをクリアします。<br />
　これはトップページにある中段のボタンが並んでいる一番下のボタンを指します。<br />
　あまりに快適に日本語が動作するので冒頭の指針は忘れてデフォ（英語）での説明は端折ります。</p>
<p>　項目通りにクリックして進みます。<br />
　「System」<br />
　「Module management」「Administration Control Panel」<br />
　「System」<br />
　「General tasks」<br />
　「ドロップダウンで RSS 選択」 「add module」「yes」<br />
　※「項目の編集」 モジュールを有効にする: 「はい」<br />
　「System」<br />
　General tasks 項の「RSS」<br />
　お好みで設定しましょう。</p>
<p>という事でした。<br />
殆どが Install_RSSFeed20_v103.xml でしたね。<br />
こんな感じで他の MODs も追加していくといいのではないでしょうか。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mirage-oc.com/?feed=rss2&amp;p=226</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/?p=226" />
	</item>
		<item>
		<title>久しぶりにphpBB</title>
		<link>http://www.mirage-oc.com/?p=210</link>
		<comments>http://www.mirage-oc.com/?p=210#comments</comments>
		<pubDate>Mon, 16 Feb 2009 16:12:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[phpBB]]></category>

		<guid isPermaLink="false">http://www.mirage-oc.com/?p=210</guid>
		<description><![CDATA[仕事の関係で phpBB を使う事になりました。
進捗管理と不具合集積に使用しようと気楽に「入れてみ？」と薦めたものの、バージョンは 3 に上がっているわ MOD 増えまくっているわ日本語ページがなくなっているわで、なん [...]]]></description>
			<content:encoded><![CDATA[<p>仕事の関係で phpBB を使う事になりました。<br />
進捗管理と不具合集積に使用しようと気楽に「入れてみ？」と薦めたものの、バージョンは 3 に上がっているわ MOD 増えまくっているわ日本語ページがなくなっているわで、なんだか小躍りしそうな感じです。<br />
懸案持ち帰りで自宅鯖にインストールする事にしました。</p>
<p>では以下手順。<br />
・DB 用意<br />
・ダウンロード<br />
・設置<br />
・インストール<br />
・MODs 適用</p>
<p>大雑把にこんなものだったと思います。<br />
FTP があれば DB を使用できるプロバイダなんかで利用できるので、ブログがカテゴリとモデレーターで管理できる SPB のような CMS を使いこなすのが面倒でスレッド形式になれている、という使用者は多いのではないでしょうか。</p>
<p>・DB 用意<br />
　テストですし phpbb などの適当な名前の DB を作成しましょう。<br />
　鯖管理可能なプロバイダや自宅鯖の場合は phpMyAdmin などが用意されているかと思います。<br />
　コンソールも良いですが、担当者が変わっても手早く、入力ミスなく実行できる環境があると良いですね。<br />
　.sh で十分ですけど。</p>
<p>・ダウンロード<br />
　<a href="http://www.phpbb.com/" target="_blank">phpBB • Creating Communities Worldwide</a><br />
　こちらからダウンロードしてきます。<br />
　シェルに入れる方は wget などで取得すると良いでしょう。<br />
　ファイルわ作るが面倒なので標準入力からコピペで照合します。</p>
<blockquote><p>
# wget http://d10xg45o6p6dbl.cloudfront.net/projects/p/phpbb/phpBB-3.0.4.tar.bz2<br />
# echo &#8216;ef343e72f534d30d594b55cfd42e4c3a *phpBB-3.0.4.tar.bz2&#8242; | md5sum -c<br />
phpBB-3.0.4.tar.bz2: OK
</p></blockquote>
<p>・設置<br />
　展開して予定の場所に設置します。<br />
　今回重視する MODs の取り扱いですが、本来なら先に <a href="http://www.phpbb.com/support/documents.php?mode=install&#038;version=3" target="_blank">Installation Guide</a> あたりを読むべきです。<br />
　今日は寒くて体中が震えているので省略します。<br />
　たまには後付け試行錯誤も良いでしょうか。</p>
<blockquote><p>
　# tar xjvf phpBB-3.0.4.tar.bz2<br />
　# mv phpBB3 /usr/share/<br />
　# ln -s /usr/share/phpBB3 /var/www/BB<br />
　# vi /etc/apache2/apache2.conf<br />
　# /etc/init.d/apache2 restart
</p></blockquote>
<p>・インストール<br />
　http://www.mirage-oc.com/BB/install/ へアクセスします。<br />
　INSTALL タブへ移動します。<br />
　「Proceed to next step」ボタンを押します。</p>
<p>　Yes, Available, Found, Writable なんかが出ているのを確認して「Start install」<br />
　MySQL なので準備した DB への接続情報を入力。</p>
<blockquote><p>
Database type: MySQL<br />
Database server hostname or DSN: localhost<br />
Database server port:<br />
Database name: phpbb<br />
Database username: *****<br />
Database password: *****<br />
Prefix for tables in database: phpbb_
</p></blockquote>
<p>　「Proceed to next step」ボタンを押します。</p>
<p>　Successful connection が出たら成功っぽいので「Proceed to next step」ボタンを押します。</p>
<blockquote><p>
Default board language: British English<br />
Administrator username: *****<br />
Administrator password: *****<br />
Confirm administrator password: *****<br />
Contact e-mail address: *****<br />
Confirm contact e-mail: *****
</p></blockquote>
<p>　「Proceed to next step」ボタンを押します。</p>
<p>　Tests passed が出たら成功っぽいので「Proceed to next step」ボタンを押します。</p>
<p>　警告ではなさそうなメッセージがでるので「Proceed to next step」ボタンを押します。</p>
<p>　Advanced settings をこなして「Proceed to next step」ボタンを押します。<br />
　見た感じ設定は必要ないかもね。<br />
　メール通知を受けたくて副鯖がある方は設定をします。</p>
<p>　データベースを作るそうなので「Proceed to next step」ボタンを押します。</p>
<p>　Congratulations! です。<br />
　問題なくこれが出ると幸せですね。<br />
　すぐに「Login」を押すと、早速警告メッセージが出ます。<br />
　FTP なり Shell で install ディレクトリを削除などしておきます。<br />
　リロードすると警告が消えます。<br />
　これで準備万端です。</p>
<p>まだ体がガタガタしているので、日本語ファイルの適用・MODs 管理適用・MODs適用などは次回に。</p>
<p>&#8211;PostScript<br />
トラックバック気付くの遅くてごめんなさいです。<br />
こんなページでも参考にしていただけて幸いです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mirage-oc.com/?feed=rss2&amp;p=210</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/?p=210" />
	</item>
		<item>
		<title>課題</title>
		<link>http://www.mirage-oc.com/?p=161</link>
		<comments>http://www.mirage-oc.com/?p=161#comments</comments>
		<pubDate>Wed, 03 Dec 2008 11:41:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[運営]]></category>

		<guid isPermaLink="false">http://www.mirage-oc.com/?p=161</guid>
		<description><![CDATA[さっそく運用してみようとした矢先、きわめて重要な問題と遭遇しました。
画像がアップロードできない。
情報のみ上がるのですが、肝心の画像リソースがアップされておりません。
バーチャルホストによるものなのか、もともとそういう [...]]]></description>
			<content:encoded><![CDATA[<p>さっそく運用してみようとした矢先、きわめて重要な問題と遭遇しました。</p>
<p>画像がアップロードできない。</p>
<p>情報のみ上がるのですが、肝心の画像リソースがアップされておりません。<br />
バーチャルホストによるものなのか、もともとそういうものなのか解りませんが解消を余儀なくされます。</p>
<p>同様に問題点も浮上。<br />
同一ディレクトリに保存したのでは、別のブログからも画像リストが参照できてしまうのではないか。<br />
そう、多数のユーザーを持つ場合はこの点はかなり重要です。<br />
個人で複数と考えていても、サムネ検索に時間が掛かりそうですし切り分けたいですね。</p>
<p>前回はプラグインのつもりでしたがどちらかと言うと拡張ＭＯＤでした。<br />
今度こそプラグインを探す旅に出る必要があるかもしれません。<br />
探す旅といえば、テーマも欲しいところですね。</p>
<p>と、思ったらあっさり解決。<br />
画像アップロード先を「その他の設定」に発見し、よく見てみると、、、テストドメインでセットアップしたのでそのままになっている。<br />
これではダメでしょう。<br />
と、修正したところ無事アップロードできるようになりました。</p>
<p>今回はバーチャルホストなので uploads にテーブルプレフィックスで使用した識別子を使用しました。<br />
移行時は images/ 文字列を wp-content/uploads/PREFIX/2008/11/ に置き換えて画像をごっそり入れてしまえば完了です。<br />
これはテキストエディタで十分かな。</p>
<p>と、また懸念。<br />
SPB 独自のタグである [] を処理してなかった。<br />
エクスポートに微調整が必要だ。<br />
ついでにエスケープされている &lt; &gt; もだ。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mirage-oc.com/?feed=rss2&amp;p=161</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/?p=161" />
	</item>
		<item>
		<title>WordPress で複数ブログをがんばる２</title>
		<link>http://www.mirage-oc.com/?p=147</link>
		<comments>http://www.mirage-oc.com/?p=147#comments</comments>
		<pubDate>Wed, 03 Dec 2008 10:37:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.mirage-oc.com/?p=147</guid>
		<description><![CDATA[バーチャルホストの実現に、情報が充実していて読んだ感じ良さそうな Virtual Multiblog を使用することにします。
MU が日本語版に障害を・・・というような内容を見たからです。
では以下インストール手順と留 [...]]]></description>
			<content:encoded><![CDATA[<p>バーチャルホストの実現に、情報が充実していて読んだ感じ良さそうな Virtual Multiblog を使用することにします。<br />
MU が日本語版に障害を・・・というような内容を見たからです。</p>
<p>では以下インストール手順と留意点を記述します。<br />
現在のバージョンは 2.6.5 です。</p>
<ol>
<li>DL したアーカイブを展開して multiblog/ を wp-content/ へ配置する。</li>
<li>wp-content/multiblog/ から wp-config.php wp-config-vmb.php をルートへコピーする。*1</li>
<li>wp-content/multiblog/config/ の mb-autoconfig-sample.php を mb-autoconfig.php へコピーする。</li>
<li>mb-autoconfig.php へデータベース情報を指定する。*2</li>
<li>wp-content/multiblog/config/ の mb-users-sample.php を mb-users.php へコピーする。</li>
<li>mb-users.php をエディタで編集する。*3</li>
<li>wp-content/multiblog/config/ の mb-config-sample.php を ブログごとにコピーする。*4</li>
<li>mb-config-VUSER.php を設定する。*5</li>
</ol>
<p>*1 移動ではなくコピーするのは原本保持と Diff の為。</p>
<p>*2 $vmb_const 配列の DB_NAME DB_USER 等です。デフォルトの wp-config.php の記述と考えてください。</p>
<p>*3 $vusers[] = &#8216;www.example.com&#8217;; のように配列へキー不要で列挙していきます。www.example.com/foo というようなディレクトリ指定も可能です。</p>
<p>*4 複数の設定ファイルを作成することになります。夫々のドメインに対して名前付けルールがあり *3 で www.example.com/foo と指定されているものは mb-config-example_com_foo.php となります。全ての非英数字がアンダースコアになることと www は取り除かれるという事に注意してください。また $mydomain を指定する事でサブドメインの接頭辞以降を省略できます (未検証) 。</p>
<p>*5 $table_prefix は自動設定 (未検証) されるそうですが、テーブルを移設 (インポート) した場合は任意に設定すべきでしょう。また、固有設定は mb-autoconfig-sample.php をオーバーライドします。</p>
<p>特定のディレクトリ URL をマルチブログとして利用する場合はシンボリックリンクを張ることで解決できそうです。</p>
<p>例:</p>
<p>2 つのドメイン www.example.com web.example.com を使用する場合は夫々のバーチャルホストのホームディレクトリを WordPress のルート (/var/www/localhost/htdocs/) に設定するだけです。</p>
<p>ドメイン www.example.com とディレクトリ www.example.com/foo/ を使用する場合はホームディレクトリを WordPress のルート (/var/www/localhost/htdocs/) へ設定し foo という名のシンボリックリンクを WordPress のルートへ (/var/www/localhost/htdocs/foo -&gt; /var/www/localhost/htdocs) 張れば良いそうです。</p>
<p>作業ログ:</p>
<blockquote><p># cd /usr/local/src/<br />
# wget http://striderweb.com/wp-content/docs/nerd/downloads/multiblog.zip<br />
# unzip multiblog.zip<br />
# mv multiblog /var/www/localhost/htdocs/wp-content/</p></blockquote>
<p>ここでコピー前に既存の設定を書き出しておきます。</p>
<blockquote><p>define(&#8216;DB_NAME&#8217;, &#8216;putyourdbnamehere&#8217;);<br />
define(&#8216;DB_USER&#8217;, &#8216;usernamehere&#8217;);<br />
define(&#8216;DB_PASSWORD&#8217;, &#8216;yourpasswordhere&#8217;);<br />
define(&#8216;DB_HOST&#8217;, &#8216;localhost&#8217;);<br />
define(&#8216;DB_CHARSET&#8217;, &#8216;utf8&#8242;);<br />
define(&#8216;DB_COLLATE&#8217;, &#8221;);<br />
define(&#8216;AUTH_KEY&#8217;, &#8216;put your unique phrase here&#8217;);<br />
define(&#8216;SECURE_AUTH_KEY&#8217;, &#8216;put your unique phrase here&#8217;);<br />
define(&#8216;LOGGED_IN_KEY&#8217;, &#8216;put your unique phrase here&#8217;);<br />
$table_prefix  = &#8216;wp_&#8217;;<br />
define (&#8216;WPLANG&#8217;, &#8216;ja&#8217;);<br />
if ( !defined(&#8216;ABSPATH&#8217;) )<br />
define(&#8216;ABSPATH&#8217;, dirname(__FILE__) . &#8216;/&#8217;);<br />
require_once(ABSPATH . &#8216;wp-settings.php&#8217;);</p></blockquote>
<p>この内容は置き換える設定ファイルには記述されておらず mb-autoconfig.php や mb-config-VUSER.php で設定しています。<br />
手順としては mb-autoconfig-sample.php を複製・基本設定 mb-config-sample.php を複製・テーブル設定とするのが妥当なようです。</p>
<blockquote><p># cd /var/www/localhost/htdocs/wp-content/multiblog/<br />
# cp config/mb-autoconfig-sample.php config/mb-autoconfig.php<br />
# vi config/mb-autoconfig.php<br />
# diff -U0 config/mb-autoconfig-sample.php config/mb-autoconfig.php<br />
&#8212; mb-autoconfig-sample.php    2008-10-28 21:05:08.000000000 +0900<br />
+++ mb-autoconfig.php   2008-12-03 18:57:35.000000000 +0900<br />
@@ -5,3 +5,3 @@<br />
-$vmb_const['DB_NAME'] = &#8216;putyourdbnamehere&#8217;;    // The name of the database<br />
-$vmb_const['DB_USER'] = &#8216;usernamehere&#8217;;     // Your MySQL username<br />
-$vmb_const['DB_PASSWORD'] = &#8216;yourpasswordhere&#8217;; // &#8230;and password<br />
+$vmb_const['DB_NAME'] = &#8216;**********&#8217;;    // The name of the database<br />
+$vmb_const['DB_USER'] = &#8216;**********&#8217;;     // Your MySQL username<br />
+$vmb_const['DB_PASSWORD'] = &#8216;**********&#8217;; // &#8230;and password<br />
@@ -16,3 +16,3 @@<br />
-$vmb_const['AUTH_KEY'] = &#8216;put your unique phrase here&#8217;;<br />
-$vmb_const['SECURE_AUTH_KEY'] = &#8216;put your unique phrase here&#8217;;<br />
-$vmb_const['LOGGED_IN_KEY'] = &#8216;put your unique phrase here&#8217;;<br />
+$vmb_const['AUTH_KEY'] = &#8216;**********&#8217;;<br />
+$vmb_const['SECURE_AUTH_KEY'] = &#8216;**********&#8217;;<br />
+$vmb_const['LOGGED_IN_KEY'] = &#8216;**********&#8217;;<br />
@@ -24 +24 @@<br />
-$vmb_const['WPLANG'] = &#8221;;<br />
+$vmb_const['WPLANG'] = &#8216;ja&#8217;;<br />
@@ -37 +37 @@<br />
-?&gt;<br />
\ No newline at end of file<br />
+?&gt;<br />
# cp *.php ../../<br />
# cp config/mb-users-sample.php config/mb-users.php<br />
# vi config/mb-users.php<br />
# cp config/mb-config-sample.php config/mb-config-mirage_oc_com.php<br />
# cp config/mb-config-sample.php config/mb-config-******_mirage_oc_net.php<br />
# vi config/mb-config-mirage_oc_com.php<br />
# vi config/mb-config-******_mirage_oc_net.php</p></blockquote>
<p>できた。<br />
設定中はサイトにアクセスできなくなるのでサクッと設定完了して再びアクセス。<br />
現状のサイトは問題なく表示できた。<br />
ではバーチャルホストを設定しよう。<br />
うむ、完璧だ。</p>
<p>後は移行する SPB のイメージリンク images/&#8230;&#8230;&#8230; を wp-content/uploads/2008/12/&#8230;&#8230;.. とかにすればいいのかな。</p>
<p>今回使用した Virtual Multiblog は本家にとても親切な readme が置かれています。</p>
<p>http://striderweb.com/wp-content/multiblog/multiblog-readme.htm</p>
<p>こちらで紹介しているのは酔っ払った薬屋の口上のようなもので、全てのロジックを説明・解析しているわけでなく readme を元に「これを使ったらこうなるんだ」という感じです。</p>
<p>お役に立てば幸いです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mirage-oc.com/?feed=rss2&amp;p=147</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/?p=147" />
	</item>
		<item>
		<title>WordPress で複数ブログをがんばる</title>
		<link>http://www.mirage-oc.com/?p=145</link>
		<comments>http://www.mirage-oc.com/?p=145#comments</comments>
		<pubDate>Wed, 03 Dec 2008 07:54:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.mirage-oc.com/?p=145</guid>
		<description><![CDATA[複数ブログをなんとか実現したくて深夜うろうろしていると参考になる場所を発見。
みるくのブログ さんだったかな？
ＵＲＬを健忘したが、内容は覚えているので適当に書いて以下 DIFF.
&#62; /************* [...]]]></description>
			<content:encoded><![CDATA[<p>複数ブログをなんとか実現したくて深夜うろうろしていると参考になる場所を発見。<br />
みるくのブログ さんだったかな？</p>
<p>ＵＲＬを健忘したが、内容は覚えているので適当に書いて以下 DIFF.</p>
<blockquote><p>&gt; /*******************************************************************<br />
&gt;  * テーブルを連想配列に保持しリクエストしたドメインＵＲＩにより分岐。<br />
&gt;  * ヴァーチャルホスト運用時に追加を忘れずに。<br />
&gt;  * 冗長な変数名はコンフリクトを避けるためです。<br />
&gt;  * ディレクトリ毎の変更は考慮してません。<br />
&gt;  * デフォルト値: $table_prefix<br />
&gt;  *******************************************************************/<br />
&gt; $table_prefix_arrays = array(<br />
&gt;       &#8216;******.mirage-oc.net&#8217; =&gt; &#8216;******_&#8217;<br />
&gt; );<br />
&gt; if ($table_prefix_arrays) {<br />
&gt;   $mirage_oc_prefix = $_SERVER['SERVER_NAME'];<br />
&gt;   foreach($table_prefix_arrays as $mirage_oc_key =&gt; $mirage_oc_value) {<br />
&gt;     if (strpos($mirage_oc_prefix, $mirage_oc_key) === true) {<br />
&gt;       $table_prefix = $mirage_oc_value;<br />
&gt;     }<br />
&gt;   }<br />
&gt; }<br />
&gt;</p></blockquote>
<p>っと、使用させていただいたのは長期放棄されているドメイン。</p>
<p>書いて再起動してから気付いたんだが、シンボリックリンクがどうとか。<br />
そうです、これは下層ディレクトリとしてメインブログにシンボリックリンクを張った場合に挙動を制御するものでヴァーチャルホスト向けの設定ではない。<br />
そもそもホスト情報は違うテーブルに入っているはずなのだ。<br />
となると、この手法は使えないことになる。</p>
<p>仕方ないのでヴァーチャルホスト用のプラグインを素直に使うことにする。<br />
次回をお楽しみに。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mirage-oc.com/?feed=rss2&amp;p=145</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/?p=145" />
	</item>
		<item>
		<title>移行一段階完了</title>
		<link>http://www.mirage-oc.com/?p=143</link>
		<comments>http://www.mirage-oc.com/?p=143#comments</comments>
		<pubDate>Tue, 02 Dec 2008 18:22:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[運営]]></category>

		<guid isPermaLink="false">http://www.mirage-oc.com/?p=143</guid>
		<description><![CDATA[まず最初に mirage-oc.com のコンテンツをエクスポート／インポートしました。
問題なく動作しているようなので WordPress に移行しました。
今後他のブログを移設する必要が発生します。
この時に気を付け [...]]]></description>
			<content:encoded><![CDATA[<p>まず最初に mirage-oc.com のコンテンツをエクスポート／インポートしました。</p>
<p>問題なく動作しているようなので WordPress に移行しました。</p>
<p>今後他のブログを移設する必要が発生します。</p>
<p>この時に気を付けなくてはいけない事として、ドメイン名での切り替えが出来ること、画像をごっそり移動すること、動画も移動すること、などがあります。</p>
<p>今後の作業を以下に記します。</p>
<ul>
<li>MySQLデータベースフロントエンド実装</li>
<li>マルチホスト用プラグイン適用</li>
<li>マルチホスト用テーブル作成</li>
<li>マルチホスト用設定</li>
</ul>
<p>ここまで。</p>
<p>丁度余り使用されていないドメインがあるのでそれをサクらせて頂きます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mirage-oc.com/?feed=rss2&amp;p=143</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/?p=143" />
	</item>
		<item>
		<title>管理機能『管理』</title>
		<link>http://www.mirage-oc.com/?p=9</link>
		<comments>http://www.mirage-oc.com/?p=9#comments</comments>
		<pubDate>Mon, 01 Dec 2008 11:42:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://toshino.mirage-oc.net/wordpress/?p=9</guid>
		<description><![CDATA[サブメニューがたくさんあります。
「投稿」「ページ」「リンク」「カテゴリー」「タグ」「リンクカテゴリー」「メディアライブラリー」「インポート」「エクスポート」です。
「投稿」「ページ」「リンク」は『作成』で起稿した記事、 [...]]]></description>
			<content:encoded><![CDATA[<p>サブメニューがたくさんあります。<br />
「投稿」「ページ」「リンク」「カテゴリー」「タグ」「リンクカテゴリー」「メディアライブラリー」「インポート」「エクスポート」です。</p>
<p>「投稿」「ページ」「リンク」は『作成』で起稿した記事、リンクの属性を修正することができます。</p>
<p>「カテゴリー」では、ブログ記事の所属するカテゴリーを作成・削除できます。<br />
新しいカテゴリーを作成・削除は当然ながら、タグへの変換も出来るようです。</p>
<p>「タグ」ではカテゴリー同様にタグの作成・削除ができます。<br />
そもそもタグとは関連ページやキーワードとして利用されるカテゴリーとよく似たもの。<br />
複数カテゴリーに該当する記事を書いてしまった、という場合などにカテゴリーをタグに移行してやると良いだろう。</p>
<p>「リンクカテゴリー」では、「リンク」専用のカテゴリーが作成・削除できます。</p>
<p>「メディアライブラリー」アップロードした画像や動画を一覧・削除できます。</p>
<p>「インポート」では多くのブログシステムの記事がインポートできるようです。</p>
<p>「エクスポート」では WrodPress の記事をエクスポートすることができます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mirage-oc.com/?feed=rss2&amp;p=9</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.mirage-oc.com/?p=9" />
	</item>
	</channel>
</rss>
