FUREAI INTERNET -Super Web Server -

[ MENU | サービス概要 | 設定情報 ]
[ 基本的なコマンド | 便利なプログラム | 用意されているCGI/SSI ]
[ トラブルシューティング | ティールーム ]

極論すればUNIXとは便利なコマンドの集合体なのですが(^^)
その中からWebpage作成やCGIに便利なコマンドをいくつか紹介します。

【ご注意】
文中のaccountの部分は、スーパーウェブでのあなたのアカウントに置き換えてください。 spool*の部分は、第一次募集でお申し込みいただいた方はspool0、 第二次募集でお申し込みいただいた方はspool1と置き換えてください。
■ nkf(日本語変換フィルタ)
nkfは日本語の文字コードを変換するためのフィルタです。
日本語には大きく分けて Shift-JIS(MS漢字コード), 日本語EUC(EUC-JP), ISO-2022-JP(いわゆるJIS)の三種類が有りますが、このフィルタを通すことにより互いに変換できます。

例えば hogehoge.txt というファイルが有ったとすると。

> nkf -e < hogehoge.txt > hogehoge.euc
 とすればEUCコードに変換された hogehoge.euc ができあがります。
この場合もとの漢字コードはなんでもかまいません。

同様に

> nkf -s < hogehoge.txt > hogehoge.sjis
 とすればShift-JISに


> nkf -j < hogehoge.txt > hogehoge.jis
 とすればJISに変換されたファイルが出来上がります。


■ jweblint(HTML文法チェッカー)
jweblint97はHTMLが文法的に正しいかをチェックするためのプログラムです。

> jweblint index.html
とすれば、そのHTMLファイルをチェックしてくれます。
完全に正確なHTMLだった場合は、なにも表示されません。エラーのときのみ、表示が出ます。
Netscape拡張を許すなど、色々なオプションがありますが、詳しくは man jweblint して各自で調べて下さい。

■ NAMAZU(全文検索エンジン)
強力な全文検索エンジンです。自分で集めたデータに対してgooやAltaVistaのようなことができるようになります。

使い方は少々ややこしいので、NAMAZUのドキュメントを読んだりして、十分な知識を持ってから行うことをお勧めします。UNIXに対する知識も相応に必要です。

以下に、Webpage全体の検索を行うための方法を書きますが、これは使い方のあくまで一例です。また、このNAMAZUについて問い合わせをされてもサポートの方では対応できません。すべてドキュメントを読んで御自身で行って下さい。


はじめに自分の状況を確認します。この例では account というアカウントの人が、~/HomePage/search/~/HomePage/ 全体の検索のためのデータを置くことにします。
まずは mkdir を使って HomePage の下に search というディレクトリを作ります。

> cd ~/HomePage
> mkdir search
> chmod 755 search


NAMAZUの設定のためのファイルをコピーします。 /usr/local/namazu/lib/namazu.conf-dist を .namzurc とう名前でコピーします。

> cd search
> cp /usr/local/namazu/lib/namazu.conf-dist ~/HomePage/search/.namazurc


vi等のエディタを使って、この .namazurc の内容を変更します。
詳しい機能などに付いてはドキュメントや添えられているコメントを読んで下さい。

# This is the Namazu configuration file.
#   originally, this file is named 'namazu.conf-dist'. so you should
#   copy this to 'namazu.conf' to use.
#
#   item and value are MUST be separated with TAB character.
#   see "manual.html#NAMAZU_CONF" for detailed information.
#     
#       * INDEX   : Pathname where index file (NMZ.*) is placed.
#       * REPLACE : Replace URL string for search result output.
#                   describe by TARGET, REPLACEMENT order.
#                   if you do not want to do this replacement in command
#                   line use, you can run 'namazu' with -U option and
#                   avoid this processing.
#       * BASE    : append  to search result HTML.
#                   this value must terminate with '/' or '\' character.
#       * WAKATI  : Japanese processor's pathname.
#                   (KAKASI or ChaSen you defined at make time)
#       * LOGGING : set OFF to turn off search keyword logging.
#                   default: logging ON (to NMZ.slog)
#       * LANG    : set language code registrated in ISO 639
#                   such as `ja', `en', `de', and etc.
#                   if you set 'de' to this, namazu would use
#                   NMZ.(head|foot|body|msg).de as message files.
#       * SCORING : set scoring method TFIDF or SIMPLE.
#
INDEX           /spool*/www/account/HomePage/search/
REPLACE         /spool*/www/account/HomePage/     http://super.fureai.or.jp/%7Eaccount/
#BASE           file://localhost/home/foo/documents/
WAKATI          /usr/local/bin/kakasi
LOGGING OFF
LANG            ja
SCORING        TFIDF
基本的には INDEX と REPLACE さえ書き換えればOKです。ログを残したくなければ LOGGINGもコメント(#)をはずしてください。

namazu コマンドを シンボリックリンクして、CGIとして使えるようにします。
.htaccessファイルがなかったら、その設定もしておきます。
.htaccessファイルを使ったCGIの設定に付いては「ひろば」の「ホームページ作成編」を参照してください。

> ln -s /usr/local/bin/namazu namazu.cgi
> echo "AddType application/x-httpd-cgi .cgi" >> .htaccess


いよいよデータベースを作ります。

> mknmz /spool*/www/account/HomePage/
ずらずらずらっと表示されるはずです。最後に

[Base]
Date: Thu Sep  3 15:41:45 1998
Files: 55 files
Size: 1,050,946 bytes
Keywords: 27,563 words
Wakati: /usr/local/bin/kakasi -ieuc -oeuc -Ea -w
Version: 1.2.0.1
Time: 72 sec.
等と表示されて(細かい数値は違います)、プロンプト(>)が出れば成功です。

次に、検索のためのフォームを作ります。
例えばこんな index.html ですね。

<html>
<head>
<title>Webpage Search</title>
</head>

<body>
<FORM METHOD="GET" ACTION="namazu.cgi">
<P><STRONG>検索式:</STRONG>
<INPUT TYPE="TEXT" NAME="key" SIZE="40">
<INPUT TYPE="SUBMIT" NAME="submit" VALUE="Search!"> </P>
<P>
<STRONG>表示件数:</STRONG>
<SELECT NAME="max">
<OPTION VALUE="10">10
<OPTION SELECTED VALUE="20">20
<OPTION VALUE="30">30
<OPTION VALUE="50">50
<OPTION VALUE="100">100
</SELECT>
<STRONG>要約表示:</STRONG>
<SELECT NAME="format">
<OPTION SELECTED VALUE="long">ON
<OPTION VALUE="short">OFF
</SELECT>
<STRONG>言語:</STRONG>
<SELECT NAME="lang">
<OPTION VALUE="en">英語
<OPTION SELECTED VALUE="ja">日本語
</SELECT>
</form>
</body>
</html>


これで、http://super.fureai.or.jp/~account/search/ で検索ができるようになりました。
ですが、まだ完全では有りません。二回目からの検索でエラーになりますね。それを回避するためには NMZ.head.ja と NMZ.head.en の二つのファイルを書き換えます。これらはそれぞれ日本語と英語での、検索結果の表示に使われるヘッダファイルです。

 <FORM METHOD="GET" ACTION="/cgi-bin/namazu.cgi">
という行が有るはずです。
これを両方のファイルともに

 <FORM METHOD="GET" ACTION="namazu.cgi">
と書き換えて下さい。
これで、最低限の検索と表示はできるようになりました。
あとはそれぞれドキュメントを見て、細かいところを調整して下さい。

毎日の更新が反映されるようにするには、crontabで毎朝四時にデータベースを更新するように

0 4 * * * (cd /spool*/www/account/HomePage/search; /usr/local/bin/mknmz /spool*/www/account/HomePage/ )
等としておくとよいかもしれません。


■ emacs(総合環境エディタ)
 EMACSはまさにそれ自体を環境と呼んでも良いくらい高機能なエディタです。
 使用には少々の熟練を要しますが、慣れるとその行き届いた性能に手放せなくなります。
 多国語化したものにMULE等が有りますが、サーバにはMULEの機能を取り込んだ、 Version 20.2 に日本語入力のためにWnn6対応のパッチを当てたものが入っています。
 詳しく解説していると、いくらでも書けてしまいますので、そこのところは市販の書籍に任せるとして、最低限のことだけを書いておきます。

 まず、最低限の設定ファイルを自分のところにコピーしましょう。/etc/skel にあらかじめ最低限の設定を施したファイルが置いてありますので

> cp /etc/skel/dot.emacs ~/.emacs
 としてコピーして下さい。


> emacs
 で、EMACSが立ち上がります

 次に、操作方法を示すのに使われる略しかたです。
 Ctrlキーを押しながら何かキーを押すことを

C-


 Altキーを押しながら何かキーを押すことを

M-
 と書きます。
 M- に関してはALTキーではなく ESCキーを押していったん離してからの入力でも可能です。

 EMACSの終了方法は

C-x C-c
 ですが、これは CTRLキーを押しながら x, c のキーを次々と押すことを示します。

 何か妙な操作をしてしまった時は

C-g
 とおすと、現在の操作が中断されます。

後は

M-x help-with-tutorial
 にあるチュートリアルを見て学んで下さい。


 日本語入力をすることもできます。日本語モードへの変換/中断は

C-\
 です。日本語が入力できる状態では左下に [あ] と表示されます。

 一番始めに変換する時に、辞書を作るか何回も聞かれますが、すべて y と答えて大丈夫です。

 変換操作は

space : 変換開始
C-p : 一つ前の候補へ
C-n : 一つ後の候補へ
C-o : 変換領域を広げる
C-i : 変換領域を狭める
RETURN : 確定
 です。わかりやすく説明するために、わざと違う言葉やキーを使っています。


[BACK PAGE]


Fureai Internet Telephone: (0297)20-6075 Facsimile: (0297)20-6185

ご意見・ご要望・ご質問は query@fureai.or.jp まで

このホームページに関するお問い合わせは webmaster@fureai.or.jp まで

Copyright (C) 1995-1998 Fureai Information Network Corporation