2011年3月21日月曜日

Windows Storage Server 2008 r2 で全文検索サーバ FESS を動かす。

取引先から、「NAS 製品の OS に Windows Storage Server を搭載しているものがありますよ。普通に Windows が動いていて、もちろんファイルサーバとして使え、他にも保証はされていないけれど、ソフトをインストールして動かすことができるみたいですよ。」と伺った。最近 Windows 製品に興味は湧かなかったけれど、 NAS に全文検索サーバとか諸々入れられたら最強のファイルサーバだな。としばらく前から考えていたので、その話をすると、貸出機を数日間貸してくれることになった。
と言うわけで、全文検索サーバ FESS の導入検証。


貸し出してもらった実機は、I-O DATA HDL-Z2WS1.0A です。 Logitec にも同様の製品があります。

実機の裏面には、LANポートが2個、ディスプレイポート、USBポート4個がある。
ディスプレイ、USBキーボードとマウスを繋いで電源を入れると、Windows Storage Server 2008 r2 が起動しました。 NAS という感じではなく、普通の Windows Server に見える。
マイコンピュータ内を覗くと、ハードディスクはCとDにきられていて、C は50Gほどで OS が入っている。D はまるっきり空いている。Dにフォルダ share を作成し、共有にする。

ファイルの共有でファイルサーバを設定
共有方法は Windows Server 2008 と同様、匿名アクセスの設定が面倒なんですが、下記サイトに実際の手順の動画が載っていますので、そちらをごらんになってください。動画での操作は早めですが、ポーズしながら見れば大丈夫かと。匿名アクセスしないのであれば、普通にファイル共有すればできます。
Windows Server 2008 のファイル共有への 匿名アクセス を有効にする方法

他の端末から確認すると、フォルダ、ファイルの作成、更新、削除ができる。ふむふむ、普通のファイルサーバとして普通に使える。当たり前か。

余談かもしれませんが、Windows Storage Server を入れた NAS で、OSが壊れたらどう復旧するのか気になりますよね? リカバリ用のメモリディスクがついていて、簡単に初期状態に戻せるようです。あと、ファームウェアのバージョンアップ同様、 Windows Update でOSのバグフィクスなどが提供されます。

全文検索サーバ FESS をインストール
実は取引先の人が貸し出す前に動作確認しようとしてくれたらしいのだけど、 OS が64ビットなのでうまくインストールできなかったと話していた。TomcatやJAVA関係だろうか?

インストールは全文検索システムFESS>インストール方法に従って行った。
JDK, JRE をダウンロードし、インストール。このときダウンロードするファイルは Windows x64 を選択。
環境変数PATHとしてJAVA_HOME, JRE_HOMEを登録。

startup.bat で起動すると、起動できたようだ。ちなみにコマンドプロンプトがすぐに消えてしまうときは、エラーが発生している場合なので、startup.bat の最終行にpauseを追加してメッセージを確認すると対応しやすい。

サーバ内でブラウザから http://localhost:8080/fess/ に接続すると、 FESS の画面が表示された。しかし外部から接続すると表示できない。
サーバのファイヤウォールが有効になっていた。ファイヤウォールを無効にすると外部からも表示できた。

クロールの設定。
管理者ページ(http://localhost:8080/admin/)にアクセス。初期設定のユーザとパスワード admin/admin でログイン。
先ほど作成した共有フォルダ share をクロールするように設定。
このあたりの設定は FESS のサイトに載っている。
クロールは、ファイル数は少ないけれど、PDFとか中のテキストまでクロールするので、思っていたよりも時間はかかった。
クロール完了後にFESSで検索すると、うまく検索結果が表示されている。よしよし。

FESSをサービスとして登録
Windowsサービスとしての登録
コマンドプロンプトを起動するときに、管理者モードで起動する。
ただし、Tomcat のプロパティ設定は必要ない。
サービスに登録されるが、手動起動になっているので、自動起動に変更してサービスを起動する。
ところがサービスが起動しない。

Tomcat のログを見るとこんな感じ。

Tomcat が64bit環境でうまく動作していないと予測し、 64-bit Windows zipをダウンロードして64bit版と置き換えてみる。
fess-server-4.0.0\bin 内の、 tomcat6.exe, tomcat6w.exe を置き換える。

サービスを起動すると、今度はうまく起動した。検索画面も表示され、問題なく動いているようだ。
とりあえず、ファイルサーバと全文検索サーバの立ち上げは完了。なかなか使える気がする。

ただ、こういう使い方をしていると、 Microsoft はすぐにライセンスを改訂して CAL が必要だとか言いそうで不安。Windows じゃなくて CentOS Linuxとか載せて販売してくれるとうれしいのにな。

関連 LINK
Windows Storage Server 2008 r2
Windows Storage Server とは?
FESS
Fess: 全文検索システム プロジェクト日本語トップページ - SourceForge.JP
全文検索システム: Fess - オープンソース全文検索サーバー - Fess 概要  
 
Apache Solr入門 ―オープンソース全文検索エンジン
関口 宏司 三部 靖夫 武田 光平 中野 猛 大谷 純
技術評論社
売り上げランキング: 14454

2011年3月11日金曜日

Windows Script Host の CreateObject でのエラー対応

職場でスクリプトファイルを作成して配布したのですが、1台のパソコンでエラーが出て動かないよ。と報告がきた。
下記の命令文のところで、エラー:指定されたモジュールが見つかりません。コード:8007007E が表示されて停止する。
Set wShell=CreateObject("WScript.Shell")

どうもスクリプトが問題ではなくて、レジストリでも壊れているようだと結論する。
再度 Windows Script Host をインストールしてみるが、最新の5.7はもうインストールされてますよ。とメッセージが出て進まない。
5.6をダウンロードしてインストールするとできた。スクリプトファイルを実行すると無事動く。
さらに5.7をインストールして、動作を確認して終わり。
同一バージョンでも、上書きインストールしてくれればいいのにと思う。

2011年3月4日金曜日

エクセルで表の行と列を入れ替える

Excel で、表の行と列を入れ替えたいときありますよね?
私、恥ずかしながら今まで手作業でやっておりました。

本日簡単にできることがわかりましたので、私のように手作業でやられている根気強い方の作業効率アップのために方法を載せておきます。

下記のように表の行と列を入れ替える場合、表を選択してコピーします。



適当な場所で、"形式を選択して貼り付け"を選択し、表示されたウィンドウの"行列を入れ替える"にチェックを入れてOKボタンを押すだけです。



簡単、簡単。今までの苦労は、何だったのかと思うほどです。さあ、効率よく表を作りましょう。