WindowsでWebサーバ? #OSの選択

いっち〜さんが、自宅サーバを計画しているという話を聞いている。
どうも、WindowsXP Home Edition で手軽に始めてみよう…というイメージ。
僕もWindows98時代に同じことやったので、動機はわかりすぎるほど分かる。
細かいところに手を入れたくなってきたら Linux に移行すればいい。


最初に、WindowsXP Home Edition で Web サーバを構築するメリット/デメリット

メリット

  • 見慣れたインターフェースで、直感的な操作ができる。
  • ある水準以上のセキュリティをもたせて構築できる。
  • Windows上で html を書きやすい。


見慣れたインターフェースと書いたけど、Home Edition だとIISが入ってないんだよね。
ということで、別途 Webサーバ用プログラムをインストールする必要がある。
選択肢はかなりの数存在するので割愛。
個人的には、Linuxとの敷居を狭める目的で Apache を推奨したい。
でも、これの設定は直感的とは言いがたい設定ファイルなので、手軽にはじめるなら AnHTTPd などで OK!
Linuxの場合でもGUI環境が使えるけど、基本的に一から覚えなおす必要がある。


セキュリティに関しては、WindowsLinux もよくアップデートしているので大差なし。
最近は、むしろ Windows 優勢かな?
どちらにせよ、きちんとしたセキュリティ対策をしなければ悪意ある攻撃にやられてしまう。


Windows上に HTML エディタが入っている場合、面倒なアップロード作業を行わなくても即座に変更が反映される。
Linux よりも編集用ソフトの多い Windows ならでは。
すごい楽。
ただ、間違った情報でも即座に反映されるので、注意が必要。


以上の理由から、手軽にはじめるには良いんじゃないかな。

デメリット

  • TCP/IPの機能制限として、同時接続数 10個まで。
  • リモートでの管理機能が貧弱…
  • 必要なソフトウェアは、別途インストール。
  • バージョンアップで再起動が必須。


同時接続数 が10個というのは、Webブラウザから同時にアクセスを受け付けるセッションの数を意味する。
たとえば、10人が同時にひとつのページを開こうとしている時に、11人目は開くことさえできずに拒否される。
普通のブラウザは複数のセッションを張って効率よくページを表示させようとするので、たとえば画像を10枚貼り付けているページならひとりしかアクセスできない時間が発生することもある。
誰かが動画を10個以上同時に落とそうとすれば、その間に他の人が見ようとしても見れない時間ができる。
まぁ、僕自身のサイト(平均 120PV/日)くらいなら、大丈夫かな。


リモート管理機能は、まぁ、直接ログインすれば済む話。
いっち〜さんの場合はノートPCということなので、あまり気にする内容ではない。
僕の場合はデスクトップなので、別途ディスプレイとキーボードを接続しなければならなくなる。
これは邪魔すぎる…
WindowsXP Professional Edition であれば、リモートデスクトップ機能を使えるからまだマシなんだけどね。


ソフトウェアのインストールは、Windowsの最大のデメリット…かも。
まず、AnHTTPd をインストールして、CGI用に Windowsperl をインストールして、必要があれば WindowsMySQL などをインストール。
とにかく、機能毎に別のソフトウェアを探してきてインストール。
CGIWindows上で利用できることを確認する必要がある。
→ ほとんどのCGIは、パスを変更するだけで大丈夫。でも、Windows環境に対応していないCGIもまれにある。
最近の RedhatLinux だと、yum コマンドで必要なソフトは全部まとめてインストール出来たりするから便利。


こちらの話は、Linuxでも変わりないことだけど…知識として記載。
ソフトウェアをインストールしただけでは、そのうちセキュリティホールが見つかってアタックされる原因をつくってしまう。
適宜アップデートをしなければいけないんだけど…WindowsだとOSごと再起動させないといけない場面が多々あるんだよね。1ヶ月に一回くらい。
Linuxだと、OSをリブートするなんて余程のひどい状況。
普通はプロセスを再起動するだけの短い時間で済む。
再起動中は当然ながら、インターネットからサイトを見れなくなる。
また、アップデートしたことで障害が起きる可能性は高まる。
昨日まで使えていた機能が使えなくなった…なんていうのはよくあることと考えていたほうが安全。
アップデート内容を見て、入れる/入れない の判断をしたほうが良い。


ざっと思いついたのは、こんなもの。
Windowsで構築して痛い目に遭って以来、Windowsでの構築に興味が無くなった僕。
なので、細かい設定などでは他にもいろいろあるだろう。
もしかすると、僕の知識が古くなってたり、間違えていることもあるかもしれない。


なんにせよ、自宅サーバを始めるというのであれば応援したい。