私は自宅サーバーにホームページを置いています。もともとはプロバイダのレンタルスペースを使ったりYAHOOのジオシティーを使ったりしていたのですが、意外と簡単にできることがわかって思い切って自宅サーバーを設置しました。レンタルのサーバーに比べて自宅サーバーのメリット、デメリットは次のような点です。
| メリット: | 容量を自由に増やせる(HD増設による)、CGIの設置が自由、営利目的の利用が自由、無料レンタルサーバーのような広告が出てこない。 |
| デメリット: | セキュリティーやメンテナンスの配慮を自分でしなければならない、電気代がかかる、夜中でも稼働しているサーバー機の騒音と発熱。 |
自宅サーバーの設置には外部(インターネット)から自宅のコンピューター宛にアクセスできるようにすることとサーバーを設置することの2つが必要です。ここでは大まかな手順を述べたいと思います。
まず、自分の自宅サーバーの所在を表すドメイン名を取得します。私はGKGというところでjustlikeakame.comというドメインを登録しました。1年で9ドル99セントでした。クレジットカードで決済しました。
次に、ドメイン名からIPアドレスへ変換をして自宅サーバーへアクセスを導いてくれるDNSサーバーへの登録を行います。最初はIPが変動するプロバイダーだったので無料のDDNSであるMiniDNSに登録しました。DNSに自分のドメイン名を登録したら今度はドメイン名を登録しているGKGにDNSサーバーを登録するという行ったり来たりの手続になります。
私の場合、MiniDNSの利用を開始した直後DNSがダウンするという事態に遭遇しました。これに懲りて現在は有料のDNSであるDynDNS.orgを利用しています。有料だから当然、非常に安定していて応答も早いです。
IPアドレスが変動するプロバイダーの場合、IPアドレスが変動したことをDNSに逐一通知してやらなければ他から自宅サーバーにアクセスすることができません。そこでIPアドレスの変化を監視し変化があれが自動で通知するアプリケーションを設定します。私はフリーソフトのDICEを使いました。
これがWebサーバー設置の「目玉」でしょうか。最初はWindowsXPのマシンをサーバーにしましたので、ANhttpdというフリーソフトを導入しました。設定が簡単でさっと使える気軽さが魅力です。
自宅サーバーでCGIを実行させるためにPerlをインストールします。無料でダウンロードできるActive Perlを設定します。
ルーターの「バーチャルサーバー」機能で80番ポートへのパケットをサーバー機に送るように設定します。無通信切断を無効にします。
以上で設置は完了します。後はドキュメントルートにこれまでレンタルサーバーにアップしていたファイルをそのまま設置すると引っ越しが完了して、自宅サーバーにホームページを置けるようになります。
アサヒネットで固定IPが無料のオプションとして提供されていたのでこれにしました。固定といっても完全に専用のIPが割り当てられるわけではなく、通常IPが不意に変化することはないという意味です。でもこれでDDNSのアプリケーションを動作させずにすむようになりました。
サーバー機は24時間稼働なので消費電力と騒音がとても気になります。それに最新の何ギガヘルツとかっていうCPUでなくても性能的には十分です。そこでVIAのC3を使ってサーバー専用機を作りました。それでもまだうるさいのでCPUクーラーを静音設計のものに変更しています。
これはサーバー専用機の製作とセットの事柄なのですが、サーバーにしか使っていないPCにOSを占領されてしまうのはなんとももったいないのです。特にXPの場合はサーバー機を変更するときにいちいちライセンス認証とかがめんどくさいです。それでLinuxのFedora Coreを導入してサーバーもApacheになりました。LinuxとApacheには慣れていない最初は泣かされましたが、ちゃんと動くようになってみるとデフォルトでほとんどなんの問題もないのでした。CGIを改造してスクリプトルートとドキュメントルートを明確に分離してセキュリティ面でも配慮しました。
Fedora Core 1とApacheのインストールと設定Linux導入に自信がついたので家族用のPCもLinuxにしました。一方で私のメインの作業用のPCはWindowsです。LAN内に2つのOSが混在することになりファイルのやりとりが面倒になってきました。また、保存用のデーターを一カ所に集約したほうがバックアップ等の管理がやりやすいです。
それで、性能的には一線で活躍するのはつらくなったK6-500MHzのマシンを使ってファイルサーバーを作りました。ファィルサーバーといっても本格的なものではなくSambaを動かしているだけなのですが。
SambaはFedora CoreのCDに付属しているのでパッケージをインストールしてサーバー名(コンピューター名)やワークグループを指定することと共有とユーザー設定を行えば使用可能になります。SambaサーバーPCにユーザーとして家族のメンバーを登録しておき、それぞれのホームディレクトリを共有設定にしました。設定ツールを使えば「ユーザー設定」から簡単に共有を設定することができます。
Sambaを使うとLinuxマシン上の共有ディレクトリはWindowsの「共有フォルダ」と同じように扱えます。また、Linuxマシンにもクライアントの機能がありWindowsと同じようにアイコンをクリックするだけで他のWindowsマシン上の共有ディレクトリを扱うことができます。
その後、K6マシンはPCルーターに転用され、ファイルサーバーの置き場所を変更することにしました。常時電源が入っていて普段はリモートで操作されているWebサーバーと一体化するのがやはり合理的です。
また、K6マシンがルーターになったことでドミノ倒しのようにマシンの構成が変化し、押し入れにあったP4S533がセレロン2.4GHzを得て復活しました。このマシンはLinux仕様のメインマシンにする予定なので、Linuxのクライアントとファイルサーバーのやりとりを考えてNFSサーバーを立ち上げました。
NFSサーバーはサーバー設定ツールで起動させ、ファイルの共有やユーザー設定もツールを通じて行なうことができます。ただ、portmapの設定ファイル(/etc/hosts.allow にクライアントのIPアドレス、/etc/hosts.deny に「ALL:ALL」をそれぞれ設定)はエディタで修正しなければなりません。
クライアントの方では、mountコマンドでIPアドレスとファイル名を指定してファイルを読み書きすることになります。いちいち手動でマウントするのは面倒なので、autofsで起動と同時に指定のディレクトリにマウントされるように設定しておくと便利です。
これで、WindowsとLinuxのクライアントからファイルサーバー上で作業する環境が整いました。MAC用のファイルサーバー(Netatalk)もあるそうなので、Linuxのファイルサーバーを設置するのはLAN内のファイルの整理と作業効率の向上に効果的だと思います。