Mirage-OC Commercial

2008/12/03

課題

カテゴリー: 運営 — admin @ 20:41

さっそく運用してみようとした矢先、きわめて重要な問題と遭遇しました。

画像がアップロードできない。

情報のみ上がるのですが、肝心の画像リソースがアップされておりません。
バーチャルホストによるものなのか、もともとそういうものなのか解りませんが解消を余儀なくされます。

同様に問題点も浮上。
同一ディレクトリに保存したのでは、別のブログからも画像リストが参照できてしまうのではないか。
そう、多数のユーザーを持つ場合はこの点はかなり重要です。
個人で複数と考えていても、サムネ検索に時間が掛かりそうですし切り分けたいですね。

前回はプラグインのつもりでしたがどちらかと言うと拡張MODでした。
今度こそプラグインを探す旅に出る必要があるかもしれません。
探す旅といえば、テーマも欲しいところですね。

と、思ったらあっさり解決。
画像アップロード先を「その他の設定」に発見し、よく見てみると、、、テストドメインでセットアップしたのでそのままになっている。
これではダメでしょう。
と、修正したところ無事アップロードできるようになりました。

今回はバーチャルホストなので uploads にテーブルプレフィックスで使用した識別子を使用しました。
移行時は images/ 文字列を wp-content/uploads/PREFIX/2008/11/ に置き換えて画像をごっそり入れてしまえば完了です。
これはテキストエディタで十分かな。

と、また懸念。
SPB 独自のタグである [] を処理してなかった。
エクスポートに微調整が必要だ。
ついでにエスケープされている < > もだ。

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 を元に「これを使ったらこうなるんだ」という感じです。

お役に立てば幸いです。

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

カテゴリー: WordPress — admin @ 16:54

複数ブログをなんとか実現したくて深夜うろうろしていると参考になる場所を発見。
みるくのブログ さんだったかな?

URLを健忘したが、内容は覚えているので適当に書いて以下 DIFF.

> /*******************************************************************
>  * テーブルを連想配列に保持しリクエストしたドメインURIにより分岐。
>  * ヴァーチャルホスト運用時に追加を忘れずに。
>  * 冗長な変数名はコンフリクトを避けるためです。
>  * ディレクトリ毎の変更は考慮してません。
>  * デフォルト値: $table_prefix
>  *******************************************************************/
> $table_prefix_arrays = array(
>       ‘******.mirage-oc.net’ => ‘******_’
> );
> if ($table_prefix_arrays) {
>   $mirage_oc_prefix = $_SERVER['SERVER_NAME'];
>   foreach($table_prefix_arrays as $mirage_oc_key => $mirage_oc_value) {
>     if (strpos($mirage_oc_prefix, $mirage_oc_key) === true) {
>       $table_prefix = $mirage_oc_value;
>     }
>   }
> }
>

っと、使用させていただいたのは長期放棄されているドメイン。

書いて再起動してから気付いたんだが、シンボリックリンクがどうとか。
そうです、これは下層ディレクトリとしてメインブログにシンボリックリンクを張った場合に挙動を制御するものでヴァーチャルホスト向けの設定ではない。
そもそもホスト情報は違うテーブルに入っているはずなのだ。
となると、この手法は使えないことになる。

仕方ないのでヴァーチャルホスト用のプラグインを素直に使うことにする。
次回をお楽しみに。

移行一段階完了

カテゴリー: 運営 — admin @ 03:22

まず最初に mirage-oc.com のコンテンツをエクスポート/インポートしました。

問題なく動作しているようなので WordPress に移行しました。

今後他のブログを移設する必要が発生します。

この時に気を付けなくてはいけない事として、ドメイン名での切り替えが出来ること、画像をごっそり移動すること、動画も移動すること、などがあります。

今後の作業を以下に記します。

  • MySQLデータベースフロントエンド実装
  • マルチホスト用プラグイン適用
  • マルチホスト用テーブル作成
  • マルチホスト用設定

ここまで。

丁度余り使用されていないドメインがあるのでそれをサクらせて頂きます。

2008/12/01

管理機能『管理』

カテゴリー: WordPress — admin @ 20:42

サブメニューがたくさんあります。
「投稿」「ページ」「リンク」「カテゴリー」「タグ」「リンクカテゴリー」「メディアライブラリー」「インポート」「エクスポート」です。

「投稿」「ページ」「リンク」は『作成』で起稿した記事、リンクの属性を修正することができます。

「カテゴリー」では、ブログ記事の所属するカテゴリーを作成・削除できます。
新しいカテゴリーを作成・削除は当然ながら、タグへの変換も出来るようです。

「タグ」ではカテゴリー同様にタグの作成・削除ができます。
そもそもタグとは関連ページやキーワードとして利用されるカテゴリーとよく似たもの。
複数カテゴリーに該当する記事を書いてしまった、という場合などにカテゴリーをタグに移行してやると良いだろう。

「リンクカテゴリー」では、「リンク」専用のカテゴリーが作成・削除できます。

「メディアライブラリー」アップロードした画像や動画を一覧・削除できます。

「インポート」では多くのブログシステムの記事がインポートできるようです。

「エクスポート」では WrodPress の記事をエクスポートすることができます。

管理機能『作成』

カテゴリー: WordPress — admin @ 20:42

前回詳しく説明し損ねた部分で、管理ページの『作成』『管理』『デザイン』『コメント』という部分です。
便宜上メインメニューと呼んでおきます。
(正式な名称がある場合ツッコンでください

まず作成ですが、クリックするとサブメニューの「投稿」が選択された状態で記事を書けそうな状態になると思います。
これはブログのように記事を書いていくのに使用します。

「ページ」では時系列の投稿とは違い、コンテンツやテーマ重視の記事になります。

「リンク」ではブログを開いた時に「ブログロール」として表示されるリンクを作成できます。
お気に入りのようなものです。

ダッシュボード

カテゴリー: WordPress — admin @ 20:41

wordpress には『作成』『管理』『デザイン』『コメント』というページが用意されている。
だがその前に、ログイン直後は『ダッシュボード』というページが表示されるのではないだろうか。
ダッシュボードでは多くの情報を得ることが出来る。

まず、上部に「現在の状況」という項目が出ているはずだ。
ここには、ブログやページ、カテゴリとタグ、コメントの状態が確認できます。
続いて直ぐ下に、テーマとウィジェット、バージョン情報が記載されています。

中段にはトピックスのような項目が置いてあります。
「最近のコメント」「リファラー」「開発ブログ」「プラグイン」と、本来気にしないといけないもののついつい見落としがちな情報を得る事が出来ます。

下段にはフォーラムで盛んにやり取りされている情報がパネル情に並んでいます。
トラブルが無くても、定期的に見ることで WordPress の成長が確認できるというところでしょうか。

Powered by WordPress