Windows XPを使って自宅サーバーを構築する方法

 今まで、SOTEC社のM250Vというパソコンを使って、Linux(FedoraCore)を使用して自宅サーバーを立ち上げていました。しかし、このパソコンもCELERONの500MHzと非力なこともあり、いくら動作が軽いLinuxが動作しているとは言え、動作速度に不満を持つようになってきました。特にBlogツール(MovavleType)で再構築をしたときにかかる時間がエントリーの追加とともにドンドン長くなっていき、そろそろ耐えかねる状況になってきました。

 そんなとき、Dell社の直販サイトでキャンペーンがあり、Dimension 2400という機種が配送料込みで3万円少しで買えることを知りさっそく注文しました。本機種に関するレポートは、こちらの「Dell Dimension 2400のページ」で紹介しています。ここでは、本機に搭載されているWINDOWS XP上に自宅サーバーを構築するまでの流れを整理します。

スポンサーリンク

Windowsを使用したサーバーのメリット

 日ごろ、Windowsの操作になれてしまっている人にとってのWindowsをサーバー用のソフトウエアとして使用したときの一番のメリットは、やはりその環境構築や操作の方法に慣れている点があげられます。一方、Linuxのほうは操作はたいへんですが、システムが堅牢で安定しているところがもっとも大きなメリットになります。

WindowsLinux
操作性たいていの人は日ごろにWindows系のパソコンを使っているので、基本的に操作は慣れているはずLinuxをコマンドモードで使う必要も出てくるので、正直、取っつきにくい。Webminというソフトを使ってサーバの設定をするとかなり操作性は改善される。MS-DOS頃からパソコンに慣れている人であれば、あまり違和感が無いかもしれない。
リソース操作性が良い分、様々な機能が盛り込まれてしまっているため、ハードウエアは高スペックのものを要求する。LinuxとWindowsで同じハードを使用した場合はLinuxのサーバーの方が動作は速いことが普通コマンドモードで動作させることを前提にインストールを行えば、Windows2000系のパソコンでは厳しくなってきた一昔前のパソコンでも十分に動作する。
導入費用OSの費用は高いがその上に構築するサーバー用のソフトウエアは欲さえ言わなければ基本的に無料で構築できる。OSはFTPでダウンロードしたり雑誌のおまけに付いていたり、はたまた、「自宅サーバー入門」のような本にもCD-ROMがたいていの場合は付属している。このCD-ROMにはたいていはサーバー用のソフトウエアも一緒に入っている。
安定性色々なサーバーソフトをインストールをしていくとときどき、意味不明な動作をしたりするが、最近の2000やXPはWindowsNTの流れをくんでいるので、以前よりは堅牢になってきている。オープンな世界にソースまで公開されていて色々な人の目にソースプログラムが触れているため、不安定性はかなり排除されている。
サーバソフトの選択の容易性フリーソフト扱いのサーバー用ソフトウエアの種類は少ない。色々な種類のソフトウエアがある。

プリインストールソフトの削除

 自作マシンであればハードディスクにWndowsをインストールした状態から始まるので、そのままサーバー構築を進めても構いませんが、市販のパソコンを買ってきたばかりの時には色々なソフトウエアがプリインストールされていますので、リソースがかなり食いつぶされていたり、パソコンが不安定になっていたり、セキュリティ系ソフトの場合は、サーバー運営に必要な環境が塞がれていたりします。従って、必要がないソフトウエアは極力アンインストールしてしまい、きれいな環境に近づけておいた方があとで困ることが少ないと思います。

 私が購入したDellのDimension 2400はどちらかと言えば安価なエントリーモデルでほとんどのソフトウエアは入っていないのですが、それでも、見るからに必要のないソフトウエアが導入されていたので、まずはアンインストールすることからはじめました。

WINDOWSの設定の確認

ファイアーウオールの確認

 Windows XPからは、自前でファイアーウオールが付くようになりました。これでポートが塞がれてしまっていると、WEBサーバーやFTPサーバーなどをせっかく公開しても、そのサーバー以外のパソコンからは見に行けなくなってしまいます。そこで、最初にWINDOWSの設定を確認しておきましょう。確認は簡単です。

 はじめに、「すべての接続の表示」をします。その中で、そのパソコンが情報を公開している接続アイコンの上にカーソルを持っていき、右クリックをして、プロパティを選択します。

 プロパティを選択すると下記の表示が出ます。詳細設定タブをクリックします。この中で一番上のインターネット接続ファイアウオールというのがwindows xpに付いてくるファイアウオール機能です。念のため、この機能はONにします。すると一番下の「設定」というボタンがアクティブになりますので、これをクリックします。

 下記が設定の画面です。「サービス」というタグで、サーバーにしたパソコンから外の人がどのサービスを使用できるようにするかを指定します。チェックボックスにしるしが付いているときが、外からそのサービスが使用できるようになっている状態です。

 ファイアーウオール機能全体をoffにしてしまうと、完全にそのパソコンは無防備になってしまいますが、上記の画面で、必要なサービスだけを使えるようにすれば、それ以外の入り口は全て塞がれたままの状態になりますので、その分だけパソコンへは攻撃が行われにくくなります。従って上記のようにファイアウオール機能は有効にして、必要な機能だけを使えるようにする方法をお薦めします。

時計の確認

 WINDOWS XPには標準で時刻を正しい値に1週間に一回ずつ直す機能が付いています。この機能はサーバーを運営するためには便利な機能なので、設定がうまく行われているか否か確認しておきましょう。まずはコントロールパネルから、「日付と時刻」を選択します。この「インターネット時刻」というタブのところに、「自動的にインターネット時刻サーバーを同期する」というチェックボックスがありますので、ここがONになっていることを確認してください。

サーバーソフトウエアの選定とインストール

 次にサーバーとして使用するソフトウエアの選定です。Linuxの世界と比べると、オープンなサーバーソフトウエアは絶対数的にかなり少ないですが、いくつかの選択肢はあります。ここではサーバー用途別にソフトウエアを比較しておきたいと思います。

遠隔操作用のソフトの導入

 WINDOWS XPには遠隔コンソール機能が付いていますが、これと同等の機能を有しているVNCというソフトウエアがあります。段々とバージョンがアップされてきて、今ではVer4となっており、かなり使いやすいソフトウエアとなりました。サーバーにはVNCのサーバーソフトウエア、そして、クライアントにはビューアーを入れるだけで、サーバー側のパソコンの画面をクライアントから見ることができるようになります。画面の情報を回線で送っているので、画面の中の書き換え量が多いと、それだけ表示がもたつくこともありますが、何と言っても、サーバーまでいかなくても簡単に設定変更などができてしまうというのは便利なので手放すことができません。もちろんフリーソフトなのでインストールしておくと良いと思います。私はVNCばかりを使っているため、サーバーのパソコンにはディスプレイさえ普段はつなげていません。無くてもこのソフトがあれば普段の操作は十分です。

WEBサーバー用のソフトウエア

 Webサーバー用のソフトウエアとして今回候補として上がったのは、2種類です。一つはLinuxの世界でも定番のApache、そして、もう一つはサーバー用のソフトウエアとしては珍しく日本製のAn HTTPDというソフトの2種類です。

ApacheAn HTTPD
操作性httpd.confというtextファイルをエディタで編集して設定を行う。あまりいじるところは無いが、慣れるまでは結構判りにくい。基本的にはGUIが整っていて、普通のWindowsソフトと同じように設定を行うことができる。はじめてでも非常に取っつきやすい。
拡張性他のソフトウエアとの連動性という意味では、明らかにApacheの方が世界のデファクトスタンダードである分だけ上。CGI等、Webサーバーを運用する上でよく使う機能との連動性は担保されている。
セキュリティ世界中のハッカーに狙われているがマイクロソフトのIIS等と比べるとセキュリティは高いと言われている。重大なセキュリティホールのアナウンスもあるが、頻繁に問題が発生しているようではない。
性能高負荷環境ではデファクトスタンダードとしての威力を発揮する小規模なWebサーバーでは特に問題は無い
総合評価比較的規模の大きいサイトや色々な新しい機能を使いたい先進派の管理者にはこちらをお勧め初心者でまずはWebサーバーを立ち上げようという人にはこちらをお勧め

 私はLinuxでも既にApacheを使ってきていたため、そのままWndowsの世界でもApacheを今回は使うことにしました。

 Windows系OSへのインストールについては、下記のサイトを参考にさせてもらいました。下記のサイトの情報に従って、ActivePerlもインストールしてしまってください。これをインストールしないとcgiプログラムを実行することができません。

(2004年8月2日追記)

 日本語の文字化けが発生して試行錯誤をしていると、何をどういじっても日本語の文字化けが解消しないことがあります。クライアントパソコンのブラウザでエンコードを確認すると「西ヨーロッパ言語」になってしまったりしています。このときは、クライアントパソコン側のブラウザに残っているキャッシュファイルに以前の設定で残ったゴミが残っていて、日本語の文字化けが発生している場合があります。以前、Linuxを使っている時に発生したことがあったのですが、今回はWindowsを使っていても発生したので、クライアントパソコンのキャッシュファイルを削除してみました。すると日本語の文字化けは解消しきちんと日本語が読めるようになりました。

FTPサーバー用のソフトウエア

 FTP用のサーバーソフトウエアとしては、これも大きく分けて2種類のプログラムがあります。こちらも表の中にあげた参考サイトにインストールや設定に関する十分な解説が行われていますので、特にインストールに際して困ることは無いと思います。

Tiny FTP DaemonWar FTP
操作性操作はGUIが基本で使いやすくメニュー等も日本語。同左。ただし英語。
拡張性十分かな?更に機能は豊富。
セキュリティしばらく更新されていないところを見ると問題は無さそうWebで情報を探した限りは問題は無さそう
性能転送速度はさほど速くない満足なスピード
総合評価手軽に小規模なサイトを立ち上げるには十分情報量の多いサイトだと性能の面でこちらの方が有利
参考サイトFTPサーバーの構築Tiny FTPの設定Tiny FTPDWar FTPDのインストールと設定War FTP Daemonの覚え書き

 私は最初にTinyFTP Daemonをインストールしたのですが、どうもホームページを更新したあとにページを転送するのに今までの何倍も時間がかかるようになってしまったため、すぐにWarFTPDに乗り換えました。WarFTPDは、最初、設定が判りにくい部分もありましたが、参考サイトの情報通りに操作していくとすぐに慣れることができました。

メールサーバー用のソフトウエア

 メールサーバーソフトウエアは使いやすさだけではなく、特に他人にSPAMメールを発信するための踏み台にされないようにするための機能が備わっているか否かが大事なポイントになってきます。この機能が装備されている代表的な2つのソフトウエアを比較します。どちらのソフトウエアもインストールや設定はそんなに難しくはありません。参考サイトのほうに詳しく書かれています。

NeonメールサーバーArgoSOFTメールサーバー
操作性ConfNeon.iniをメモ帳等で編集する形式なので少々取っつきにくいが設定項目は少ないので何とかなる。解説は日本語操作はGUIが基本で使いやすくメニュー等は英語
セキュリティメールを送信するときに先にメール受信をして間髪を入れずにメール送信をすることで認証機能と同等の効果があるPOP BEFORE SMTP機能が付いているメールを送信するときにIDとパスワードでチェックをかけるSMTPの認証機能あり
性能申し分ない申し分ない
総合評価手軽に小規模なサイトを立ち上げるには十分機能的な面で将来性が多少ありそう
参考サイトNEONメールサーバーNEON MAIL SERVERARGOSOFTメールサーバーの設定ARGOSOFT無料メールサーバー

 今回は迷わずにArgoSOFTのメールサーバーを導入しました。問題はCGIとの相性です。実は掲示板を実現するCGIやWEBフォームからメールを送るソフトなど、Linuxの世界では標準になっているSENDMAILというソフトウエアと連携する仕組みになっているものが数多くあります。上記の比較表で出したソフトはSENDMAILとの互換性はありませんので、このままではCGIからメールを送信することができなくなってしまいます。

 これを出来るようにするためのインタフェースソフトウエアがあります。SENDまねーるというソフトです。詳しくは、「SAO SENDまねーるのページ」を参考にしてください。

(2004年8月2日)

 sendまねーるは便利なソフトなのですが、設定を行う上でいろいろと試行錯誤をした部分があったので、もう少し詳しく紹介しておきます。はじめにsendmane.exeを最初に起動したときにいろいろな設問をされますがそのときの答えた内容を整理します。(二回目移行は、sendmane.exe -init)と指定することで同じようにパラメータを変更することができるようになります。下記の操作によりsendmane.exeと同じディレクトリにsendmane.iniというファイルが出来ていると思います。

 次にcgiプログラムの中のSENDMAILパスの設定方法です。CGIプログラムによって設定が異なった部分もあったので、参考に整理しておきます。

CGIプログラムSENDMAILパスの記述方法
COOL-MAIL$sendmail = ‘/user/local/sendmane/sendmane.exe’;
web-forum$sendmail = ‘/user/local/sendmane/sendmane.exe’;
MovableTypeinternal server errorになってしまうため設定方法が?です

(2004.8.5追記)

 ArgoSoftのメールサーバーを使っていて、もう一つ問題にぶつかりました。Yahoo!のメールサービスに外部メールをチェックする機能があるのですが、このサービスは、たとえば携帯電話からでもメールサーバーにどんなメールが来ているかを確認することができるため便利なサービスです。今日、携帯電話でこのサービスを使ってみたところ、うまくメールを閲覧できないのです。家に戻ってパソコンで確認をしてみたところ、下記のエラーメッセージが出ていました。

問題が発生しました
POPサーバーは、LASTコマンドをサポートしていません。このメールサーバーからは、すべてのメールをダウンロードするしかできません。

 携帯電話でメールを見る時に、サーバーの中の電子メールを削除してしまうとあとで困るため、Yahoo!メール上では「新着メールのみ」というところにチェックをつけているのですが、WEBで調べてみると、どうも、この設定だとうまく使えないようなのです。従って、Yahoo!上ではこのチェックを外して使うことにしました。

ウイルス対策ソフトウエア

 今やWINDOWS系OSはハッカーから常に狙われている状況になっていますので、ウイルス対策ソフトウエアを導入することは必須のことです。 市販のソフトウエアも色々なものが発売されていますが、ここではあくまでもフリーなソフトウエアにこだわっていきたいと思います。同様に参考サイトにインストールに必要な情報が丁寧に紹介されていますので、特に導入に困ることは無いと思います。

AVG Antivirusavast! 4 Home Edition
操作性メニュー等は英語であるがGUIで操作できるため戸惑うことは少ない外国製のソフトであるにもかかわらず、日本語を選択すればメニューが全て日本語になる。操作性は洗練されていてとても使いやすい
性能特に問題なし特に問題なし
セキュリティパターンファイルは比較的頻繁に更新されているパターンファイルの更新頻度は使い始めたばかりなのでまだ判らない
総合評価フリーソフトとして比較的古くからあるソフトウエア比較的最近紹介されたソフトウエア。(窓の杜紹介記事)
参考サイトAVG AntiVirusの設定AVGのセットアップAVAST!HOME EDITION

 今まで私は「AVG ANTIVIRUS」を使ってきたのですが、窓の杜の記事を見る限り、AVAST!の方もかなり良さそうなので、今回のサーバーにはAVAST!をインストールすることにしました。

データベースソフトウエア

 あとでブログツールであるMovableTypeをこちらのサーバーに移植しなければいけないので、Movable Typeを走行させるために必要なソフトをインストールしていきます。まずはじめにデータベースソフトウエアをインストールします。こちらはLinuxでもMySQLを使用してきたので、迷わずにWINDOWS版のMySQLをインストールすることにします。

PHPのインストール

  続いて、これもMovableTypeの同左のために必須となるPHPのインストールです。PHPは、 HTMLファイル内に記述するタイプのスクリプト言語のことを言います。通常のCGIとして使用できますが、PHPモジュールをApacheサーバーに組み込むことにより、 Perl/CGIと比較して処理速度の高速化やサーバー負荷の低減が可能です。また、PostgreSQL,MySQL,Oracle,Sybaseといった各種データベースとの連携に優れています。また、PHPはXML,PDF,IMAP,LDAP等の各種機能をサポートしているため、いろいろなWebアプリケーションを容易に作成することが可能です。

MOVABLE TYPEのインストールと移行

 続いて、MovableTypeのインストールです。

 今まで古いサーバーでたくさんの記事を書いてきたので、MOVABLETYPEのインストールが終わったあとに、その中身をインポートしなければいけません。幸い、MOVABLETYPEにはエクスポート、インポート機能が付いていますので、これを使って、記事の内容については移行を行いました。古いMOVABLETYPEの環境でエクスポートを行ったあと、新しい環境の指定のディレクトリに「import.txt」という名前でファイルを置いておくとインポート機能でひろってくれます。

 記事のほうをインポートできても、その他のテンプレート等の設定はインポートをしてくれません。これらは個別にカットアンドペーストをして環境を移行しました。

アクセス解析する環境の構築

 従来、Linuxでサーバーを立てているときには「WEBALIZER」というソフトを使って、アクセス状況の分析を行っていたのですが、Linux環境に依存したソフトウエアなのでWINDOWSベースでは動作させることができません。そこで、環境依存性が少なく、APACHEのログを解析してくれるソフトウエアを使うことにしました。AWSTATSというPERLで書かれたプログラムです。プログラムの銭湯にあるPERLへのパスを書き換えたり、環境に依存する設定部分を書き換えることで無事に走行を確認することが出来ました。

その後のWindowsサーバー (2004.11.1追記)

 しばらくはWINDOWSでサーバーを運用し続けていたのですが、かなり速いマシンを使用しているにもかかわらず、やっぱりWindowsだと機敏性にかける部分があります。たとえば、長く運転し続けたりするとリソースが不足するためか段々応答が遅くなることがありました。立ち上げ直せば問題なくなるのですが、再立ち上げをしている最中はサーバーにアクセスが出来ない状態になってしまうため、あまり再立ち上げはしたくありません。WINDOWSはGUIが充実しており、たいへんに使いやすいOSではありますが、その分にリソースがとられてしまっているのは致し方が無いところでしょうか。

 せっかくプリインストールされていたWINDOWS XPですが、このOSは削除してしまい、Linuxをインストールすることにしました。以前入手したFedoraCore1があったので、これを使用してインストールを実施しました。手順はWINDOWS上でブログの記事や掲示板の記事等をバックアップしたあと、思い切ってハードディスクを初期化してしまいました。

コメント