GUiLZ Project Personal & Experimental Blog

tips

さくらのVPS に、オープンソース全文検索エンジンの Fess を導入してテスト中。簡単にインストールでき、利用できるのは素晴らしい。

以前勤めてた会社では、ファイルサーバーの全文検索に Hyper Estraier Win32版を入れて使っていたんだけど、導入にはApacheが必要だし、ファイルのクロールさせているとよく落ちて、そのたびにインデックスが壊れてリペアが必要だしと、使い勝手が微妙だった。(クロール失敗・インデックス破損は、Win32版特有の問題かもしれないけど)

その点 Fess は、普通に使うだけならApache入れる必要もないし、Javaだけ入っていればOSを選ばないのもいい。さらにAPIを使えば、他のWebサイトから検索のバックエンドとして使えるので、使い勝手も悪くなさそう。後は検索速度とかクローラーがエラー吐かないかどうかなど、おいおい試していってみよう。

インストールに必要なのは OpenJDK だけ。yum から一発インストール。

yum install java-1.6.0-openjdk.x86_64

後は Fess のサイト(http://sourceforge.jp/projects/fess/releases/) より、データを持ってきて

unzip fess-server-x.y.zip
cd fess-server-x.y
chmod +x bin/*.sh
./bin/startup.sh

とするだけで起動する。管理はWebベースで。管理者パスワードの変更は、http://fess.sourceforge.jp/ja/setup.html あたりを参考に。

Ruby ベースの SUZAKU も気になるところだけど、インストールが若干手間なのと、最新バージョンが4年ほど前の更新なので、開発が活発な Fess のほうが安心かな。Tomcat使う分、重いかもというイメージはあるけど。

現在、このブログがある さくらのVPS では、PHP 5.3系を使いたいのでremiレポジトリを有効にして、yumでアップデートなどを行っているのだけど、そこで発生したトラブルについてメモがてら。

昨日アップデートをしたら、大量のアップデートに混じってMySQLも5.1系から5.5系にバージョンアップされたらしく、起動しなくなっていた。MySQLのログを見ると、

[ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=ujis'
[ERROR] Aborting

となって終了している。

MySQL MLの投稿
http://www.mysql.gr.jp/mysqlml/mysql/msg/15436

によると、5.5系では [mysqld] 内では default-character-set が利用できなくなっているとのことなので(ただし [client], [mysql], [mysqldump] では問題なく利用できている)、代わりに /etc/my.cnf に

character-set-server = ujis

と書いてやることで無事起動するようになった。

が、以下のようなエラーも吐かれていたので、こちらにも対処する。

[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it

mysqld を起動しておいた状態で、

# mysql_upgrade -u root -p

として root パスワードを入力すると、データベースがチェックされ、問題なく全て OK となった。再起動後もエラーは出なくなったようだ。

そして、ここまでやった後に、下記サイト様を発見。

【MySQL】5.1から5.5へのアップグレード(rpmで)
http://www.softel.co.jp/blogs/tech/archives/2288

yumだったからか、私の場合は全く警告も出なかったけれど、データベースのダンプくらいは取っておくべきだったなと、今さらながらガクブル。ま、問題は出なかったから、よしとしよう。(mysqldumpしながら)

さくらのVPS で若干ハマった話。というか、CentOS系のApacheでハマった話の方が正しいかな。

/etc/httpd/conf.d/

に、NameBased Virtualhost用の設定ファイルを置いていたんだけど、この設定ファイルで、IPアドレスを指定してアクセスしてきたユーザーは全て拒否するようにしていたのに、何故か拒否されずにCentOSのデフォルトページが表示されていた。

内容は以下のような感じ。


    ServerName any
    DocumentRoot /tmp



    order deny,allow
    deny from all

同じディレクトリにあった、welcome.conf に書かれていた以下の内容が優先されていたようなので、コメントアウトして対処。(ファイルを消しておいても問題ないけど)


    Options -Indexes
    ErrorDocument 403 /error/noindex.html

以上でIPアドレスを指定した接続には403が返るようになった。

PHOTOSYNTHESIC BLOG 様の以下の記事、

CentOS5で動かしてるWordPressをsFTP経由で自動アップデート

を参考に、さくらのVPS 上で動かしているこのWordPressもSFTP経由で自動アップデートさせたいなーと思っていたのだけれど、libssh2をソースからコンパイルするのはちょっと面倒だなーと思っていたら、CentOS 5.5ではyumだけで何とかなったので、そのメモ。

libssh2は、以下のような感じで。

yum install libssh2.x86_64
yum install libssh2-devel.x86_64

後は、PHOTOSYNTHESIC BLOG 様の記事通りに、

pecl install -f ssh2

ヘッダファイルの場所を聞かれるけど、Enterで問題なし。libssh2-devel.x86_64 を入れ忘れているとエラーが出ます。

その後、/etc/php.ini に、

extension=ssh2.so

を追加してやるか、/etc/php.d/ 以下に上記を書いたファイルを置いてやる。

で、最後にApache再起動。

/etc/init.d/httpd restart

こんな感じで問題なくWordPressでSFTPによる自動アップデートができるようになった。

 

2011/05/23 追記

SaaSes Industria で

pecl install -f ssh2

を試してみたら、peclのssh2がバージョンアップしているのか、うまくいかなかったので、こっちもyumでやってみたメモ。

pecl install -f ssh2

の代わりに、

yum --enablerepo=remi,epel install php-pecl-ssh2.x86_64

とするとうまくいった。(事前にremi・epelのレポジトリ登録が必要)

この方法だとPHPへの設定も自動でやってくれるから、さらに楽だね。今後はこの方法でやろうっと。

スポンサードリンク

Twitter
利用中のサービス

GUiLZ Project では、以下のサービスを利用しています。


関連サイト
巡回先サイト様
アーカイブ