私の PC はモデムとおしゃべり出来ているの?
 くーー。この章は書くのが大変・・。またの機会に・・(^^;。


プロバイダに接続してみよう
 いつまでも Win95 から PPP しててもつまらないですよね。と、言う事で FreeBSD から IIJ-PPP を使ってダイアルアップ PPP 接続に挑戦しましょう。通常は /etc/ppp がその環境設定のディレクトリです。既に FreeBSD 2.1.5-RELEASE では標準バンドルなのですね。

0. 架空の設定
 自宅のマシンをプロバイダに接続します。その条件は以下とします。

・Login ID         : dreams
・Passwd           : onenight
・ドメイン名       : comeback.or.jp
・プロバイダの DNS : 192.235.209.34
・接続電話番号     :  03-1234-1234
・ホスト名         :  roman (自分のマシンにはホスト名をつけましょう)
・ホストの IP ADDR :  192.168.1.2 (これは実際には使用されません)
1. /etc/resolv.conf の設定
 まずは、/etc/resolv.conf に設定して プロバイダの DNS を索ける様にします。
----------------
nameserver  192.235.209.34
domain    comeback.or.jp
----------------
2. /etc/hosts の設定
 続いて /etc/hosts の設定をします。自分のホストの他にプロバイダに存在する各サービスサーバの定義を書いた方が良いでしょう。無駄なパケットを流さない方が良いです。特に SMTP サーバは絶対に書いた方が良いです。
----------------
# Host Database
127.0.0.1    localhost loghost
192.168.1.2   roman.comeback.or.jp  roman

#
192.235.209.34  ns.comeback.or.jp       ns  	# Name server
192.235.209.35  smtp.comeback.or.jp     smtp	# SMTP server	
192.235.209.36  pop.comeback.or.jp      pop	# POP  server
----------------
3. /etc/host.conf の設定
 この設定は /etc/resolv.conf に設定した DNS を先に見に行くか、それとも /etc/hosts を先に見に行くかの設定をします。上に書いてある方から順に索きに行く事になります。
----------------
# If that doesn't work, then try the /etc/hosts file
hosts
# Default is to use the nameserver first
bind
# If you have YP/NIS configured, uncomment the next line
# nis
----------------
 この設定では、先に /etc/hosts を見た後で DNS を見に行く様に設定しました。この時、/etc/hosts に SMTP サーバの設定が無いと、sendmail は SMTP サーバがどこにあるのか解ららなかったとして、ダウンしてしまいます。
 普通の人は自宅の FreeBSD が起動したと同時にインターネットに接続する、している人は少ないわけで、大体は起動した後で login してから PPP 接続してメールを読もうとします。所が PPP 接続前に既に sendmail 様はお亡くなりになってしまってるのです。なので、 /etc/hosts には SMTP サーバの設定をちゃんと書いておきましょう。

4. /etc/ppp/ppp.conf の設定
 いよいよ、PPP の設定です。まぁ、世間一般の PC/AT で FreeBSD が動いているのであれば以下の設定で大丈夫だと思います。

----------------
#
# Default setup. Executed always when PPP is invoked.
default:
 set device /dev/cuaa1
 set speed 115200
 set timeout 300
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDP\\T TIMEOUT 40 CONNECT"
#
# comeback.or.jp PPP
comeback:
 set ifaddr 192.235.209.50/0
 set phone  0312341234
 set login "TIMEOUT 5 login: dreams word: onenight"
 dial
----------------
 "default:"ではモデムに対する初期の設定を行います。まぁ、「こんな感じ」で OK でしょう・・(^^;
 "comeback:" ではプロバイダに対する個別の設定を行います。"set phone" と、"set login" は解ると思いますが、"set ifaddr" には以下の意味と種類があります。それは指定する IP アドレスによって変わります。尚、ここに書いた "comeback" が ppp コマンドのパラメータとなります。
・192.235.209.50/32	192.235.209.50 じゃないと絶対やだ
・192.235.209.50/0 	192.235.209.50 を要求するが使われていたら違うのでもよい
・192.235.209.50/24	192.235.209.50 を要求するが使われていたら192.235.209.0 〜 255 のどれかをちょうだい
・0.0.0.0/0		なんでもお任せ。好きなのちょうだい 
5. /etc/ppp/ppp.linkup の設定
 さてさて、ここまで来れば後一歩、最後に /etc/ppp/ppp.linkup の設定をし ます。
----------------
comeback:
   delete ALL
   add 0 0 HISADDR
MYADDR:
   add 0 0 HISADDR
----------------
 これら ppp 関係の設定し終えると、ppp コマンドラインから term とか打たなくても OK になります。これらの設定が終ったらプロンプトから次の様に叩いてみましょう。
----------------
roman# ppp comeback
User Process PPP. Written by Toshiharu OHNO.
Log level is 09
can't open /etc/ppp/ppp.secret.
Warning: No password entry for this host in ppp.secret
Warning: All manipulation is allowed by anyone in the world
Using interface: tun0
Interactive mode
Dial attempt 1
dial OK!
login OK!
ppp ON roman> Packet mode.
ppp ON roman> 
PPP ON roman> 
----------------
 接続に成功すると、PPP のプロンプトが小文字から大文字に変わります。ppp ON roman> → PPP ON roman> これでつながりました。後は、ネームサーバに ping でも撃って確かめてください;-)。

6. あれれ?まだ継らないや・・。
 モデムが、「ぴーーひゃらららぁーー」って言うけど、その後 PPP プロンプトに変化が現れない・・。パケットが飛んで行かない・・。事は有りませんでしたか?それは接続先プロバイダが PAP か CHAP かの違いによりはじかれるのです。残念。
 今までの設定は PAP の設定でした。ここでは、CHAP 、非同期の設定方法に付いて説明しましょう。さて、私自身、 PAP と CHAP は何なのか?を知りません・・(^^;。某プロバイダの人に「この設定にしてみな。」と言われて設定したのでした(^^;;。
#ありがとです。新宿にある某大手プロバイダなお友達。

----------------
#
# Default setup. Executed always when PPP is invoked.
default:
 set device /dev/cuaa1
 set speed 115200
 set timeout 300
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK \\dATDP\\T TIMEOUT 40 CONNECT"
 disable lqr			# lqr の設定を追加します。
 deny lqr			# lqr の設定を追加します。
 accept lqr			# lqr の設定を追加。この 3 行ですね。

#
# comeback.or.jp PPP
chap:
 deny pap			# pap の設定を無効にします。
 accept chap			# chap の設定を有効にします。
 set ifaddr 192.235.209.50/0
 set phone  0312341234
# set login "TIMEOUT 5 login: dreams word: onenight"	
 set authname   dreams		# loginID の記述方法の変更。
 set authkey    onenight	# passwd の記述方法の変更。
 dial
----------------
 さ、これて OK でしょう。もう何処へでも PPP で継ります。良かった良かった。

 え?まだつながらない・・。困りましたねぇ・・。では、僕の知っている本当に最後のネタです。これで継らなかったら私のホームページを参考にするのは諦めてください・・(g_g)。

----------------
#
# comeback.or.jp PPP
saigo-no-jyoho:
 accept pap
 set ifaddr 192.235.209.50/0
 set phone  0312341234
 set authname   dreams
 set authkey    onenight
 set login "TIMEOUT 5 ogin:-\\r-ogin:"
 set openmode active		# この一行を追加っ!!
 dial
----------------
 "set openmode active" というのがミソらしいです。PAP モードの場合に有効になる見たいです。

 これで継って欲しいですねぇ・・。< PPP では頑張ってトライっ!!。 他、いろいろな情報が見付かったらどんどん掲載して来ますね。


メールの送信は OK かな?
さて、せっかく MH+mule+mew をインストールしたのだから、自分の好きなキーバインドの mule でメールを書きたいですよねぇ。けど・・。

「ありゃりゃ?自分が送信したメールの From: 行のドメインに hostname が付いてしまう。これじゃレスポンス書いてくれた人はエラーメールとして戻っちゃうなぁ・・。どうすれば良いのだろう・・。」

 になってしまうのです(^^;。さてさて、sendmail.cf をホスト名が付かない様に書き直しましょう。と、言っても多分全然解らないでしょぅ。そんな時は CF です。  →  CF-3_5Wb5_tar.gz

 これを適当なディレクトリにて解凍します。そして以下のコマンドを打ち環境を整えます。

----------------
roman# cd CF-3.5Wb5
roman# make cleantools
roman# make tools
roman# make samples
----------------
 これで準備は整いました。さて、 CF の書き方ですが、一番最初に(例えば) sample.def ファイルを作ります。その後で、"make sample.cf" とすると sample.cf が作成されます。んでもってサンプルを書くぞっ!!と思って ./Samples の中を覗いてそれらしい def ファイルを見付けて作って見ますが・・。どれもこれもなかなかドメイン名からホスト名がとれないのです(g_g)。そこで、あぁーら不思議。ホスト名が取れる def ファイルはこちらにあります;-)。  →  
sample.def

 それでは説明します。環境は前出の環境と同様にします。

・ドメイン名  : comeback.or.jp
・DNS         : 192.235.209.34
・SMTP 名      : smtp.comeback.or.jp
・Login ID    : dreams
1.以下のパラメータはお約束的要素が強いです。
DEF_ID='@(#)boyoyon.def	1.4 (takano@crayfish.co.jp) 10 Jun 1996'
CF_TYPE=R8V6
VERSION_SEPARATOR=-
LOCAL_VERSION=boyoyon
OS_TYPE=bsdi2.1
2. ここいらのあたりは割と重要になってきます。全ては SPECIAL_* パラメータにかかって来ていると言っても過言では有りませんが・・。
MX_SENDMAIL=yes			まぁ、yes/no どちらでもよい
MY_DOMAIN='comeback.or.jp'	プロバイダのドメイン名を書く
OFFICIAL_NAME='$w.$m'		これは書いても有効にはならない
FROM_ADDRESS='$m'		同上
ACCEPT_ADDRS='$m'		同上
SPECIAL_FROM='comeback.or.jp'	プロバイダのドメイン名を書く。実際の From: 行になる
SPECIAL_USERS='root dreams'	ローカルホスト内のユーザ ID を書く
SPECIAL_FROM_REWRITE=yes	FROM_ADDRESS パラメータを上書きするぞオプション
#
DIRECT_DELIVER_DOMAINS='none'
DEFAULT_RELAY='smtp.comeback.or.jp'
RECEIPT_GENERIC=yes
 この sendmail.cf の処理内容ですが、ざっと話すと以下の様な仕掛けになります。

 さて、sample.def は出来ましたか?なら次は make です。先程も書きましたが、 sample.def を make する事によって sample.cf が作られます。よって make コマンドは以下の様になります。んでもってインストール。
----------------
roman# make sample.cf
MASTER=Master TOOLS=Tools  Tools/Configure sample.def > sample.cf.tmp
Waring: define TIMEOUT_QUEUE* instead of MSG_TIMEOUT.
mv -f sample.cf.tmp sample.cf
roman#
roman# install -c -m 444 -g bin -o root ./sample.cf /etc/sendmail.cf
----------------
 これで make と install は完了です。がっ!! インストールする前に古い /etc/sendmail.cf は保存しておいた方が良いでしょう。また、できたての sendmail.cf はテストした方が良いでしょう。テストモードで sendmail を動かします。
----------------
roman# sendmail -bt -C ./sample.cf
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 root
rewrite: ruleset  3   input: root
rewrite: ruleset  3 returns: root
rewrite: ruleset  0   input: root
rewrite: ruleset  0 returns: $# local $: root
> 
----------------
 "3,0" はお約束で メール送信する ID の前に付けます。いろいろテストして見てください(例えば外のドメインを付けてテストするとか。すると結果が変わります。ちゃんと SMTP サーバ迄たどり着くかテストしましょう;-)。その詳細はここには書かないです(^^;;;。尚、sendmail のテストモードを抜ける為には Ctrl-d を押すとフツーのフロンプトに戻ります。

 これで sendmail は正しく動く様になりましたか?動かない?そーですね。 sendmail 様は起動時からずっと動きっぱなしなので、 /etc/sendmail.cf を書き換えてもだめなのです。sendmail をリスタートするか、マシンを reboot してください。これで次回起動後は新しい sendmail.cf で動くでしょう。

 さてさて、本当に大丈夫かな?うぅぅぅみゅ。出来た sendmail.cf はちゃんと動いていてメールを出したけど「同じプロバイダの人にメールを出したけど、ローカルホスト内で処理しちゃって外の SMTP に出て行かないっ!!」と言う現象に陥りませんでしたか?そー言う時は sendmail.cf にちょっとだけ手を加えましょう。

----------------
# address which should be accepted
#FZ/etc/sendmail.aa
CZ $m
----------------
 と、なっている部分を以下の様に変更します。
----------------
# address which should be accepted
#FZ/etc/sendmail.aa
CZ $j
----------------
 これで再度リスタートして、さて、再度テストだぁ!!今度は多分うまくいったと思います。めでたしめでたし;-)。

メールの受信は OK かな?
 メールの受信ですが、こいつは楽です。プロバイダ側は普通 pop によるプロトコルでメールを読む様に設定しています。そこからメールを取って来るのですが、FreeBSD 2.1.5-RELEASE には popclient(popclient release 3.0b6) と言うのが CD-ROM のパッケージの中にあります。そいつを pkg_add でインストールします。

 そしたら PPP 接続して以下の様にコマンドを打つだけです。そんでもって MH のコマンド inc すれば自分の mule+mew でメールが読める様になります。

----------------
roman# popclient -3 -u dreams -p onenight pop.comeback.or.jp
roman#
querying pop.comeback.or.jp
QUALCOMM Pop server derived from UCB (version 2.1.4-R3) at pop.comeback.or.jp starting.
2 messages in folder, 2 new messages.
reading message 1.
reading message 2..
roman# 
----------------
 パラメータ "-3" はサーバが pop3 を使用している事を示します。他に pop2 も有る(オプション "-2" になります)のでこの辺りは接続するプロバイダに聞いてみましょう。
 このコマンドを定期的に起動出来る様にしたスクリプトが以下です。
----------------
#! /bin/sh
while :
do
   echo 
   popclient -3 -u dreams -p onenight pop.comeback.or.jp
   popclient -3 -k -u dreams -p kaisyapass caisya.co.jp
   sleep 120
done
----------------
 このスクリプトは、2 分毎に、プロバイダの pop サーバからメールを取り寄せる、と共に会社の自分のマシンからもメールを取り寄せる。ただし、会社のマシンのメールはサーバに残しておく("-k" keep オプション)事を意味します。

 当然、会社のファイアーウォールが(無くて;-)通過出来て、自分のマシンに popper がインストールされている事が大前提です;-)。  →  qpop2_1_4-r3_tar.Z

 さてさて。メールの送受信の両方を書きましたが、ここで気を付けなければ行けない事があります。当然なのですが、自分の FreeBSD に login するアカウントは当然プロバイダに接続する loginID でなければなりません。会社のと同じのを取れた人は良いのですがね・・。


netscape3.01の日本語対応
 ftp://ftp20.netscape.com/からnetscape の BSDI 版をダウンロードして溶かしても動かないのです。
----------------
roman# ln -s /usr/X11R6 /usr/X11
roman# ln -s /usr/local/netscape/nls /usr/X11/lib/X11/nls
roman# ln -s /usr/local/netscape/netscape /usr/local/bin/netscape
----------------
 netscape 展開ディレクトリが /usr/local/netscape にあるとして、これだけ作業してようやっとです(^^;。がっ!! これだとただの netscape です。日本語対応がいまいちです。例えば Form 入力の時の submit ボタンの日本語が表示され無かったり、VALUE の日本語が文字化けになります。ではどうするかと言うと、各種設定します。大変ですね。詳細は  →  http://www.bpel.tutics.tut.ac.jp/~take/Netscape/FreeBSD.htmlでどうぞ。

 そんな方の為にパッケージを作りました(^^)V。FreeBSD 2.1.5-RELEASE で netscape3.01 を動かしたい方にお勧めです。ダウンロードできます。  →  こちら
 以下の様に展開、作業してしてください。netscape 展開ディレクトリが /usr/local/netscape に作成すると仮定します。

----------------
roman# cd /usr/local
roman# tar xvzfp netscape301.tar.gz
roman# ln -s /usr/X11R6 /usr/X11
roman# ln -s /usr/local/netscape/nls /usr/X11/lib/X11/nls
roman# ln -s /usr/local/netscape/netscape.sh  /usr/local/bin/netscape
----------------
これでパッケージの展開は終りです。後は自分の環境変数に以下の二つを追加します。私は .tcshrc に以下の行を追加しました。
----------------
# SETENV
setenv LANG ja_JP.EUC 

# Netscape 3.0
set XNLSPATH = /usr/local/netscape/nls
----------------
 さて、試してみましょう。.tcshrc の動いた kterm 上から起動するとばっちり動きますね。fvwm の FvwmButtons から起動するときは以下りスクリプトを使ってください。
---------------- netscape.tcsh
#!/usr/local/bin/tcsh
# SETENV
setenv LANG ja_JP.EUC 

# Netscape 3.0
set XNLSPATH = /usr/local/netscape/nls

# Netscape 
/usr/local/netscape/netscape.sh -geometry 500x500
----------------
---------------- ~/.fvwmrc 内での設定
  :
Exec "Netscape" exec /home/dreams/bin/netscape.tcsh &
  :
  :
*GoodStuff Netsocape NetscapeLogo.xpmExec "Netscape" /home/dreams/bin/netscape.tcsh &
  :
----------------
 後、Form 入力での日本語入力ですが、kinput2 での入力は諦めました(^^;。私は mule を起動してマウスクリックのカットアンドペーストで行っています。ま、これでも何とかできるので・・(^^;

 それにしても見栄えが良くないですね。フォントが少なすぎるし・・。と、言う事で、フォントをインストールしましょぅっ!!

 題して、「Netscape 補完計画っ!!」です;-)。まずは、フォントを手にいれましょうっ!!

・14dot  jisksp14.bdf.gz  ( jisksp16 から bdfresizeで作成)
・16dot  jisksp16-1990.bdf.gz  ( by 安岡孝一さん@京都大学大型計算機センター ほか)
・24dot   min-1-24.bdf.gz  ( mule 用のフォント)

 では、以下の手順で全てのフォントを登録します。最初の 4 行は各フォントファイル毎に処理を行ってください。後の二行は一回すれば OK です。

----------------
roman# gunzip jisksp14.bdf.gz
roman# bdftopcf jisksp14.bdf > jisksp14.pcf
roman# compress jisksp14.pcf
roman# mv jisksp14.pcf.Z /usr/X11R6/lib/X11/fonts/misc
roman#
roman# cd /usr/X11R6/lib/X11/fonts/misc
roman# mkfontdir
----------------
 次は、以下の行を /usr/X11R6/lib/X11/fonts/misc/fonts.alias に追加します。Netscape で、3つのサイズのフォント(14,16,24ドット)を ちゃんと使えるように名前を割り振っています。
----------------
-netscape-fixed-medium-r-normal--24-230-75-75-c-120-jisx0201.1976-0 -sony-fixed-medium-r-normal--24-170-100-100-c-120-jisx0201.1976-0
-netscape-fixed-medium-r-normal--16-150-75-75-c-80-jisx0201.1976-0 -sony-fixed-medium-r-normal--16-120-100-100-c-80-jisx0201.1976-0
-netscape-fixed-medium-r-normal--14-130-75-75-c-70-jisx0201.1976-0 -misc-fixed-medium-r-normal--14-130-75-75-c-70-jisx0201.1976-0




-netscape-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0 -jis-fixed-medium-r-normal--24-230-75-75-c-240-jisx0208.1983-0
-netscape-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0 -jis-fixed-medium-r-normal--16-150-75-75-c-160-jisx0208.1983-0
-netscape-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0 -misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0

-netscape-fixed-medium-r-normal--24-230-75-75-c-240-jisx0212.1990-0 -wadalab-mincho-medium-r-normal--24-231-75-75-c-240-jisx0212.1990-30
-netscape-fixed-medium-r-normal--16-150-75-75-c-160-jisx0212.1990-0 -misc-fixed-medium-r-normal--16-150-75-75-c-160-jisx0212.1990-0
-netscape-fixed-medium-r-normal--14-130-75-75-c-140-jisx0212.1990-0 -misc-fixed-medium-r-normal--14-132-75-75-c-140-jisx0212.1990-0
----------------
 これで準備は完了。X を再起動しましょうっ!! 新しく追加したフォントが反映されます。Netscape を起動したら、Option/General Preference の設定の Font の 項目で、jis_x0201、jis_x0208-1983、jis_x0212-1990 の所を すべて Fixed(Netscape) に変えます。サイズは 15.0 にしておきます。 これで、日本語のフォントのサイズがちゃんと 3 段階出るようになります。

 さてさて、起動した時に、以下のメッセージがでませんか?

Warning: Missing charsets in String to FontSet conversion

 動作には特に問題はありませんがうっとうしいですよね(^^;。と、言う事で出ない様にしましょう。/usr/local/netscape/nls/ja_JP.ujis と言うファイルの中にある、

omron_udc_ja-0:GL:20400080:\033\045\057200omron_udc_ja-0\002

 と言う行を削除します(私の所がら DL したのなら既に対応済みだと思います。)。

 さてさて、これで Netscape に対応する環境設定が終りました。試して見ましょうっ!! 今回は、http://cclub.tutcc.tut.ac.jp:1080/netbsd/japanese/netbsd-jp20.htmlを参考にさせてもらいました。ありがとうございました。

 


Copyright (c) 1997-2004 takachan@running-dog.net All Rights Reserved.