ApacheとNamazuで事務提要を全文検索しよう

| HOME | backupに戻る | 作成日:平成22年 1月10日現在

ページの概要

このページは、私が以前に作成したアプリケーション群のインストール手引き書のバックアップです。

ページの目的は、大量テキストファイル(htmlファイル)の検索システムをフリーウェアで構築し、 ネットワーク上の許可されたパソコンからHTTPで閲覧可能にすることです。

ただし、配布用にインストール作業をバッチファイル化してあり、手引き書もそれに従って進めているため、 そのままではインストール手順書にはなりません。

バッチファイルで具体的にどのような作業を行っているかについては、 補記できるところはしておきます。 また、バッチファイルのソースコードもメモしておきますので、参考にしてみて下さい。

事務提要 検索システムver1.00 インストール手引書

事務提要のファイルはインターネット上のWEBサイトと同様「HTML」というファイル形式を採用しています。このためGoogleなどの検索サイトでインターネット上のファイルを探すのと同じように、事務提要に含まれる単語からページを探しだすことができます。

サンプル画像

■注意事項及び免責事項について

1)全てインターネット上のフリーウェアを利用して検索システムを構築しています。よって通常のフリーウェアと同様、著作権等は各プログラムの作成者にあり、かつソフトウェアの使用方法や不明点は全て自己解決にて願います。

2)ブラウザから検索をかけられるようにするために、本来インターネット用のWEBサーバであるApacheに接続制限(後述インストール手順)をかけて、ローカル接続のみを受け付ける方法を採用しています。 手順に従って“正しく”インストール作業を行えば問題はありませんが、「誤った設定・甘い設定・接続制限をかけない」など手引書と異なる設定をするとセキュリティ上非常に脆弱になります。

3)この手引書の内容について一読して「全く内容が分からない」「インストールって何?」「怖い」など自分の手に余ると感じた場合は、検索システムを利用するのを諦める という選択肢をとるのも冷静な判断と思われます。

■インストール環境について

1)インストールできるPCは、Windowsでかつバージョンが2000 professional またはXP professionalです。XP Homeはなるべく避けてください。インストールテストは済ませてありますが、バグ(環境変数名の重複)が出る可能性があります。

2)サーバ機は、勤務時間中は常時電源の入っているマシンを使用してください。マシンパワーはそれほど必要ありません。セレロンと256MBメモリーの組み合わせで十分です。128MBでも動くと思います。(XPのLunaさえ使わなければ!) 旧機種のノートパソコンがあれば、その他のデータを消してインストールし、検索サーバ専用機にするとより安全です。

■インストールの前に調べること

1)「今回インストール作業を行うPC(サーバ機になります)」及び「接続を許可するPC(クライアント)」それぞれのIPアドレスを調べて書き出しておいてください。
例)10.1.5.10(サーバ機) 10.1.5.11 10.1.5.12(クライアント機は複数可)
※これらの値は、インストール作業の「作業7」で入力が必要になります。

■インストール手順

作業のおおまかな流れ

※【バッチファイル】の箇所については、ショートカットをクリックすればファイル本体を探さなくても自動でインストールプログラムを起動させます。(インストール作業は通常のマニュアル操作を要します。)

作業0)圧縮ファイルの解凍

●では、はじめに「teiyou_inst.zip」をいったんハードディスクの任意の場所に保存し、Cドライブ直下に解凍してください。(C:\に一時保存→C:\に解凍 がベスト)

※アプリケーションをひとまとめにして、私の意図するディレクトリで作業してもらうための配布用の措置です。 独自に検索システムを組もうとしている場合は、不用の操作です。

サンプル画像

※解凍手順は使用しているソフトウェアにより異なります。

【注意】バッチファイルのパス指定の都合上、C直下に置かないと、バッチファイルが正常に機能しません。 解凍ソフトのクセによっては、二重構造になるので注意が必要です。(下記)

◎「C:\teiyou_inst」フォルダは下図のとおりの構成になっています。ソフトウェアや設定ごとにフォルダ分けされていますが、実際には「00バッチファイル」フォルダにショートカットが準備されていますので、ほとんどの作業は「00バッチファイル」を使用します。

サンプル画像

このパスが
◎「C:\teiyou_inst」
ならOK。
×「C:\teiyou_inst\teiyou_inst」
のようにダブっていたら駄目。

◎「C:\teiyou_inst\00バッチファイル」フォルダの内容は下図のようなショートカットの集合です。作業順に番号を振ってありますので、上から順番に実行すればよいことになります。

サンプル画像

※ショートカットの本体及びインストーラー実体は、上図の「01ActivePerl_561」等の各フォルダ下にあります。

【注意】圧縮ファイルの解凍時に、外部ディスクを一時利用した場合、ショートカットをダブルクリックしても実体パスが見つからないことがあります。 これはWindowsの仕様です。 teiyou_inst.zipはハードディスクに保存してから解凍してください。

【注意】ここから先の作業は全て「管理者権限」が必要です。管理者権限を持ったユーザでログオンしてください。

作業1)Active Perlのインストール インストールディレクトリはC:\直下です。

●「C:\teiyou_inst\00バッチファイル」フォルダにある「01.bat」を実行します。 (拡張子batはMS-DOSの実行ファイルです。)
インストール画面になります。 Active Perlは英語版ソフトウェアです。

「01.bat」ソース


@echo off
C:\teiyou_inst\01ActivePerl_561\ActivePerl-5.6.1.638-MSWin32-x86.msi
echo インストールしました。何かキーを押せば01.batは完了です。
pause > null
del null

●全て「デフォルト」または「はい(I accept…)」を選択すれば正常にインストールされます。 (使用許諾では「I accept…」を選択してください。I accept=はい、承諾しますの意)

メモ:環境変数も自動でSETされますが、まれにPC環境によってはSETされない場合があるようです。このため設定変更(後述)が必要な場合があります。(作業9)

●次の作業に入る前に「再起動」をかけてください。

作業2)Kakasiのコピー  インストールディレクトリはC:\直下です。

●「C:\teiyou_inst\00バッチファイル」フォルダにある「02.bat」を実行します。

「02.bat」ソース

@echo off
xcopy C:\teiyou_inst\02Kakasi_234\kakasi C:\kakasi /E
echo コピーしました。何かキーを押せば02.batは完了です。
pause > null
del null

コマンドプロンプト画面で下記のようなメッセージが表示されます。

サンプル画像

●「C:\kakasi」はディレクトリ(=フォルダ)なので、「d」と入力してください。

サンプル画像

このようなメッセージが表示されファイルがコピーされます。なお、いわゆるPath通し作業は次項のNamazuで自動処理されるので不要です。

作業3)namazuのインストール  インストールディレクトリはC:\直下です。

●「C:\teiyou_inst\00バッチファイル」フォルダにある「03.bat」を実行します。

「03.bat」ソース

@echo off
C:\teiyou_inst\03Namazu_214\nmz2014beta.exe
echo インストールしました。何かキーを押せば03.batは完了です。
pause > null
del null

インストール画面になります。

●全て「デフォルト」または「はい」を選択すれば正常にインストールされます。 kakasi及びnamazuの環境変数もここで自動的にSETされます。

メモ:本来はこのタイミングで各種の設定ファイルを書き換えなくてはなりませんが、Apacheのインストール後にまとめて設定変更するので、この段階ではとばします。

作業4)Apacheのインストール インストールディレクトリはC:\program filesです。

●「C:\teiyou_inst\00バッチファイル」フォルダにある「04.bat」を実行します。

「04.bat」ソース

@echo off
C:\teiyou_inst\04Apache\apache_2.2.4-win32-x86-openssl-0.9.8d.msi
echo インストールしました。何かキーを押せば04.batは完了です。
pause > null
del null

インストール画面になります。

●全て「デフォルト」または「はい(I accept…)」を選択すれば正常にインストールされます。

【注意】PC環境によっては、インストール中の画面で「ServerName」等の欄が空欄になる場合があるようです。この場合エラーメッセージが表示されますが、後で設定ファイルを上書きして(作業7−3)直りますので、Escすれば大丈夫です。心配ならa,b,cなど任意の半角英数を入力してください。

●次の作業に入る前に「再起動」をかけてください。

【注意】再起動するとApacheが自動的にサービスを開始します。この段階ではアクセス制限を設定していないので全てのクライアントからの接続を受け付けてしまう状態です。気になる場合は、デスクトップ右下のタスクトレイ中に出現したApacheアイコンで「Stop」を選択してください。サーバが一時停止します。

作業5)事務提要ファイルのコピー&ペースト  ディレクトリはC:\直下です。

●「C:\teiyou_inst\00バッチファイル」フォルダにある「05.bat」を実行します。

「05.bat」ソース

@echo off
xcopy C:\teiyou_inst\05Teiyou\doc C:\  /E /Y
echo コピーしました。何かキーを押せば05.batは完了です。
pause > null
del null

自動でコピー&ペーストが実行されます。

(今回のシステムの肝となる環境設定ファイルを操作します。)

作業7)各種設定ファイルの設定

作業7−1)Apache設定ファイルの書き換え

一部にWindowsユーザがあまり経験しない作業が含まれます。間違いの無いようにお願いいたします。

●httpd.confファイル(7_1httpd.confショートカット)をメモ帳等で開きます。(拡張子が未登録のファイルなのでプログラムの選択が必要)

 1箇所目)




    Options Indexes FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 10.1.1.9 10.1.1.16//この行を変更


●ディレクトリ(C:\TEIYOU)設定部分で、「 Allow from 10.1.1.9 10.1.1.16 」という行があります。この「 Allow from 10.1.1.9 10.1.1.16 」のIPアドレスを、インストール作業前に調べた「接続を許可するIPアドレス」に書き換えてください。

メモ:クライアントPCだけでなく、サーバ機のIPアドレスも登録しないとサーバ機自身から接続できなくなり不便です。

アドレスとアドレスの間は「半角スペース」で区切ります。 例)接続を許可するIPアドレスが 10.1.5.10〜10.1.5.12なら 「 Allow from(半角スペース)10.1.5.10(半角スペース)10.1.5.11(半角スペース)10.1.5.12 」 となります。

【注意】IPアドレスは範囲でなく必ず個々のIPアドレスを入力してください。 例えば「 Allow from 10.1.5 」なら10.1.5.1〜10.1.5.254までの全てのクライアントが接続可能になり、「 Allow from 10.1 」なら10.1.1.1〜10.1.255.253までの全てのクライアントが接続可能になります。場合によっては学校中からアクセス可能になりセキュリティ上非常に危険です。なお、間違っても「 Allow from All 」は避けてください。インターネットからの接続も許可されます。(実際には難しいですが)

2箇所目)




    AllowOverride All
    Options MultiViews ExecCGI
    Order deny,allow
    Deny from all
    Allow from 10.1.1.9 10.1.1.16//この行を変更


●ディレクトリ(C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin)設定部分で、「 Allow from 10.1.1.9 10.1.1.16 」という行があります。この「 Allow from 10.1.1.9 10.1.1.16 」のIPアドレスをインストール作業前に調べた「接続を許可するIPアドレス」に書き換えてください。  アドレスとアドレスの間は「半角スペース」で区切ります。 例)接続を許可するIPアドレスが 10.1.5.10〜10.1.5.12なら 「 Allow from(半角スペース)10.1.5.10(半角スペース)10.1.5.11(半角スペース)10.1.5.12 」 となります。

●変更後に上書き保存してください。

作業7−2).namazurc設定ファイルの書き換え

【注意】.namazurcファイルは、UNIX系OSの文字コードEUCでエンコードされています。メモ帳などShift-JISでエンコードするソフトウェアで開くと文字化けします。(下図)

サンプル画像

文字化けするのは、日本語・改行部分です。ソースは全て英文なので結局の所文字化けは「改行(半角↑に化けます)」だけです(図中   の箇所)。改行が反映されないためソースはだらだらと横長になります。指定箇所を見つけるのが大変かとは思いますが、正しく設定変更してください。

●.namazurcファイル(7_2.namazurcショートカット)をメモ帳等で開きます。(拡張子が未登録のファイルなのでプログラムの選択が必要)

●「 Replace /[Cc]\|/TEIYOU/ http://10.1.1.9/ 」と記入された箇所が1行目の中程にあります。この中の「 http://10.1.1.9/ 」の部分を、ApacheサーバをインストールしたPCのIPアドレスに訂正してください。 例)サーバ用PCのIPアドレスが 10.1.5.10なら「 http://10.1.5.10/ 」と訂正する。

●変更後に上書き保存してください。

作業7−3)設定ファイルのコピー&ペースト

●「C:\teiyou_inst\00バッチファイル」フォルダにある「07_3.bat」を実行します。

「07.bat」ソース

@echo off
copy C:\namazu\libexec\namazu.cgi.exe "C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin\namazu.cgi.exe" /Y
copy C:\teiyou_inst\07conf\namazu\.namazurc "C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin\.namazurc" /Y
copy C:\teiyou_inst\07conf\Apache\httpd.conf "C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf" /Y
copy C:\teiyou_inst\07conf\namazu\mknmzrc C:\namazu\etc\namazu\mknmzrc /Y
xcopy C:\teiyou_inst\07conf\namazu\template C:\namazu\share\namazu /E /Y
echo 全てコピーしました。何かキーを押せば07_3.batは完了です。
pause > null
del null

自動でコピー&ペーストが実行されます。  作業7−2で内容を書き換えたファイルその他をそれぞれ所定のフォルダにコピーします。デフォルト設定を上書きし、事務室での共有が有効になります。

作業8)インデックス(検索用語の辞書ファイル)の作成

●「C:\teiyou_inst\00バッチファイル」フォルダにある「08.bat」を実行します。

「08.bat」ソース

@echo off
call mknmz -aO c:\namazu\var\namazu\index C:\TEIYOU
echo インデックスを作成しました。何かキーを押せば08.batは完了です。
pause > null
del null

自動でインデックスが作成されます。  この作業によって、namazuが辞書の索引を作成します。このため使用者が検索窓に調べたい単語を入力するだけでnamazuが使用者に成り代わってそのページを見つけてくれるわけです。

●最後に「再起動」をかけてください。これでインストール作業は終了です。

再起動するとサーバが自動的に起動し、事務提要検索版が使用できる状態になります。登録済みの端末からブラウザのアドレス欄に「http://(サーバのIPアドレス)/」と入力しアクセスしてください。ホームページが現れます。  実際の検索の使い方は、ホームページに書かれています。

サンプル画像

このようなページが表示されれば、とりあえずOK

作業9)うまくいかないときに

パソコン環境は様々なので、インストールした端末のセキュリティ設定の微妙な違いで自動設定が不能となる場合や、単純にインストール中に誤った値を入力した場合など、全ての作業を終えても事務提要検索版ver1.0が利用できない時もあります。 そのような場合は、下記を参考にエラーの状況を確認してください。

・ブラウザで「http://(サーバのIPアドレス)/」を入力すると404エラー

可能性1)ネットワークがつながっていないかもしれません。 → コマンドプロンプトで「ping 127.0.0.1」(自分自身へPing)を確認してください。

可能性2)ファイアウォールの設定によっては、Apacheサーバがポート80番を使用できないことが原因で、ブラウザからアクセスできないことがあります。 → Windowsファイアウォールの例外設定で、ポート80番をあける必要があります。「名前:Apache(任意名)、ポート番号:80、プロトコル:TCP」 (下図参照)

サンプル画像

・フレームの一部が404エラー

可能性1)「Internet Explorer ではこのページは表示できません(404)」は「.namazurc」の設定ミスかもしれません。作業7−2でサーバのIPアドレスが正しいか確認してください。

・ブラウザで「http://(サーバのIPアドレス)/」を入力すると403エラー

可能性1)ブラウザやApacheサーバから「あなたはpermissionがない」との回答ページが表示された場合、Apacheの設定ファイルにそのクライアントPCのIPアドレスが登録されていません。→ 作業7−1を参考にApacheのhttpd.confファイルにIPアドレスを追加してください。

可能性2)Apacheのバグ。インストールしたアパッチのバージョンによっては閲覧者のIPアドレスを読みとれないバグがあります。

・ホームページは表示されるが、検索でエラーが出る。

可能性1)Apacheの設定が足りないかもしれません。作業7−1の「2箇所目」を確認してください。訂正があった場合は作業7−3も実行してください。

可能性2)Perlの環境変数がSETされていないかもしれません。→ 「マイコンピュータ」のプロパティで、詳細設定タブの「環境変数」を開き、「システム環境変数」内にある「Path」の値を調べてください。「C:\Perl\bin;」が無い場合、編集ボタンを押し「Path」の値に「C:\Perl\bin;」を追加してください。

・作業8でインデックスが作成できないというメッセージ

可能性1)「7_3.bat」を実行し忘れた気がする。→ 作業7−3からやり直してください。

可能性2)それでもエラーが出る場合は、namazuの環境変数(パス通し)に不足があるかもしれません。(namazu2.0.14以降不要になったはずですが。) → 「マイコンピュータ」のプロパティで、詳細設定タブの「環境変数」を開き、「システム環境変数」内に「HOME」の値があるかを調べてください。「HOME」が無い場合、新規ボタンを押し「HOME」の値に「C:\namazu」を入力してください。(XP_Homeで出やすいバグ)

・その他のエラーについて

基本的には、WindowsNT系OSと県の校内LANの仕様に沿って、4通り程のインストールテストを通してバッチファイルを改良してきてあるため、想定外のケースというのは出にくいと思います。 しかし、それでもエラーが出るのがWindowsのWindowsたる宿命です。申し訳ありませんが、後述のアンインストール手順により、いったん全て削除し、改めて初めからやり直してください。

作業99)アンインストールについて

ActivePerl、namazu、Apacheについてはコントロールパネルの「プログラムの追加と削除」からアンインストール作業を行ってください。 kakasiとTEIYOUについては、フォルダごとゴミ箱行きでOKです。

備考)カスタマイズについて

NAMAZUはHTML以外にWordやPDFといったファイルにも対応させることが可能です。ただしPDFは別途モジュールが必要、インストール手順が複雑になるため今回は故意に避けています。カスタマイズは自由ですが自己責任でお願いします。

(カスタマイズ例)検索はいらないという場合

05Teiyouフォルダ内のTEIYOUフォルダがドキュメント本体です。フレーム化して目次を別ページにしてあるだけでも使い勝手がよいので、index.htmのソースを書き換えて検索枠を消して使ってみてはいかがでしょう。

(参考ソース) 以下をメモ帳にコピペして「index.htm」というファイル名にしてTEIYOUフォルダに上書き保存すれば、検索枠の無いページが作成できます。



<html>
<head>
<meta name="GENERATOR" content="notepad">
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>事務提要</title>
</head>
<frameset cols="200,*">
<frame name="mokuji" src="mokuji00.htm">
<frame name="right" src="howtouse.htm">
<noframes>
<body>
<p>このページを表示するには、フレームをサポートしているブラウザが必要です。</p>
</body>
</noframes>
</frameset>
</html>


| HOME | backupに戻る | 作成日:平成22年 1月10日現在


for back up,NYARGO