せっかくLinuxを使っているのだから、サーバを立ててみましょう。
サーバを立てるには、インターネットのどこかから、自分のコンピュータに接続出来るようにする必要があります。通常は、インターネットにつながっている
サーバには、名前が付いています。そして、その名前は変わりません。たとえば、グーグルで検索するためには、http:
//www.google.co.jp/
に接続しますよね。この「www.google.co.jp」という部分がコンピュータの名前(ホスト名)ですね。この名前が変わってしまうと、グーグル
が使えなくなってしまいます。通常私たちはインターネットに接続するために、プロバイダに接続して、この名前をもらっています。ここで困ったことに、接続
するたびに違う名前になってしまいます。これでは、サーバとして使うには不便です。そこで、たとえ毎回違う名前になっても、同じ名前でアクセスできるよう
にしてくれるのがダイナミックDNSです。
インターネットで使用される通信規約であるTCP/IPでは、IPアドレスと呼ばれる数値でコンピュータを識別します。人間は
「www.google.co.jp」という文字を使いますが、コンピュータの通信ではこの名前ではなく、IPアドレスと使うため、コンピュータに付けら
れた名前とIPアドレスを相互に変換する仕組みが必要になります。その機能を持つのがDNSです。DNSに問い合わせを行うときには、nslookupか
digを使います。"dig ホトス名"でホスト名をIPアドレスに変換したものを表示してくれます。ためしにやってみましょう。
$ dig www.google.co.jp
; <<>> DiG 9.2.1 <<>> www.google.co.jp
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20138
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.co.jp.
IN A
;; ANSWER SECTION:
www.google.co.jp.
17 IN
A 66.102.7.147
;; Query time: 8 msec
;; SERVER: xxx.xxx.xxx.xxx#53(xxx.xxx.xxx.xxx)
;; WHEN: Sat Jul 31 23:57:37 2004
;; MSG SIZE rcvd: 50
|
この結果から、www.google.co.jpのIPアドレスは、66.102.7.147ということが分かります。なので、「http://66.102.7.147/」としてもグーグルにつながります。
じゃ、自分のコンピュータにも名前を付けてあげればよいのですが、個人的に名前を付けても意味がありません。付けた名前を世界中のどこからでも、自分のIPアドレスに変換できるように登録する必要があります。これを無料でやってくれるサービスがいくつかあります。
例:
私的DNS(MyDNS.JP)
登録は簡単です。登録が済んだら、自分のIPアドレスをDNSに教えるために、メールを受信します。指定されたメールサーバからメールを受信しようとすれ
ば、自分のIPアドレスが自分で決めたホスト名として登録される仕組みです。一定の間隔でメールを受信するようにお使いのメーラで設定するのも良いです
が、メーラが起動していない(誰もログインしていない状況など)と受信されませんので、あまり良い選択とはいえません。そこで、cron(クーロン)と呼
ばれる一定時間でコマンドを実行するデーモンにお願いしましょう。
cron
を使って、一定間隔でメールを受信するために、fetchmailを使いましょう。fetchmailは、メールを受信してくれるコマンドで色々とすてき
な機能があったりしますが、ここではPOPサーバから受信できれば良い+実際にメールはこないので、設定は簡単です。
HOMEディレクトリに下記のような「.fetchmailrc」というファイルを作っておけば、fetchmailと打つだけで受信してくれます。
$HOME/.fetchmailrc
|
poll mail.MyDNS.JP
protocol pop3
user mydns00000
password yourpass
|
赤の太字の部分をご自分のIDとパスワードに置き換えてください。これでfetchmailを使ってメールを受信する準備が出来ました。試しに、実行してみましょう。下記のように表示されれば問題ありません。
$ fetchmail
fetchmail: アカウント mydns00000 , サーバ mail.MyDNS.JP 宛にメッセージは届いておりません。
|
メールを受信する準備が出来ましたので、cronに実行してもらえるように登録します。登録するためには、「crontab -e」と打ってください。cronを実行する権限がない場合は、rootで登録しましょう。rootは必ずcronが使えます。
「crontab -e」と打つとエディタが起動しますので、次のように打ち込んでください。
crontab -e
|
*/20 * * * * fetchmail > /dev/null 2>&1
|
この例では、20分ごとにメールを受信します。最後の「 > /dev/null
2>&1」の部分はfetchmailを実行するたびに、cronからメールが送られてくるのを防ぐためのものです。「MAILTO=
""」と1行目に書いても同じ事になります。
さぁ、これでサーバを立てる準備が出来ました。dig xxx.mydns.jpとして自分のIPアドレスが引けるか試してみましょう。(メールを受信してから5分程度末必要があるようです)
うまくいったら、サーバにこの名前を名乗るように教えてあげましょう。
/etc/sysconfig/network
|
NETWORKING=yes
HOSTNAME=xxx.mydns.jp
|
いままで、味気ない localhost.localdomain だったのが、なんか一人前のサーバっぽくなりましたね。
戻る