このページの記事一覧

CORESERVERにHyper Estraier導入 - Movable Type改造計画

2008/09/15追記:
色々あってタイトル変えました。以上。

暇だったので、Movable Typeで使用されているmt-search.cgiを捨ててHyper Estraierを検索システムとして導入してみました。

インデックス方式として、N.M-gram法と、形態素解析が用意されていたので、MeCabっていう形態素解析エンジンを利用しました。

ちなみにサーバーは共用サーバーで、CORESERVERです。

インストール方法は、マニュアルを見れば大体分かるんじゃないかなと思うけれど、./configureの時になんか指定しなければいけないのでそれもメモ。

手順は以下の通りに進めていきます。

2008/08/06追記:
CORESERVERにzlibは既に最新バージョンがインストールされていたので 2. の作業は行わなくてもokです。
ちなみに、libiconvもインストールされていましたが、バージョンが古くて使えないので最新のものをインストールしてください。

  1. libiconvのインストール
  2. zlibのインストール
  3. QDBMのインストール
  4. MeCabのインストール(N.M-gram法を使うのであれば不要)
  5. Hyper Estraierのインストール
  6. 文章ドラフトの作成
  7. インデックスの作成
  8. 検索用CGIの設置
  9. その後の管理について

やたら長いので、今回は1~5までにします。

下準備

とりあえず、sshが使える環境じゃないと駄目です。

主なsshクライントとしては「Tera Term Pro with TTSSH」とか、「Poderosa」でしょうか。

まあ、それは当たり前として。

で、インストールしたディレクトリが分かるようにパスを設定ファイルをつくります。

設定ファイルはホームディレクトリに「.bashrc」という名前を付けて以下のような内容で配置してください。


PATH=$PATH:$HOME/bin


下準備はこれまでです。

1.libiconvのインストール

まず、sshでログインします。

下準備で作成した「.bashrc」の内容を読み込みます。

そして、作業用ディレクトリとしてtmpフォルダを作成します。


~> source .bashrc
~> mkdir ~/tmp
~> cd ~/tmp

次に、libiconvのアーカイブをダウンロードしてから解凍します。


~/tmp> wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.12.tar.gz
~/tmp> tar xzvf libiconv-1.12.tar.gz
~/tmp> rm libiconv-1.12.tar.gz
~/tmp> cd libiconv-1.12

このままインストールしようとすると、エラーが出ちゃうのでprefixオプションで自分のところにインストールするように修正してからインストールします。

途中でKilledとか、Errorだとか出てきても、次に進まずに同じような事をします。


~/tmp/libiconv-1.12> ./configure --prefix=$HOME
~/tmp/libiconv-1.12> make
~/tmp/libiconv-1.12> make install

そして、シンボリックリンクを作成します。(この辺不明)


~/tmp/libiconv-1.12> cd /virtual/【アカウント名】/lib
~/lib> ln -s libiconv.so.4 libiconv
~/lib> cd ..

成功したら、libiconvのインストールはおしまい。

2.zlibのインストール

次はzlib。とりあえず、tmpフォルダに戻ります。


~> cd tmp


zlibのアーカイブをダウンロードしてから解凍します。


~/tmp> wget http://www.zlib.net/zlib-1.2.3.tar.gz
~/tmp> tar xzvf zlib-1.2.3.tar.gz
~/tmp> rm zlib-1.2.3.tar.gz
~/tmp> cd zlib-1.2.3

同じくprefixオプションで修正してからインストール。

途中でKilledとか、Errorだとか・・・以下略。


~/tmp/zlib-1.2.3> ./configure --prefix=$HOME
~/tmp/zlib-1.2.3> make
~/tmp/zlib-1.2.3> make install

成功したら、zlibのインストールはおしまい。

3.QDBMのインストール

またtmpフォルダへ戻ってからQDBMをダウンロードして解凍。


~/tmp/zlib-1.2.3> cd ..
~/tmp> wget http://qdbm.sourceforge.net/qdbm-1.8.77.tar.gz
~/tmp> tar xzvf qdbm-1.8.77.tar.gz
~/tmp> rm qdbm-1.8.77.tar.gz
~/tmp> cd qdbm-1.8.77

同じくprefixオプションで修正・・・以下略

途中でKilledとか・・・以下略。

他のとは違って、configureの時に--enable-zlibでzlibを有効化した方が良い。


~/tmp/qdbm-1.8.77> ./configure --prefix=$HOME --enable-zlib
~/tmp/qdbm-1.8.77> make
~/tmp/qdbm-1.8.77> make check
~/tmp/qdbm-1.8.77> make install
~/tmp/qdbm-1.8.77> cd ..

成功したら、QDBMのインストールはおしまい。

4.MeCabのインストール(N.M-gram法を使うのであれば不要。)

tmpフォルダへ戻ってからMeCabと辞書をダウンロードして解凍。

形態素解析エンジンは辞書が無いと動かない。


~/tmp> wget http://downloads.sourceforge.net/mecab/mecab-0.97.tar.gz
~/tmp> tar xzvf mecab-0.97.tar.gz
~/tmp> rm mecab-0.97.tar.gz
~/tmp> wget http://downloads.sourceforge.net/mecab/mecab-ipadic-2.7.0-20070801.tar.gz
~/tmp> tar xzvf mecab-ipadic-2.7.0-20070801.tar.gz
~/tmp> rm mecab-ipadic-2.7.0-20070801.tar.gz

とりあえず本体からインストール。

同じくprefixオプションで修正・・・以下略

途中でKilledとか・・・以下略。


~/tmp> cd mecab-0.97
~/tmp/mecab-0.97> ./configure --prefix=$HOME
~/tmp/mecab-0.97> make
~/tmp/mecab-0.97> make check
~/tmp/mecab-0.97> make install
~/tmp/mecab-0.97> cd ..

次は辞書のインストール。

同じくprefixオプションで修正・・・以下略

途中でKilledとか・・・以下略。

文字コードはUTF-8にしているので--with-charset=utf8を追記。

2008/07/14追記:
↑違うじゃん。すんません。マニュアルにきちんとEUC-JPだよって書いてありました。


~/tmp> cd mecab-ipadic-2.7.0-20070801
~/tmp/mecab-ipadic-2.7.0-20070801> ./configure --prefix=$HOME
~/tmp/mecab-ipadic-2.7.0-20070801> make
~/tmp/mecab-ipadic-2.7.0-20070801> make install
~/tmp/mecab-ipadic-2.7.0-20070801> cd ..

成功したら、MeCabのインストールはおしまい。

5.Hyper Estraierのインストール

ようやくメインのHyper Estraierのインストールです。

Hyper Estraierをダウンロードして解凍。


~/tmp> wget http://hyperestraier.sourceforge.net/hyperestraier-1.4.13.tar.gz
~/tmp> tar xzvf hyperestraier-1.4.13.tar.gz
~/tmp> rm hyperestraier-1.4.13.tar.gz
~/tmp> cd hyperestraier-1.4.13

同じくprefixオプションで修正・・・以下略

途中でKilledとか・・・以下略。

MeCabを使う場合は--enable-mecabを付加します。


~/tmp/hyperestraier-1.4.13> ./configure --prefix=$HOME --enable-mecab
~/tmp/hyperestraier-1.4.13> make
~/tmp/hyperestraier-1.4.13> make check
~/tmp/hyperestraier-1.4.13> make install
~/tmp/hyperestraier-1.4.13> cd ..

成功したら、Hyper Estraierのインストールはおしまい。


続きは次回で。

Movable Type 4.12リリース。

重要 : Movable Type 4 セキュリティアップデートの提供を開始

Movable Type 4.x ユーザーにとって必須のセキュリティアップデートである、Movable Type 4.12 、および Movable Type Enterprise 4.12、Movable Type Community Solution 4.03 をリリースします。


必須のアップデートみたいなので、早速アップデートしました。

一応、どのファイルが修正・追加されたか調べてみました。

ちなみに、MT4.1からのアップデートです。



新規で追加されているファイル:
  • MT-4.12-ja/lib/MT/Util/ReqTimer.pm
修正されているファイル:
  • MT-4.12-ja/mt-check.cgi
  • MT-4.12-ja/extlib/Data/ObjectDriver.pm
  • MT-4.12-ja/extlib/Data/ObjectDriver/ResultSet.pm
  • MT-4.12-ja/extlib/Data/ObjectDriver/BaseObject.pm
  • MT-4.12-ja/extlib/Data/ObjectDriver/Driver/DBD.pm
  • MT-4.12-ja/lib/MT.pm
  • MT-4.12-ja/lib/MT/App.pm
  • MT-4.12-ja/lib/MT/Builder.pm
  • MT-4.12-ja/lib/MT/Core.pm
  • MT-4.12-ja/lib/MT/Entry.pm
  • MT-4.12-ja/lib/MT/Tag.pm
  • MT-4.12-ja/lib/MT/Template.pm
  • MT-4.12-ja/lib/MT/WeblogPublisher.pm
  • MT-4.12-ja/lib/MT/App/Search.pm
  • MT-4.12-ja/mt-static/js/common/Calendar.js
  • MT-4.12-ja/php/mt.php

あと、リビジョンのみが変更されているファイルは次のようになっています。

リビジョンのみ:
  • MT-4.12-ja/mt-comments.cgi
  • MT-4.12-ja/mt-tb.cgi
  • MT-4.12-ja/mt-add-notify.cgi
  • MT-4.12-ja/mt-atom.cgi
  • MT-4.12-ja/mt-feed.cgi
  • MT-4.12-ja/mt-search.cgi
  • MT-4.12-ja/mt-testbg.cgi
  • MT-4.12-ja/mt-upgrade.cgi
  • MT-4.12-ja/mt-wizard.cgi
  • MT-4.12-ja/mt-xmlrpc.cgi
  • MT-4.12-ja/mt.cgi
  • MT-4.12-ja/extlib/XML/Atom.pm
  • MT-4.12-ja/extlib/XML/Atom/Category.pm
  • MT-4.12-ja/extlib/XML/Atom/Client.pm
  • MT-4.12-ja/extlib/XML/Atom/Content.pm
  • MT-4.12-ja/extlib/XML/Atom/Entry.pm
  • MT-4.12-ja/extlib/XML/Atom/Feed.pm
  • MT-4.12-ja/extlib/XML/Atom/Link.pm
  • MT-4.12-ja/extlib/XML/Atom/Person.pm
  • MT-4.12-ja/extlib/XML/Atom/Server.pm
  • MT-4.12-ja/extlib/XML/Atom/Thing.pm
  • MT-4.12-ja/extlib/XML/Atom/Util.pm
  • MT-4.12-ja/lib/MT/Asset.pm
  • MT-4.12-ja/lib/MT/Association.pm
  • MT-4.12-ja/lib/MT/Atom.pm
  • MT-4.12-ja/lib/MT/AtomServer.pm
  • MT-4.12-ja/lib/MT/Auth.pm
  • MT-4.12-ja/lib/MT/Author.pm
  • MT-4.12-ja/lib/MT/BackupRestore.pm
  • MT-4.12-ja/lib/MT/BasicAuthor.pm
  • MT-4.12-ja/lib/MT/BasicSession.pm
  • MT-4.12-ja/lib/MT/Blocklist.pm
  • MT-4.12-ja/lib/MT/Blog.pm
  • MT-4.12-ja/lib/MT/Bootstrap.pm
  • MT-4.12-ja/lib/MT/Callback.pm
  • MT-4.12-ja/lib/MT/Category.pm
  • MT-4.12-ja/lib/MT/Comment.pm
  • MT-4.12-ja/lib/MT/Component.pm
  • MT-4.12-ja/lib/MT/Config.pm
  • MT-4.12-ja/lib/MT/ConfigMgr.pm
  • MT-4.12-ja/lib/MT/DateTime.pm
  • MT-4.12-ja/lib/MT/default-templates.pl
  • MT-4.12-ja/lib/MT/DefaultTemplates.pm
  • MT-4.12-ja/lib/MT/ErrorHandler.pm
  • MT-4.12-ja/lib/MT/FileInfo.pm
  • MT-4.12-ja/lib/MT/FileMgr.pm
  • MT-4.12-ja/lib/MT/Folder.pm
  • MT-4.12-ja/lib/MT/I18N.pm
  • MT-4.12-ja/lib/MT/Image.pm
  • MT-4.12-ja/lib/MT/Import.pm
  • MT-4.12-ja/lib/MT/ImportExplorer.pm
  • MT-4.12-ja/lib/MT/IPBanList.pm
  • MT-4.12-ja/lib/MT/JunkFilter.pm
  • MT-4.12-ja/lib/MT/L10N.pm
  • MT-4.12-ja/lib/MT/Log.pm
  • MT-4.12-ja/lib/MT/Mail.pm
  • MT-4.12-ja/lib/MT/Memcation.pm
  • MT-4.12-ja/lib/MT/Notification.pm
  • MT-4.12-ja/lib/MT/Object.pm
  • MT-4.12-ja/lib/MT/ObjectAsset.pm
  • MT-4.12-ja/lib/MT/ObjectDriverFactory.pm
  • MT-4.12-ja/lib/MT/ObjectScore.pm
  • MT-4.12-ja/lib/MT/ObjectTag.pm
  • MT-4.12-ja/lib/MT/Page.pm
  • MT-4.12-ja/lib/MT/Permission.pm
  • MT-4.12-ja/lib/MT/Placement.pm
  • MT-4.12-ja/lib/MT/Plugin.pm
  • MT-4.12-ja/lib/MT/PluginData.pm
  • MT-4.12-ja/lib/MT/Promise.pm
  • MT-4.12-ja/lib/MT/Request.pm
  • MT-4.12-ja/lib/MT/Role.pm
  • MT-4.12-ja/lib/MT/Sanitize.pm
  • MT-4.12-ja/lib/MT/Scorable.pm
  • MT-4.12-ja/lib/MT/Serialize.pm
  • MT-4.12-ja/lib/MT/Session.pm
  • MT-4.12-ja/lib/MT/Task.pm
  • MT-4.12-ja/lib/MT/TaskMgr.pm
  • MT-4.12-ja/lib/MT/TBPing.pm
  • MT-4.12-ja/lib/MT/TemplateMap.pm
  • MT-4.12-ja/lib/MT/TheSchwartz.pm
  • MT-4.12-ja/lib/MT/Trackback.pm
  • MT-4.12-ja/lib/MT/Upgrade.pm
  • MT-4.12-ja/lib/MT/Util.pm
  • MT-4.12-ja/lib/MT/XMLRPC.pm
  • MT-4.12-ja/lib/MT/XMLRPCServer.pm
  • MT-4.12-ja/lib/MT/App/ActivityFeeds.pm
  • MT-4.12-ja/lib/MT/App/CMS.pm
  • MT-4.12-ja/lib/MT/App/Comments.pm
  • MT-4.12-ja/lib/MT/App/NotifyList.pm
  • MT-4.12-ja/lib/MT/App/Trackback.pm
  • MT-4.12-ja/lib/MT/App/Upgrader.pm
  • MT-4.12-ja/lib/MT/App/Wizard.pm
  • MT-4.12-ja/lib/MT/Asset/~
  • MT-4.12-ja/lib/MT/Auth/~
  • MT-4.12-ja/lib/MT/BackupRestore/~
  • MT-4.12-ja/lib/MT/Compat/~
  • MT-4.12-ja/lib/MT/FileMgr/~
  • MT-4.12-ja/lib/MT/I18N/~
  • MT-4.12-ja/lib/MT/L10N/~
  • MT-4.12-ja/lib/MT/ObjectDriver/~
  • MT-4.12-ja/lib/MT/Plugin/~
  • MT-4.12-ja/lib/MT/Template/~
  • MT-4.12-ja/lib/MT/TheSchwartz/~
  • MT-4.12-ja/lib/MT/Util/Archive.pm
  • MT-4.12-ja/lib/MT/Util/Captcha.pm
  • MT-4.12-ja/lib/MT/Util/Archive/~
  • MT-4.12-ja/mt-static/mt.js
  • MT-4.12-ja/mt-static/styles.css
  • MT-4.12-ja/mt-static/css/editor/base.css
  • MT-4.12-ja/mt-static/js/tc/~
  • MT-4.12-ja/mt-static/js/archetype_editor.js
  • MT-4.12-ja/mt-static/js/assetdetail.js
  • MT-4.12-ja/mt-static/js/dialog.js
  • MT-4.12-ja/mt-static/js/edit.js
  • MT-4.12-ja/mt-static/js/tc.js
  • MT-4.12-ja/mt-static/mt.js

こんなにちまちまアップロードして・・なんて面倒だから、まるごと上書きの方が楽だと思います。

まあ、参考まで。