local - みる会図書館


検索対象: UNIX MAGAZINE 1999年12月号
20件見つかりました。

1. UNIX MAGAZINE 1999年12月号

連載 /PERL ADVISOR—@ Time::Local モジュー ) レ my $when = gmtime 1000000000 ; at $when\n" print "timestamp turns a bi11ion 変換された年月日を秒数に戻すために、 PerI には標 準で Time::Local というモジュールが用意されている これを実行すると、 ( perl を正しくインストールしていれば、ドキュメントを Sep 9 timestamp turns a bi11ion at Sun perldoc Time::Local" として読むことかて、きる ) 。たと 01 : 46 : 40 2001 えば、ローカル・タイムゾーンで、 2000 年の最初までに 経過しているかを知るためには、以下のようにすれば という結果カ碍られる ( 誌面の都合上、て折り返してい よい。 ます ) 。 つまり Arthur C. Clarkel が考えるよう ああ・・ use Time: :LocaI; な新しい千年期のどこかで、 time 関数の返り値の桁数が timelocal ( 0 , 0 , 0 , 1 , 0 , 100 ) ; my $time my $string = localtime $time; 1 つ増えるのだ。このとき、いったいどんなプログラムが print "the big ball falls at $time = > $string\n" 言カ作するのだろうか・ こでは、ちゃんと重川しているかを確認するために、 gmtime 関数から返される文字列は、 GMT ( グリニッ ふたたひ文字列に変換して表示している。これを利用すれ ジオ剽芋 ) のものだ。ロンドンや西アフリカに住んでいる は、 2000 年までの秒読みをおこなうカウンタを作ること のでなければ、自分がいるル或のタイムゾーンで表示され ができる。 るはうが便利だろう。これは localtime 関数を使えば簡 単にできる。 use Time : :LocaI; timelocal ( 0 , 0 , 0 , 1 , 0 , 100 ) ; my $time $time ー time ; my $diff my $ no = localtime time ; $diff / = 86400 ; # 秒数から日数への変換 print is now $now\n" if ($diff > 0 ) { printf "we've got %. 2f days t0 go\n" 上で示したように、 gmtime 関数も localtime 関数も、 $diff ; スカラー・コンテキストで使用した場合は、 UNIX の date コマンドの出力に似た文字列を返す。これらの関数をリス ト・コンテキストで使用すれば、年月日などを別々 ( コり 出すこともできる。 my ($sec , $min , $hour , $mday , $mon , $year , $wday,$yday,$isdst) localtime time; こうすれば、年、月、日などを個別に扱うことかできる。 $ rn 。 n の値は 0 から始まること ( つまり 1 を加えればよ い ) と、 $year の値は 1900 を減した値であることに注意 してほしい。 2000 年には $ year の値は 100 になるが、単 純に、 } else { print made it ! \ Ⅱ " もちろん、 $time 刎直はプログラムを呼び出すたびに同 しになるので、この値を 1 度だけ計算して、プログラム中 に書いておくほうがよいだろう。 しかし、てっとり早く使いたいならこれでも十分だ。よ り手の込んたオ売みカウンタが、私の Web ページ (http: www.stonehenge.com/merlyn/) にあるので、参考に してほしい。 Date::Manip モジュー ) レ CPAN (Comprehensive Perl Archive Network) には、組込み関数や標準のライプラリ以外にも日付や時 間を操作するパッケージがたくさんある。もっとも大が かりなのは Date::Manip モジュールである。まだシス テムにインストールしていないのであれは、 perldoc perlmodinstall" に書かれた説明に従ってインストールす ることができる (perlmodinstall がみつからなければ、 $year + = 1900 とするだけでいつまでも正しい年数を得ることができる これらの詳細については、 perldoc -f localtime" を んでほしい。 1 調主 : 英の SF イ 1 家、不十物平論おもなイ得もに『 2001 年字宙の 「宇宙のランデヴー』などがある。 。士冗 1 一二ロ UNIX MAGAZINE 1999 ユ 2 124

2. UNIX MAGAZINE 1999年12月号

図 3 スクリプト install の実行 ( 続き ) 連載 /UNIX Communication Notes (default : /usr/local/cgi—bin) /usr/local/www/cgi¯bin WWW サーバ上で CGI プログラムを置いているディレクトリ名を、絶対パスで入力して下さい。 (default : /usr/local/htdocs) /usr/local/www/data WWW サーパ上でホームページを置いているトップディレクトリ名 ( $ DocumentR00t ) を入力して下さい。 (default : /usr/local/etc/admin—httpd) /usr/local WWW サーバを展開したディレクトリ名 ( $ ServerR00t ) を入力して下さい。 WWW サーパの実行ユーザ ID を入力して下さい。 [ 参照 ] /usr/local/conf/httpd. conf ファイルにて User 変数に指定した値を入力して下さい。 (default : nobody) www httpd のポート番号を入力して下さい。 (default : 8000 ) 80 ICAP ホームページを置くディレクトリ名を入力して下さい。 [ 注意 ] /usr/local/www/data からの相対パスで入力して下さい。 (default : (a) ca ICAP の管理者を登録します。 ICAP 管理者の「ログイン名」と「パスワード」を入力して下さい。 ログイン名を入力して下さい ( 8 文字以内 ) 。 (default: ca-admin) パスワードを入力して下さい ( 8 文字以内 ) 。 もう一度パスワードを入力して下さい。 次に示すようなシンポリックリンクを張ります。 ca—admin ・ /usr/local/www/cgi-bin/* → /usr/10ca1/ICAP/cgi¯bin/* → /usr/10ca1/ICAP/htm1 ・ /usr/local/www/data/ca インストール作業を続けますか ? (default: yes) yes /usr/10ca1/ICAP/bin ディレクトリを整備します。 /usr/10ca1/ICAP/cgi-bin ディレクトリを整備します。 /usr/10ca1/ICAP/etc/icap. conf ファイルを更新します。 /usr/10ca1/ICAP/etc ティレクトリのパーミッション変更 ICAP のユーサ向けメニューの URL は、 http://foo.bar.ac ・ jp/ca/index. html です。 /usr/local/bin/netscape を起動します。初期設定を行なって下さい。 ICAP の管理者向けメニューの URL は、 http://foo.bar.ac ・ jp/ca/admin/index. html です。 〇 〇 5. 必喫なファイルのオ褓内 竟に応じた値を入力していけば、 ICAP のインストー ルは終了する。 意 3 ンストールする UNIX システムのログイン名やパスワードと づいてアクセス制御をおこなっている。もちろん、 ICAP をイ 者用インターフェイスは、このログイン名とパスワードにもと のデータベースにアクセスするときに使われる。 ICAP の管理 ン名」と「ノヾスワード」 " は、ⅥーⅥーⅥーシステム経由で ICAP インストールの過程で登録 - す・る、、 ICAP 管理者の「ログイ インストールするシステム上で、管理者用インターフェイ 意 4 異なっていてもまったく間題はない。 16 スを提供する httpd のホートと、一イ殳ューサー用のインターフ ェイスを提供する httpd のポートとを別にすれは、ポート・フ イルタリングの手法を用いたより強力なアクセス制御が可能に なる。 install 夫行・時の「管理者向けサービスとユーザ向けサー ピスでポートを別々に用意しますか ? 」の質問に対して、 yes と答えれは、そのための設定もおこなうことができる。 CA の言聢 ICAP のインストールカ冬ると Web プラウサが自重加勺 こで CA に関する設定をおこなう。 に起動されるので、 最初に ICAP の管理者用のページか表示される ( 図 4 ) 。 CA 管理者がますしなけれはならないのは、「 1. CA の 初期設定 ()A の立ち上け ) 」である。 こでは、 CA そ のものの設定をおこなう。 UNIX MAGAZINE 1999.12

3. UNIX MAGAZINE 1999年12月号

図 4 sh insta11. sh # mkdir /usr/10caI/man/man5 # mkdir /usr/10ca1/man/man8 # mkdir /usr/local/lib/perl Vi sw_actions . pl cd swatch—2.2 # gunzip —c swatch—2.2. tar. gz ー tar xvf swatch 2.2 のインストール Enter the directory where swatch : - ・の第一可徂ー物 ←ノヾッケージを展開 ← sendmail のノヾスの定義を手多正 あらかじめインストール先のディレクトリを作成しておく ←インストール・プログラムを実行 is t0 be installed (default '/usr/local/etc') /usr/local/bin What user should own the installed swatch files? (default 'root' ) What group should own the installed swatch files? (default 'wheel' ) ← swatch コマンドのインストーノレ先 ディレクトリを指定 ←リターンを入力 What should the permissions be for the installed swatch script? (default ) 755 , ) What should the permissions be for the installed swatch libraries and man pages? (default ' 444 ' ) 材 Enter the name of the directory where the perl library files are located (default '/usr/local/lib/perl ' ) Enter the name of the directory where you wish to insta11 the swatch library files (default '/usr/local/lib/perl' ) What directory should the swatch man pages be installed (default '/usr/local/man' ) What should the extension be for the swatch program manual page? (default ' 8 ' ) What should the extension be for the swatch configuration file manual page? (default ' 5 ) ) Per1 library: /usr/local/lib/perl Here is what I have . binary location: /usr/local/bin manual page location: /usr/local/man program manual page extention : 8 configuration file manual page extention : Swatch data file permissions : 0444 program permissions : 0755 owner : root Swatch group : wheel Swatch Swatch Swatch Swatch Swatch Swatch Are these values okay (y or Ⅱ ) ? y Are you ready for me tO start the installation (y or Ⅱ ) ? y 5 swatch . . . done . sw—actions . p1 ... done . sw—history. pl ... done . swatch. prog. man.... done. swatch . conf . man . . . dO e . マッチしたらメールが送られてくる " と憶えておきます。 そして、 lnstalling lnstalling lnstalling lnstalling lnstalling UNIX MAGAZINE 1999 ユ 2 % swatch —c conf-file —t /var/log/messages & ←インストール終了 と実行しておけは、ログファイルを監視してくれることも 分かりました。しかし、 す。それは、 このままでは大きな問題がありま 27

4. UNIX MAGAZINE 1999年12月号

図 10 ディスク吏用容量を監視する言聢例 # procfs はつねに 100 % なので無視 /*procfs/ # 使用率が 90 % を超えたら通知 ノヾターン 1 ノヾターン 2 ノヾターン 3 図 11 crontab に追加する lgnore mail=root 45 * * * * root /usr/local/bin/swatch —c /usr/local/etc/swatchrc—df -p /bin/df 2 > & 1 >/dev/null ログ監視の方針 ログ監視の方針について説明しておきます。方針は大き く分けて次の 2 つです。 ・特定のパターンにマッチするものを通知する。 すべてのパターンにマッチしないものを通知する。 前者の場合は、図 5 や図 8 て示したように ノヾターーン にマッチするログを管理者に通知します。これは、監視す るログがすべて分かっているときには便利です。しかし、 重要な意味をもっログを見落とす可能性もあります。 後者の場合は、無視してもよいログのパターンを記述 し、それらにマッチしたときのアクションを、、 ignore" に 設定します。そして、、、無視できないものは未のあるロ グだ " と判断し、管理者に通知します。設定ファイルは次 のように言当します。 lgnore lgnore lgnore mail=root リスト 1 再を可能にするパッチ る ) 。こうなっては無意床です。どちらの方針を選ぶかは、 ポックスを飾る本期兼に見えるようになります ( 経験者は語 のメールか届くと慣れてしまい、、、警告 " の文字がメール 想的には後者のはうか望ましいのですが、毎日大量 通知が届いてしまうという欠点があります。 、無視できるログ " が分かるまでの期間、管理者に大量の この方針では、重要なログを見落とすおそれは減るが、 皆さんの判断におまカせします。 使用例 最後に、 swatch の使用例を紹介します。 ます、 /var/log/messages ファイルを監視する例で す。図 9 の内容のファイルを作成し、これを /usr/local/ etc/swatchrc-const として保存します。次に、 /etc/rc. local の末尾に次の行を追加します。 echO ” swatch constant monitoring /usr/local/bin/swatch —c - /usr/local/etc/swatchrc—const - —r 02 : 01 -t /var/log/messages この例は、ログファイルのローテーション処理が午前 2 時におこなわれることを前提としています。下線て示した 部分は、実際のローテーション処理日骸リの設定に合わせて 適当に変更してください。 次に図 10 の内容のファイルを作成し、 /usr/local/etc /swatchrc-df として保存します。そして、図 11 のエン トリを /etc/crontab に追加します。 今回は、 FWTK のファイアウォール上で swatch を 使用する例を紹介しました。監視対象のログの不頁は、サ イトによって異なるはすです。それぞれの要求や環境に合 わせて適当に変更して利用してください。 ☆ 次回は、もう 1 つのログ監視プログラム logsurfer に * * * swatch . 01d swatch Sat Sep 25 23 : 14 : 45 1999 Wed Oct 20 17 : 01 : 23 1999 * * * 100 , 105 * * * * 100 , 107 $SIG{' INT'} $SIG{'QUIT'} $SIG{'TERM'} ついて説明します。 quit ) UNIX MAGAZINE 1999.12 ( しらさき・ひろお ) 31

5. UNIX MAGAZINE 1999年12月号

連載 / UN Ⅸ知恵袋ー UNIX MAGAZINE 1999 ユ 2 services に追加します。 /etc/services というファイルです。図 3 の内容を /etc/ ます。ネットワーク・サービス名のデータベースは通常、 だ IMAP や POP の定をしていなけれは追加しておき もし、ネットワーク・サーピス名のデータベースにま カ臻れてしまいます。 るからです。 qpopper を使うと、 imapd が j 助日した「帯に スの管理のために、メールスフ。ールに特殊な情報を追加す うがよいでしよう。なぜならは、 imapd はメールポック 合は、 qpopper よりも ipop2d や ipop3d を利用したは トン大学の imapd を使いながら、同時に POP も使う場 POP ノヾージョン 3 のサーノヾー・プログラムです。ワシン ipop2d と ipop3d はそれぞれ、 POP バージョン 2 、 # cp ipopd/ipop3d /usr/local/libexec # cp ipopd/ipop2d /usr/local/libexec # cp imapd/imapd /usr/local/libexec $ su リ (/usr/local/libexec など ) にコピーします。 きているはすです。これらのファイルを適当なディレクト ipop2d 、 ipopd/ipop3d という 3 つの実行ファイノレかで make が無事に完了したら、 imapd/imapd 、 ipopd/ $ make bsf $ cd imap—4.6 なります。 ンパイルします。たとえは、 FreeBSD ならば次のように make コマンドを実行するときに、識別名を指定してコ いるとしたらたいへん貴重です。ぜひ保存しておきましょ われます。もし、表 5 に挙げた以外のシステムを使って 現在使われているはとんどのシステムで利用可能だと思 す。 UW-IMAP は表 5 に示すシステムをサポートしていま ftp.cac.washington.edu/imap/から入手できます。 IMAP サーバーです。最新バージョンは 4.6 で、 ftp:// UW-IMAP はワシントン : た学が公開しているフリーの UW-IMAP のインストール 図 3 ネットワーク・サービス名データベースの言聢 pop2 109/tcp postoffice pop3 110/tcp imap 143/tcp imap2 imap4 inetd から imapd か起動されるように、図 4 の設定を inetd の設定ファイル ( 通常は /etc/inetd. conf) に追加 します。 最後に、 inetd に設定ファイルの内容を反映します。 Escape character iS Connected to localhost . Trying 127.0.0.1. $ telnet localhost imap てみましよう。 成疋か浣了したら telnet で IMAP サーバーに接続し # kill —HUP inetd のプロセス ID [ 5 ] John G. Myers, IMAP4 員 CL e e れ s を 0 れ , RFC2086 , December 1996 CESS P 〇 TOCO ん一レ E S / 0 ル・ e ゼみ RFC2060 , [ 4 ] Mark R. Crispin, INTERNET MESSA GE AC- 1996 fice ProtocoI ー梔 7 0 れ 3 , RFC1939(STD53), May [ 3 ] John G. Myers and Marshall T. Rose, Po 0 nisms, RFC1731 , December 1994 [ 2 ] John G. Myers, / 4P イ A 社 t ん e れ ca 厖 0 れ Mecha- RFC1700(STD2) , October 1994 [ 1 ] J. ReynoIds and J. PosteI, Assigned ル盟れ bers , [ 赭文献 ] ( しま・けいいちシャーカ 定などについて角見します。 りのコマンド群、サーバーからの応答、 UW-IMAP の設 のなかでもっとも複雑な取得コマンドをはしめとして、残 マンドの一部を解説しました。次回は、 IMAP コマンド 今回はメールプロトコルとして IMAP をとりあげ、コ ☆ 設定は次回に解説します。 ジか表示されれはインストール完了です。 UW-IMAP の 上の例のように、 IMAP サーバーからの挨拶メッセー * OK localhost . mydomain. com IMAP4rev1 V12 . 250 January 1997 43

6. UNIX MAGAZINE 1999年12月号

連載 UNIX Communication Notes 図 2 スクリプト install の実行 # . /install ようこそ、 ICAP (ICAT CA Package) へ。 ・ sendmail ・ Per1 ( ver .4 .036 以上 ) ・ Web プラウサ (netscape, mosaic 等 ) ・ NSCA httpd 行なう必要があります。 I CAP を利用する為には、あらかじめ以下のソフトウェアのインストールを Web プラウサを起動するコマンドのパス名を入力して下さい。 (default : /usr/etc/chown) /usr/sbin/chovn chown コマンドのパス名を入力して下さい。 (default : /bin/chmod) /usr/chmod chmod コマンドのパス名を入力して下さい。 (default : /usr/ucb/Mai1) /usr/bin/Mai1 Mai1 コマンドのパス名を入力して下さい。 (default : /usr/ucb/tail) /usr/bin/tail tail コマンドのパス名を入力して下さい。 (default : /bin/ed) ed コマンドのパス名を入力して下さい。 (default : /usr/lib/sendmail) /usr/sbin/sendmail sendmail コマンドのパス名を入力して下さい。 (default : /usr/local/bin/perl) /usr/bin/perl Per1 コマンドのパス名を入力して下さい。 インストール作業を続けますか ? (default: yes) ビスやユーサ向けサービスへのアクセスをコントロールする機能はあります。 ) ( サービスポートを別にしない場合でも、 IP アドレスによって管理者向けサー 起動しておく必要があります。 けサービスに対する不正アクセスを防止したい場合には、 httpd をもう 1 つ これらのサービスポートを別にし、ポートフィルタリングによって管理者向 さらに、 ICAP には管理者向けサービスとユーサ向けサービスがありますが、 [ 注 ] $ServerRoot とは WWWサーパのトップディレクトリを意味します。 クリンクを許していること。 (F0110wSym1inks を設定していること ) ・ $ServerR00t/{cgi—bin,htdocs} ディレクトリ内のファイルにシンポリッ リプトとして、 Web プラウサから実行可能であること。 ・ $ServerRoot/cgi—bin ディレクトリにおいた実行ファイルは、 CGI スク ・ $ServerRoot/cgi—bin ディレクトリが存在していること。 ことを確認して下さい。 また、このスクリプトを実行する前に、次の条件で httpd が起動している yes) no 管理者向けサービスとユーサ向けサービスでポートを別々に用意しますか ? /usr/local/bin/netscape) (default : (default : UNIX MAGAZINE 1999.12 15

7. UNIX MAGAZINE 1999年12月号

Network TechnoIogy 播ロ陽ー ADSL ADSL (Asymmetric DigitaI Subscriber Line : 非 対称デジタル加入者線 ) は既設の電話線を用いて下り ( 局 舎→加入者 ) 帯域が最大 8Mbps 、上り ( 加入者→局舎 ) 帯 域が最大 IMbpsl という従来のモデムの 100 倍以上の通 信帯域を可能にする技術です。日本でも、いよいよ ADSL の商用サーピスか始まりました。 私の住むシリコンバレーでは昨年から ADSL の商用サ ービスか始まっていましたが、本格的な普及は今年 1 月 12 日に pacific Be Ⅱ 2 がそれまで月額 89 ドル (ISP 料金 を含む ) だった ADSL サービスを、突如約半額の 49 ド ルに値下げしてからです [ 1 ] 。 このサービスの内容を以下に示します。 ・下り 384Kbps イ正、 1.5Mbps ( 最大 ) 上り 128Kbps ・固定 IP アドレス 1 個 ・ Pacific Bell ISP カ甘是供する電子メールアドレス 1 個 ・ダイヤルアップ・アカウント 1 個 このなかでおもしろいのは、ダイヤルアップ・アカウ ントか標準で 1 っ付いてくることです。 ADSL により高 速でインターネットに接続されているのに、なぜダイヤル アップ・アカウントが必喫なのでしようか。その理由は以 下のとおりです。 ADSL を用いた場合、インターネットに常日罸妾続する ことになりますが、接続地点は 1 カ所 ( 通常は自宅 ) に固 定されます。したがって、 ADSL の導入にあたっては、 出張などで自宅を離れた際のインターネット接続について 1 この値は理髜直で、実ド ) 最大帯域は局舎と加入者間の足能およひ回糸 ) 品質に大きく左右されます。 2 カリフォルニアの」或電話会ネ 68 考慮しなくてはなりません ( 日本で OCN を導入したとき も同じです ) 。また、 ADSL が ( 不幸にも ) ダウンした場 合のバックアップについても考える必喫があります。出張 が多い営業などの人はともかく、年に数回の出彊や事故の ためにダイヤルアップ ISP 料金を毎月払うのは嬉しくあ りません。このような理由から、標準でダイヤルアップ・ アカウントが 1 つ付いているのは魅力的です。 米国では 1996 年に通信去か改正さ電気凾信市場は 原則自由化されました。これにより、 PacificBell のよう な ILEC3 に対して新興地域電話会社 CLEC4 、さらには CATV 会社も自社の保有するケープルテレビ用回線を用 いてインターネット・アクセスを含む地域電話会社事業に 参入し、激しい価格競争を繰り広げています。 Pacific Bell による ADSL サーピスの価格引下げはこ の価格競争の一環で、私もこれを機に自宅に導入すること にしました。 今回および次回は ADSL 技術をとりあげます。予定し ているトピックは以下のとおりです。 ・加入者辛 ) 構造 ・各種ライン符号化方式と ADSL における符号化方式 ・その他の DSL 技術 ・ ADSL と上イ立層 ・ ADSL サーピスで用いられる機器 ・固定 IP アドレス竟におけるインターネット接続の注 今回は最初の 3 つについて詳しく解説します。 3 lncumbent Local Exchange Carrier : 既存よ麒或電話会社の略。 4 Competitive Local Exchange Carrier : 競合よ麒或電言舌会ネの田各。 UNIX MAGAZINE 1999.12

8. UNIX MAGAZINE 1999年12月号

連載 UNIX Communication Notes 図 1 パッケージ堋者の彖 要、フ , イル = 編集表示 - ジャン乙 : 重 pnm 町 1 記 or 、 ' ー寺 : 気 . 所 0 =. 0 ・ 0000. = 0 ・ 0.0 , 、・ jp ー 0 ・ i - 、 0 ー、 000 、 0000 ag 市炊府 ( 」午可ま対弓可カ要です に叩 2 ・ー common ね「平使用に関する登録申請類 REGISTRA 引 ON ) 入力された個人調ま、バージョンアップ . バグ情、どをわらせすメこ使用する場合カ物リ 子メールアドしス ます . あらかじめ : 7 承ください . ⅵい をダウンロードする。 ・ ICAP V2.33 (for FreeBSD 2.2.5 ) ー 00 : 气 なよ、日本こ在住する日本人ですか ? ! ⅵれ、 「利用劇を道キしますか ? らダウンロードする。 後に図 1 のフォームか表示されるので、ここで登録してか ら、利用者登録を求めるようになっている。利用規程の最 パッケージに含まれるモジュールに配布条件があることか ICAP を公開しているが、輸出規制の対象であり、かっ は、開発成果を多くの人に使ってもらうことを目的として をよく読み、その主旨を十分に理解してはしい。 ICAT で すると、最初に「 ICAP 利用規不物か表示される。これ これらのパッケージにリンクしたアンカーをクリック 中止ということになりかねない。 としているため、 当剥寺 : には、 意 2 でたらめな情報が入力されたりすると、公開 インでの公開は、利用者登録が正しくおこなわれることを前提 正しい情報を入力していただきたい。オンラ 次に、 ICAP 以外のソフトウェア・パッケージをい その他のソフトウェア # tar zxf icap2.33—freebsd2.2.5—portion. tar ・ gz # tar zxf icap2.44—common. tar ・ gz # cd /usr/local 以下のようにす川ま、 /usr/local/ICAP に展開される。 入手したパッケージを適当なディレクトリに展開する。 Web プラウサ、 Perl の 3 つのソフ くつかインストールする。 ICAP の稼動に必要なのは、 トウェアである。 ⅥーⅥーⅥーサーノヾー UNIX MAGAZINE 1999.12 WWV•,I サーパー ICAP では、インターフェイスとして WWW を利用 するため、 CA を構成するホストに WWW サーバー・ソ フトウェアを導入する必要がある。今回は、 Apache 1.3.9 を使うことにする。 FreeBSD の場合は、 ports を使えばインストールも容 易である。その他のプラットホームについては、 ・ http://www.apache ・ org/ から配布パッケージを入手してインストールする。 インストールしたら、 ICAP のために CGI プログラム が使えるように設定する。 宜設定する。 クトリ " として指定し、工鼬竟に合わせてオプションを適 クトリを httpd.conf ファイルなどで、、 cgi-bin ディレ 行できるようにする。それには、上記で作成したディレ イルを、 Web プラウサから CGI スクリプトとして実 2. $ServerRoot/cgi-bin ディレクトリに置いた実行ファ レクトリを作成する。 ンポリック・リンクを削除し、あらためて cgi ー b ⅲディ シンポリック・リンクされている。そこで、いったんシ の Apache の成疋では、 cgi-bin は cgi-bin. default に 1. $ServerRoot/cgi-bin ディレクトリを作成する。標準 実行に必要である。 ICAP のマニュアルには、 Perl 4.036 perl は、 CGI プログラムとして作られたスクリプトの Perl なる。今回は、 Netscape Communicator 4.61 を使う。 ICAP のインストールの過程で Web プラウサが必要に Web プラウサ うかを石忍しておく。 最後に、設定した WWW サーバーが正しく動くかど Options F0110wSymIinks レクトリについて次のように設定すればよい。 たは access. conf などのファイルで、上記 2 つのディ らが正しく動く必要がある。それには、 httpd.conf ま レクトリにシンポリック・リンクを用意した場合、それ 3. $ServerRoot/cgi-bin および $DocumentRoot ディ 13

9. UNIX MAGAZINE 1999年12月号

0 く /tr> く tr> く td bgcolor=#dddddd> く a name="move" > く pre file=wtangle> sub move { local($from,$to) return if $from eq $to; system "\\mv —f $from $to" if ( $ ? ) { # mv 実行ェラー print STDERR "Can't move $from tO $to\n" &finish; く /pre> く /td> く td> ファイル移動をおこなう。 簡単のためく code > mv く / code > コマンドを使用している。 く /td> く / t て > く tr> く td bgcolor=#dddddd> く a name="diff"> く pre file=wtangle> sub diff { 10ca1($fi1e1,$fi1e2) system "diff $filel $fi1e2 > /dev/null" ・ $ ? > > 8 ; # コマンドステータス く /pre> く /td> く td> ファイル比較をおこなう。 簡単のためく code > diff く / code > コマンドを使用している。 く /td> く /tr> く /table> く hr> く h2 > 感想などく / h2 > 実際のところ、 プログラムを書くたびに WEB 文書や HTML を真面目に記述するのはとても面倒なので、 普通のプログラム開発に文芸的プログラミングの手法を適用するのはちょっと無理があるように思う。 しかしオープンソースとしてプログラムを公開したい場合や、 プログラミングの解説をしたり、解説書を執筆するような場合には この方式は便利なのではないかと思っている。 真面目に図や解説を書くのは面倒かもしれないが、 プログラムに手描きの GIF 画像を添付するだけても後で思い出したりするのに便利だろうし、 説明や関連情報へのリンクを添付するには便利であろう。 人に見せる機会があるプログラムや将来再利用する可能性があるプログラム、 複雑なアルゴリズムを用いたプログラムなどはなるべくこの手法で整備してみようと思っている。 く /body> く /html> 176 UNIX MAGAZINE 1999.12

10. UNIX MAGAZINE 1999年12月号

, けつま 3 びっ u ド 図 2 xppxp インターフェイス まな設定がおこなえます。各接続先を登録したい場合は ppxp>" プロンプトに続けて qdial コマンドを実行しま す。すると、 接続に使うデバイス ・ダイヤル方式 (ATD コマンドの尺 ) 接続先の電話番号 ・ログインユーサー名およびパスワード 図 3 xppxpm インターフェイス ・岩田設疋 ( 認正フ。ロトコル、 PPP のモード、モデムの 不頁、 DNS サーバーなど ) を入力する画面に切り替わります。ここでプロバイダの電 話番号をはじめ、必要な情報を入力すると設定は終りで す。入力カ鮗ったらすぐに電話をかけることもできます し、設定を保存することも可能です。設定を保存した場合 には、ユーサーのホーム・ディレクトリ以下の、 す。私はコマンドラインでコマンドを打つのカ子きなので ~/ ・ PPXP/C0nf すが、これに関しては最低限の機能しかないところか気に ディレクトリ内に各設疋が保存されます。コマンドライ 入ってしまいました。いったん立ち上げておくとボタンを ン・インターフェイスを終了するには quit コマンドを使 1 っ押すだけで寸妾続や切断をしてくれるし、接続時間か表 います。各設疋は、設定の際に決めた名前のファイルにリ 示されるので使いすぎ防止にも役立ちます。さきはどのコ スト 2 のようなかたちで保存されます。 マンドライン・インターフェイスを使いたいときは、右上 登録した設定を利用して電話をかけるのもとても簡単で の PPxP と書いてある部分をクリックすればよいように した。たとえば、 tokyo という名前でイ求したアクセスポ なっています。 イントに電話するには、 xppxp は PPxP と同時にインストールされるので、す ぐに使うことかできます。 % ppxp tokyo PPxP のインストール後に と入力して PPxP を立ち一 E げて、 ppxp>" プロンプトの /usr/local/share/doc/xppxp/README あとに、 に xppxp の使い方の説明が入っていたので、このドキュ ppxp> connect メントを参照して使い方を憶えました。 のように打ち込むだけです。これで接続が始まって、接 xppxp を立ち上げる際には、 PPxP の qdial コマンド 続されるとプロンプトが ppxp>" から、 PPXP>" に変わ で設定した接続先を追加して、 ります。電話を切るには、 % xppxp t okyo PPXP> disconnect とコマンドを打ち込みます。これで xppxp インターフェ と入力するだけです。あまりに簡単に設定や接続ができる イスか画面 - ヒに出てきます。あとは、接続したいときに左 ので、すっかり PPxP カきになってしまいました。 から 2 番目のボタンを押し、切断したいときに左から 3 手軽な xppxp 番目のボタンを押すだけです。この簡単さが気に入ってい ます。 PPxP を X 上でさらに手軽に使うために、 GUI を提 供する xppxp ( 図 2 ) というコマンドが用意されていま また、 xppxp には 48 x 48 ドットのアイコンサイズ す。このプログラムは電話の接続と切断だけをするもので のもの ( 図 3 ) もあります。こちらは xppxpm というコ ロ 夏 0 90 UNIX MAGAZINE 1999 ユ 2