西川和久の不定期コラム

Blogサーバーの引越し(中?)



Blogサーバーの引越し(中?)

 巷でBlogが流行している。面白そうだったので、筆者もlivedoor Blogにアカウントを作り、2004年の11月頃から運営していたが「やっぱりサーバーは自前でしょ!」と思い、Blogエンジンを物色していた。そんなとき知人数人から「手元のPCや事務所内だけでBlogを動かしたいけど、Blog以外にもサーバーの設定とかが解らない。何か一発で動くのは無いの?」と聞かれ、丁度時期も同じだったので手頃なパターンを調べてみた。

 但し、セキュリティに関してはここで触れない。もし今回の方法でBlogサーバーを外に出すのであれば、簡単に動いた分、いろいろ調べて欲しい。

Text by Kazuhisa Nishikawa


●個人用CMS = Blog?

 '96年頃、個人でホームページを作ろう! と流行した時期があった。それまではHTMLをエディタなどで書くしか手段がなく、一般的に手を出すのは非常に難しい状態だったのだ。しかし、HOTALL、ホームページ・ビルダー、Front Pageなど、WYSIWYG(既に死語?)で編集できるツールが登場し、個人のホームページが次々と立ち上がった。今のBlogブームはその時と非常に良く似ている。HTML専用エディタがBlogというCMS(Content Management System)に置き換わり、簡単に、そして高度な管理をしなくても情報発信が可能になったのだ。一番簡単なのは、各プロバイダのBlogサービスを利用することだ。これなら難しいことを考える必要も無く、すぐに始めることができる。しかし、それでは面白くないので、自分でサーバーを持ちたいと言う話になったのだ。

 さて、一発で簡単に動かすと言っても、BlogサーバーもWebサーバーなので動作条件を整理すると
  1. 対象を考えると動作環境はWindows XP
  2. httpdが簡単に設定できる
  3. フリーメールが各種あるのでpop/smtpは不要
  4. blogエンジンがperlやphpを要求する可能性もある
 といった感じだろうか。そんなお手軽なCMSがあるのか? といろいろ探したところ、とりあえず2パターンを発見した。

●パターン1 『Zope日本語版 PR2』

 Zopeはもともと英語版で、Pythonという言語を使うCMSだ。現在、日本語版はまだPR2であるものの、完成度は高くキラーアプリケーションとしてCOREBlogが含まれている。最大の特徴はhttpdとftpdも自前で持っていることだろう。これでZopeは先に上げた全ての条件を満たすことになる。ただし、必要なファイルを数本ダウンロードする必要があるので、一発起動まではもう一息か。手順は、
  1. Python 日本語環境用インストーラ(Win32)
    Japanese Codecsとpykfは含まれている。EXE形式のセットアップ
  2. Zope-2.7.3-0-win32.exe (9.63 M)
    EXE形式のセットアップ
  3. PlacelessTranslationService 1.0
    Zopeをインストールした後に、\Zope-Instance\Productフォルダにフォルダごとコピーする
  4. Zope日本語版 PR2
    3.と同じ
 となる。この状態でメニューに登録された“Run Zope In Console”をクリックすれば、Zopeが起動する。ただし標準のポート設定が8080なので、http://localhost:8080/でのアクセスとなってしまう。ポート80に設定したい場合は、\Zope-Instance\etc\zope.confにある8080を80へ書き換えればhttp://localhost/でアクセス可能になる。http://localhost/manage/で管理画面へ。インストール時に設定したadminのパスワードでログイン(SuperUser)し、ユーザー管理で自分のIDとPWをManager属性で設定する。ある程度設定が終わった時点で、http://localhost/blog/で実際のBlogが表示される(COREBlog登録時のIDがblogの場合)。

manage画面
管理画面
プログラミング ワークスペース的なルックスだ。昔プログラマだった筆者の感覚にマッチした。いろいろなサンプルオブジェクトがあるので、追加してみるのも面白い
オブジェクトでCOREBlogの追加
オブジェクトでCOREBlogの追加
画面では既に1つ入っているが、新規では設定されていないので、COREBlogオブジェクトを追加する。そのオブジェクトの階層が実際のCOREBlogの管理画面となる
Blogの表示
Blogの表示
このテンプレートは標準のものではない。JuNya氏が配布しているものを使用した。テンプレートは複数登録でき、管理画面から瞬時に切り替えできる

 このZope、筆者的には非常に気に入っていたのだが、間借りしているサーバーへZopeを仕込む訳にも行かず断念した。

●パターン2 『XSAS Plain JP』

 正に一発起動のCMSを発見! このXSAS Plan JPはXOOPS2というCMSに必要な環境をパッケージにして、SETUP.EXEすら動かす必要が無いと言う優れものだ。パッケージの中身はXOOPS2、Apache、MySQL、PHP4、ActivePerl(必要最低限)と、1からセットアップするには大変なものばかり含まれている。更に面白いのは、例えばUSBメモリなどにフォルダごと入れると、どこでも使える環境が出来てしまうのだ。ダウンロードするファイルは1本。
  1. XSAS Plain JP
 たったこれだけ。ZIPファイルを適当な場所で展開すると、XSAS_PlainJPフォルダが出来るので、その中にあるXSAS.EXEを起動すれば準備はOKだ。1つ注意点があるとすれば、XOOPS2のインストール中、データベースの設定で、データベースユーザ名とデータベースパスワード、データベース名を入力する部分は、それぞれroot、空白、xoopsとする。XSAS.EXEが起動している間だけ仮想ドライブが作られ、実際のアクセスはその上で行なわれる。動いているシステムの割にはとてもお手軽と言えよう。

ZIPファイルの中身
ZIPファイルの中身
ZIPを展開するとこれだけのファイルが入ったXSAS_PlainJPフォルダができる。diskw以下がXSAS.EXE起動中に仮想のwディスクとなる。ここまでは誰でもできるだろう
XOOPS2のセットアップ開始
XOOPS2のセットアップ開始
http://localhost/XOOPS2/にアクセスすると自動的にXOOPS2のインストーラが動き出す。手順に従って[NEXT]ボタンを押していくだけでOKだ
XOOPS2とXSAS
XOOPS2とXSAS
実際に動き出したXOOPS2とシステムをコントロールするXSAS.EXEの画面。これだけの環境が一瞬で入るとは驚き! モジュールを登録して行き、好みのサイトへ仕上げていく

 強力なCMSであるXOOPS2が、こんな簡単に動いてしまうのには正直驚いてしまった。環境ごとメディアに入れて運べるので、講習会などにも最適という記事も見かけた。正に今回の解としてはぴったりだ。ただ問題はXOOPS2自体が高度なCMSのため、気楽にBlogを書くまでにそれなりの構築が必要になるだろう。このXSAS_PlainJPを使った教育用(XSAS/XLP)や社内システム用(XSAS with XCP)のサンプルパッケージがあるので、Blog用のパッケージもあれば更に利用者も増えるのではないだろうか。

 以上2つを一発で動作する環境として挙げてみた。 どちらもPCにいろいろインストールする訳では無いので、興味のある人は試して欲しい。さて、ここからはXSAS Plain JPを使い他のBlogエンジンを動かす方法だ。インストールせずにApache、MySQL、PHP4、ActivePerlが動き、しかもリムーバブルメディアを使って持ち運びも可能なのだから、これを利用しない手はない。

●パターン3 『XSAS Plain JP + ppBlog 1.3.7r』

 ppBlogは個人が作っている国産のBlogエンジンだ。必要なものはhttpdとPHP4だけ。つまり、XSAS Plain JPの\wwwの下に入れればすぐに動く環境が出来上がる。追加するのは本体であるppBlog1本だ。手順としては、
  1. ppBlog 1.3.7rをダウンロード
  2. ZIPを展開し適当な名前に変更(ここではppBlog)、w:\www\の下へ入れる
  3. w:\usr\local\bin\Apache2\conf\httpd.confを編集
  4. http://localhost/ppBlog/install.phpを実行
これでOK。httpd.confを編集するのは、標準の状態ではppBlog下のフォルダでスクリプトが動かないからだ。

<Directory "/cgi-bin">
 AllowOverride All
 Options ExecCGI
</Directory>

このような記述があるので、以下を追加。

<Directory "/www/ppBlog">
 AllowOverride All
 Options ExecCGI
</Directory>

次に830行近辺に#AddHandler cgi-script .pl .cgiがあるので、コメント#を外す。各ファイルの属性に関してはWindows XPで使う限り特に設定しなくても動く。

install.phpを実行
install.phpを実行
はじめにIDとPWを設定する。これで準備完了。管理画面から記事を入力し、確認はhttp://localhost/ppBlog/となる
テーマ3pane3段カラム
テーマ3pane3段カラム
標準で3pane、simple、basicとテンプレートがあり、更にカラムを2段、3段とダイナミックに変更できる
ギャラリー機能もある!
ギャラリー機能もある!
ログ解析、モブログ対応、ギャラリー機能など、数多くの機能が標準で備わっている。動きも軽い。

 このppBlogは実際何日間かMac OS Xへ入れ、DDNSを使い運営していた。気に入っていたのだが、環境的な事情で今はクローズしている。近々メジャーアップデートがあるらしいので楽しみだ。

 少し追加はあるものの、この3パターン目までは知人から相談を受けた“一発でBlogを動かす方法”となるだろう。事務所内(もしくは家庭内LAN)だけであれば、localhostの替わりにマシンに割り当てられているIPアドレスを使えばグループウェア的に機能する。筆者の調査不足でまだまだ該当するものがあると思われるが、その時は連絡頂ければ幸いである。

●パターン4 『XSAS Plain JP + ActivePerl 5.6系 + Movable Type 3.121-ja』

 ここからは筆者の宿題だ。livedoor Blogから自前(と言っても間借り)のサーバーへ引越しするのは何がいいか?

 実は大きな問題があり、諸事情でPHP4はNG、Zopeのような新たなシステムを入れることもできない。SQLはMSSQLが導入済み……。従ってperlだけで動くものが必要となる。

 また、せっかくローカルマシンにXSAS Plain JPを入れたので、これをベースに実験したい。しかし、組み込まれているperlのモジュールが少ないので、perl依存度の高いBlogエンジンはそのままでは動かないのだ。この作業をやり出した頃は、1つ1つ不足しているモジュールを調べながら追加していったが、かなりの数になるのでActivePerlごと入れ替える事にした。また、もともとActivePerlは5.8系が組み込まれていたものの、後述するImageMagickがppmで拾えないので、5.6系に変更している。とは言え、手順はそれほど難しくない。
  1. Windows版ActivePerl 5.6.1をダウンロード
    この時、SETUP.EXEを実行するMSIパッケージではなく、ZIP形式のASパッケージを選択する
  2. XSAS.EXEだけを動かしている状態でw:\usr\binとw:\usr\libを削除、適当な場所で展開したZIPファイルにあるinstall.batを実行
 以降は画面キャプチャを参考にして欲しい。

インストール先をw:\usrにする
インストール先をw:\usrにする
標準ではC:\Perlになっているので、w:\userの下に変更する。後は[Enter]キーを押していけばインストールは終了
DB_Fileをインストール
DB_Fileをインストール
後述するMovable Typeで使うモジュールの1つをppmコマンドを使ってネットワークからダウンロード&セットアップする
ImageMagickをインストール
ImageMagickをインストール
同じ方法でImageMagickをインストール。画像のサムネイル作成で必要となるperlモジュールだ

 これでXSAS Plain JPのperl拡張は終了。オリジナルよりトータルのサイズは増えてしまったものの、それでも約60MB。今時のUSBメモリに十分入る容量だ。

 準備が整ったところで、Blogエンジンと言えばやはりMovable Typeが有名。これを動かすのに、先の環境整備を行なったようなものだ。日本語版のMovable Type 3.121-jaをダウンロードし、展開したフォルダをw:\wwwの下にコピー、そのフォルダにあるmt.cfgを手順に従い編集する。MySQLも入っているが、設定が大変なので今回はBerkeley DBを使うことにした。Apacheのhttpd.confの修正も忘れずに。

mt-check.cgiを動かし環境チェック
mt-check.cgiを動かし環境チェック
Crypt::DSAだけ無いが、これは特に問題無い。次にmt-load.cgiを実行しシステムの初期化を行なう
mt.cgiを実行し管理画面を開く
mt.cgiを実行し管理画面を開く
最初の1回目だけは、ID:Melody、PW:Nelsonでログインし、ログイン後自分のIDとPWに設定し直す
実際少しだけ運用していたサイト
実際少しだけ運用していたサイト
評価用として知り合い数人と動かしていた。3段カラム化は、検索すると方法がいろいろ出てくるのでそれを参考に

 流石に老舗だけあって完成度は高い。実際、ご覧のようにしばらくCUGという形で運用していた。しかし、どうも筆者と相性が合わなかったので残念ながら今は使っていない。

●パターン5 『XSAS Plain JP + ActivePerl 5.6系 + sb 1.12R』

 そして最後がsb 1.12Rだ。このBlogエンジンもperlだけで動くので、XSAS Plain JP + perl拡張環境でOK。インストール方法もほとんどMovable Typeと同じ。ダウンロードしたZIPファイルを展開し、w:\www下にフォルダごとコピー、init.cgiを環境に合わせ、admin.cgiを動かせば作業終了。この時、同時にsb_ext.zipもダウンロードし、extフォルダをw:\www\sbへコピーしておく。この中にはsbが使用するperlモジュールが入っているので、もしActivePerl側のライブラリで見つからない場合は、この中を探すようになっている。

sb-check.cgiで環境チェック
sb-check.cgiで環境チェック
perlのモジュールは全てOK。流石にこれだけの数を試しているとあっけなくセットアップは終了する
管理画面に入ったところ
管理画面に入ったところ
この画面は現在実際運営しているサイトのデータが表示されている。わかりやすい画面である
amazonから検索した書籍などを追加
amazonから検索した書籍などを追加
他にアクセス解析、mb.cgiを使ったモブログ対応など、非常に機能が豊富。構成するモジュールも整理されわかりやすい

 最後に試したsbはビンゴ! 早速データの移動を開始した。プラグインやテンプレートも豊富。管理面で欲しい機能としては、コメントとトラックバックの日付修正だ。記事に関しては日付を修正できるが、この2つは管理画面上からできないのだ。livedoor Blog側にエクスポート機能が無く、記事やコメントを1つ1つコピー&ペーストしているので、普段は全く必要としないものの引越し用としては是非欲しい機能である。


●総論

現在引越し中!

現在引越し中!

 他にも検索すると数多くのBlogエンジンが出てくる。しかも和製で個人のものが多い。特に携帯電話対応については、日本が1番進んでいる上、コンテンツでの利用も多く、国産のBlogの方が対応は早い。これはなかなか興味深い傾向と言える。いずれにしてもこのような便利なツールが数多く使えるのは嬉しいことだ。エディタを使ってHTMLを直接書く作業から開放される日も近い。

 左の画面が現在引越し中の筆者のBlogである。調子がいいので、'96年から何ら変わっていない旧式の本家HPはこれに統合しようと考えている。テンプレートはトルキー氏のノート::3カラムを軽く改造させて頂いた。これら全てがフリーで配布されているものであり(営利目的など条件で有料な場合もある)、関係者の方々にこの場を借りてお礼を述べたい。

バックナンバー

(2005年1月27日)

[Text by 西川和久]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp 個別にご回答することはいたしかねます。

Copyright (c)2005 Impress Corporation, an Impress Group company. All rights reserved.