Mac mini Lion Server

開発環境その3(DNSサーバ)

運用する実装にあると困るものがあります。WAN側からの要求に予期せず応じてしまうものはあってはなりません。パーミッションを変更するコマンドはWAN側からはアクセスできないところに置かれていなければなりません。root権限を要求するリクエストに無制限に応えていたらサーバは攻撃者の格好の踏み台になります。ほかにもいろいろな危険なコマンドがいろいろありますが、コマンドのインストールを許してしまうようなコマンド、つまりパッケージマネージャはない方がいいです。ひいては統合開発環境もない方がいいわけです。開発用のマシンと本番に運用するマシンとを分けておくのはこういう理由もあるわけです。

先に紹介した本「OS X Lion Server 実践ワークグループ&インターネットサーバ構築」をできるだけ踏襲しつつ、理解のための仮のサーバを構築します。

基本的なあらすじを押さえておきましょう。それは、「設定してから動かす」です。動かしてから設定してもすぐに反映される場合もないわけではありませんが、動いているときに設定を変えてもサーバが元に戻してしまうこともあります。なので一通りの設定をしてから、起動させる。そして思った通りにいかない場合は先ず止めて、そして一カ所だけ変更して、再び動かす、という習慣を持つのが良いでしょう。

目標

運用する実装のシミュレータとなるべく、各種ソフトウェアを仕込みます。(AptanaStudio3のような)開発環境も含むので、実運用の実装を含みつつより肥大したものとなります。僕の実装は次の通りです。これを含むことを目指します。

  1. DNSサーバ
  2. ウェブサーバ
  3. ファイルサーバ
  4. メールサーバ

DNSサーバ

開発環境その1でふれたように、主に「Server.app」と「サーバ管理」の二つのアプリケーションを設定していくことで作ります。ターミナル.appで編集する必要のある設定もあります。本をみると先ずDNSサーバを設定して実装していきますが、これがいきなり「サーバ管理」の方で作り込んでいきます。「Server.app」では設定できません。「サーバ管理」ツールはAppleのサイトにおいてあるので拾ってきてダウンロード、インストールして、アップデートで最新にして、さあ始めましょう。

DNSはドメイン・ネーム・システムの略です。ドメインとは先に書いたように「版図」のような意味で、ホスト間のネットワークに名前をつけたものです。Lion ServerではDNSサーバにBiNDを使っています。本格的にドメイン・ネーム・システムを理解しようと思えばこのBiNDについての解説書を勉強するといいです。

普段僕らがよく関わっているネットワークはEthernetというネットワークといってもいいと思います。LANケーブルのあの端子のつなぎ口をもっているもの同士で組まれているネットワークです。あのEtherのカードをもつホストマシンはご存知IPアドレスという番号を持っています。この番号はDHCPサーバというノードからリースされたり、また自主的に持つこともできます。最近のグローバルのインターネットはIPv6に移行しつつあって、憶えられないような桁の番号で管理します。僕も自前サーバを早めにIPv6のみでも運用できるように実装していきたいのですが、なかなか難しいので、IPv4という規格で練習します。ここでもこれでもって書いていきます。

DNSサーバが手元の環境にあるといろいろと便利なことがあります。例えば僕はMac複数持っていますが、DNSサーバにそれぞれのマシンのホスト名とIPアドレスの対を管理させることにより、グローバルのネットワークからのリクエスト先を割り振ることができます。逆にあるマシンから、ローカルのウェブサーバにアクセスしたり、グローバルのウェブサーバにアクセスしたり(普通にインターネットを閲覧する)するときのURLの解釈をまかせることで、僕からは(人にとって)一貫性のあるURLでアクセスできます。

今回は実験環境なので、VirtualBoxを動かしているホストマシンの外へのアクセスはしない設定にします。これは実運用でいえばグローバルへはアクセスしない設定に相当します。

ツールバーに並んでいるアイコンの「設定」をクリックして、基本的な動作を設定します。今回は開発のためのかりの設定なので、自分を含むネットワーク内に答えがなくても外への問い合わせをしない設定にします。ここは実運用の設定とは違う部分です。仕方がないですね。

僕は自分専用のウェプサイトと公にみていただくためのウェブサイトをバーチャルホストを使って使い分けているのでその設定を似たものにします。同じく「サーバ管理」の、今度は「ゾーン」というアイコンをクリックして設定していきます。

127.0.0.1などのIPアドレスとFQDNの対を設定します。逆引きゾーンが一組、実態であるAレコードと、バーチャルホストのエイリアスのレコード二つの、合計三つの(正引き?)レコードを設定しました。このバーチャルホストのFQDNはこのつぎにWebサーバの設定と整合がとれている必要があります。図のIPアドレスが10.~で始まっているのはVirtualBoxの仮想マシンであるために、グローバルのアドレスらしくもなく、ローカルのアドレスでもなく、サブネットによくあるIPアドレスとなっています。

あまりスクロールするのもどうかという感じなので、一旦改めます。