Webサーバ、DNSサーバのまとめ

最終的な微調整を兼ねたまとめです。

レジストラへのDNS登録

最終的な「FC2 ドメイン」へのDNS登録はこんな感じになりました。

  • 「5-55.jp」の方はプライマリDNSは自前サーバで、セカンダリDNSは「マイハマネット」さんにお願いしました。

  • 「satake7.net」は今となってはつけたしですが、DNSは「FC2 ドメイン」の代行DNSを使っています。DNSレコード設定は今のところ、とりあえずこんな感じです。なにか公開するサービスがかたまったらこのあたりは変更するつもり。

bindの外部向け設定

最終的なbindの外部向け設定はこんな感じです。(現時点での最終的ということでたぶん全然最終的じゃないと思いますが)

$ sudo nano /etc/bind/db.5-55.jp
 $TTL  86400
 @     IN SOA   5-55.jp. root.5-55.jp.(
                         2008041801; 28800; 14400; 3600000; 86400 );
       IN NS    ns1.5-55.jp.
       IN NS    ns.maihama-net.com.     ; セカンダリネームサーバ(マイハマネット)
       IN MX 10 mail.5-55.jp.

 ns1   IN A     219.117.201.xxx         ; サーバの固定IPを指定  ns1.5-55.jp
 mail  IN A     219.117.201.xxx         ; mail.5-55.jp
 2     IN A     219.117.201.xxx         ; 2.5-55.jp
 @     IN A     219.117.201.xxx         ; 5-55.jp
 *     IN A     219.117.201.xxx         ; *.5-55.jp

うちの今のところの構成だと、たぶん「*」1つあれば他の指定はいらないような気がしますが、ま、将来的にグローバルIPを複数とってサーバの負荷分散をするかもしれないので、一応残しておきます。
このゾーン情報を書き換える場合はシリアル番号(2008041801)をいまより大きい数字にしないとDNSで問合せが来たとき、変更がないとみなされゾーン情報が返されませんので要注意。シリアル番号は「更新日付+数字」にするのが慣例みたいです。あと、bindの再起動も忘れずに。

$ sudo /etc/init.d/bind9 restart

 * Stopping domain name service... bind
   ...done.
 * Starting domain name service... bind
   ...done.

Webサーバの設定

「5-55.jp」をサポートするようにしたので、バーチャルホストの設定を変更しました。

$ sudo nano /etc/apache2/sites-available/my_site
NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot /home/www
    ServerName 5-55.jp
    ServerAdmin root@5-55x.jp
    ServerSignature On
    LogLevel warn
    ErrorLog /home/log/apache2/5-55.jp.error.log
    CustomLog /home/log/apache2/5-55.jp.access.log combined
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    Alias /doc/ "/usr/share/doc/"
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /home/www/2
    ServerName 2.5-55.jp
    ServerAdmin root@5-55x.jp
    ServerSignature On
    LogLevel warn
    ErrorLog /home/log/apache2/2.5-55.jp.error.log
    CustomLog /home/log/apache2/2.5-55.jp.access.log combined
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    Alias /doc/ "/usr/share/doc/"
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /home/www/vote
    ServerName vote.satake7.net
    ServerAdmin mam@satake7x.com
    ServerSignature On
    LogLevel warn
    ErrorLog /home/log/apache2/vote.error.log
    CustomLog /home/log/apache2/vote.access.log combined
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    Alias /doc/ "/usr/share/doc/"
</VirtualHost>

ホスト名解決しないデフォルトは「/home/www」へ飛ばすようにしました。「http://2.5-55.jp」は「/home/www/2」へ飛ばします。このあたりの構成も後々変更します。これを書き換えたあとは、apache2のリロードを忘れずに。

$ sudo /etc/init.d/apache2 reload

 * Reloading web server config apache2
4368
   ...done.

アクセスログの確認

ちゃんと意図した通りアクセスが振り分けられるか、ブラウザからアクセスしてみてそれをアクセスログで確認します。

$ tail -f /home/log/apache2/5-55.jp.access.log

"GET / HTTP/1.1" 200 69 "-" "Firefox/2.0.0.13"
"GET /favicon.ico HTTP/1.1" 404 307 "-" "Firefox/2.0.0.13"
"GET / HTTP/1.1" 304 - "-" "Firefox/2.0.0.13"
"GET /favicon.ico HTTP/1.1" 404 306 "-" "Firefox/2.0.0.13"
"OPTIONS / HTTP/1.1" 200 - "-" "Microsoft-WebDAV-MiniRedir/5.1.2600"
"PROPFIND /_svn HTTP/1.1" 405 329 "-" "Microsoft-WebDAV-MiniRedir/5.1.2600"

動作はいいようですが、「GET /favicon.ico HTTP/1.1 404 307」という見慣れないエラーが出ている模様。これは文字通り「favicon.ico」アイコンがないよということらしいので、/home/wwwに適当なアイコン(16x16)を置くとこのエラーは出なくなりました。
最後の2行はその作業のため、Sambaフォルダを使ったときのものです。(Sambaを使ったから出たというより、TortoiseSVNのアイコンオーバーレイマネージャがSambaフォルダを検索対象にしたため出たみたいです)

参考

  1. HTTPのエラーに関しては、こちら(→ホーム2 - 私のブログ)が参考になりました。
  2. WebsiteのTestには、こちら(→Free Monitoring Test Tools by WebSitePulse)。遅いですけど、外部からの確認が必要なときは便利です。


以上でこの項、ひとまず終わり。