Webサーバの整備
自宅サーバへの道
やはり自宅サーバを立ち上げる以上、自宅サーバ内で Web サーバを立ち上げたいという思いにかられますな(^_^;
別に人様に見せるもんなんてないよ~って人でも、単に自分の情報の共有(自宅でも職場でも参照できるとか)なども出来るわけで、Web サーバを立ち上げておくと何かと便利だと思います。
なんなら、外には公開せずに自宅でのみ参照可能な Web サーバでもいいわけだし。
というわけで、いよいよ Web サーバを立ち上げることを考えるわけですが、当然 Apacheを使います。
Servlet を使いたいなら Tomcat を単体で使うという手もあるし、XML をサーバ側で処理したいということなら BXSとかも面白かったりするんだが、よほど特殊な事情が無い限りは Apache を素直に使うべきでしょう。
Apache のインストールは特殊な設定をしないのであれば難しくありません。
一応、私が行った普通では無さそうな箇所について少々簡単に紹介しておきます。
他の基本的な設定等はApacheのメモを参照してください。
DSO対応
後からモジュールを追加する際に一々再コンパイルするのはとても面倒なので、DSO対応でビルドしました。
また、httpdにスタティックに含めるモジュールは最小限とし、その他は全て動的に読み込むようにしています。
読み込むモジュールについてはhttpd.confにて設定して、不要なモジュールは読み込まないようにしています。
mod_perl対応
CGIはPerlベースのものがほとんどになると思うので、性能を考えてmod_perlを最初から組み込んでおきました。
性能以外に機能面でもmod_perlでないとできないことがあるので、最初からmod_perl対応にしておくと便利だと思います。
逆に、後からmod_perl対応にする場合には、今まで動いていたCGIが動かなくなる可能性があるので、ちょっと危険です。
ログ設定
最終的にはもう少しいろいろなことを行っているのですが、ひとまず最初はaccess_log, error_logをrotatelogsで1日ごとに別ファイルに出力し、定期的にgzipするよう設定しました。
ドメイン
スタティック、ダイナミックに関わらずドメインを持っていれば、ドメインにてWeb参照をすることができます。
従って、Webをドメインにて参照させたい人は、この時点でドメインを登録すべきでしょう。
私はDDNS(ダイナミックDNS)に登録して1ドメイン確保して使ってます。
また、他のDDNSでのサービスでドメインおよびそのドメインの任意のサブドメインにIPを登録することができるサービスを使い、こちらもWeb参照できるよう設定しています。
ちなみに、最初はドメインについては無視してVirtualHostさえ使う必要はないと思います。
が、私は後々任意のサブドメインにてWebが参照できるようにVirtualDocumentRootを使ってマルチドメイン対応よう予め設定しておきました。
LAN内専用Webサーバ
必要があれば、別途Apacheを構築し、LAN内専用Web サーバを立ち上げます。
以前は、私もLAN内専用のWebサーバを立ち上げていたのですが、そのうちInternet/LAN共通のWebサーバとなり、現状ではLAN内限定にする必要があまり感じられなくなったので特に立ち上げていません。