Ubuntuで自宅サーバ、の2回目である(第1回はこちら)。今回は、自宅サーバをインターネットに公開するために最低限必要な作業と解決すべき課題を整理したい。
まず、必要な物品はブロードバンドルータを介してインターネットに常時接続されているサーバマシンである。スペック的には最新のものでなくても大丈夫。大体次のようなマシンであればなんとか動くはずだ。
- CPU: Celeron 1GHz 以上
- メモリ: 512MB 以上
- HD: 20GB 以上
- LAN: 10Mbps以上
OSはUbuntu 8.04を使う。オープンソースで、もちろん無料である。次のサイトで Ubuntu 8.04 の日本語ローカライズドDesktop CD をダウンロードし、CD-Rに焼く。サーバ版はGUIが無く、キーボードでの操作しかできないため初心者にはお薦めしない。
CD-Rをサーバに挿入し、電源を入れたらUbuntuが起動する。インストール方法が分からず不安な方は右の書籍などを参考にしていただきたい。
さて、サーバをインターネットに公開するためにクリアしなければならない課題の代表的なものは次の通りである。
- 自分のドメイン(またはサブドメイン)を取得すること
- ダイナミックDNSのサービスに加入すること
- ウェブサーバ、メールサーバ、データベースなどサーバのソフトウェア環境を整えること
- ルータを設定変更してサーバが外部と通信できるようにすること
- ファイヤーウォールを設定して、サーバを適切に保護すること
- メール外部転送サービス (MailHop Outbound) に加入すること
ある意味一番重要なのが6番の項目だ。1番から5番は少々知識があれば誰でもできるからである。ぼく自身は自宅サーバを何年も前から立てていたのではあるが、本格的な外部公開はしてこなかった。なぜか? それは自宅サーバから発信されるメールがプロバイダのメールサーバでは中継してもらえないからだ。WordPressにしろ、Drupalにしろ、大抵の本格的なCMSはユーザ登録時やコメント書き込み時にメールを発信する機能をもっている。それらのメールがユーザのメールボックスに届かなければ、サイトの信頼はがた落ちである。そこで、メールを中継してもらえるサーバが必要になるというわけだ。
ぼくは以前から、ドメインの管理と、自宅サーバをドメイン名(FQDN)で参照できるようにするために DynDNS というサービスを利用している。海外では広く利用されていて、おそらく最も信頼性の高いダイナミックDNSサービスを提供している業者だ。ぼくのドメインも5台のネームサーバで管理してもらっている。普通のプロバイダは2台なので、信頼性の高さが想像できよう。
DynDNSのアカウントはすでにもっているので、MailHop Outbound というサービスを購入するだけでよい。料金は初期費用2ドル、年間費用15ドルだ。これで1日150通を上限としてメールを転送してもらえるようになる。これでは足りないという場合は150通/日のブロックを追加料金15ドルで購入すればよい。ちなみに、ドメイン登録・維持料金は年間15ドル、独自ドメインのDNS管理ができるCustum DNSの料金は年間27.5ドルである。
実際に MailHop Outbound を経由して、自宅サーバのウェブアプリケーションからメールが自動送信されたが、レンタルサーバのスパムメール監視システムである SpamAssassin の付けたスコアは2~3と非常に低いレベルであり、正しいメールであると認識させるのに十分なサービスであることが確認できた。
だいぶ長くなってしまったので、技術的な解説は別の機会にしたい。サーバの環境設定の方が先かな?