WEBサーバはインターネットまたはイントラネット上でホームページを色々な方々に見て貰うためのサーバです。WEBサーバというとWEB専用のサーバという感じもしますが、実はメールサーバやFTPサーバ用ソフトをインストールして起動すれば同じパソコン上でサービスを一緒に提供することもできます。サーバ用のソフトウエアはWINDOWS用もLINUX用も、いろいろと公開されています。日常の作業でWINDOWSを使い慣れた方はまずはWINDOWS系のソフトウエアをおすすめします。やっぱり操作性が統一されているのと、いろいろな設定が非常に行いやすいのが特徴です。しかし、もし、LINUXへ挑戦する勇気がありましたら、その安定性からLINUXで導入することをおすすめします。本当に安定していて、1ヶ月くらい連続して運転してもフリーズしたりするようなことはありませんでした。
1.WINDOWS
それでは、WINDOWSを使用したWEBサーバの立ち上げに関して解説します。WINDOWSを日ごろ使っている方にとっては、インストールも簡単、設定も簡単です。OSのバージョンは安定性からWINDOWS2000以降がお勧めです。
(1)WEBサーバソフトの選択について
WINDOWSベースで使用するときのWEBサーバソフトは大きく分けてAN HTTPDとAPACHE、そしてWINDOWS2000等に付いてくるマイクロソフトのIISという3種類があげられます。IISは有名なソフトウエアで色々な場面で使われていることも多いため、何やら色々なハッカー達に狙われているらしく、次々にセキュリティアップデートが出てきているようなので遠慮しました。(その他にも、貼付版は単一のWEBサーバのみ構築可能、TCPでの同時接続数は最大10まで等の制限が付いているようです)
APACHEは非常に有名で定番ですけれども、WEBを公開するための設定でコンフィグレーションファイルの編集等が必要で、若干初心者には取っつきにくい部分があるということで、こちらも次回チャレンジすることにしました。
そこで今回はGUIベースで初心者でも取っつきやすいという評判であったことから最初の「AN HTTPD」を使用させていただきました。 AN HTTPDならば特にIISのような制限事項が無いうえに、WINDOWSへのインストールが簡単にできて、煩わしいテキストファイルの編集などを行わなくとも、GUIで各種設定を変更できるという面では、最高の操作性のソフトだと思います。しかも、別にPerlをインストールすればCGIが使用できるため、自宅サーバにアクセスカウンタや掲示板を設置することが簡単にできてしまいます。
AN HTTPDを使用したWEBサーバの構築についても紹介されています。
(2)AN HTTPDのインストール
AN HTTPDには、SETUP.EXEやINSTALL.EXEなどのインストーラが付属していないため、アーカイブファイルを解凍したフォルダがそのままセットアップ先となります。実際にアーカイブファイルを展開したときのフォルダの中の構成は以下のようになります。
最初に起動したフォルダの情報を初期設定として認識しレジストリに書き込みます。従って、起動してからではフォルダを移動するのは困難になるので、起動する前に、たとえばprogram files配下等の本来の場所にフォルダを移動してください。また、AN HTTPDはWINDOWS2000やWINDOWS XPでは「サービス」として登録することができるようなりますので、マシンさえ起動していれば、WINDOWSにログインしていなくてもWEBサーバ機能を提供できるようになります。
(3)設定について
最適な設定か否かは今ひとつ自信がないのですが、以下の設定で動かしています。
・一般タブ
自分のホームページをハードディスク上のどこのフォルダーに入れるか(ドキュメントルート)、WEBサーバのポート番号(これはブラウザのデフォルトである80を使うのがよいと思います)、デフォルトインデックス(ファイル名が指定されなかったときに表示させるファイル名のデフォルト値)、SSIやCGIを許可(実行)させるか否か等の設定を行うことができます。
フリーソフトを使ってWindowsで自分のWebサーバを立てる
・一般タブ以外のタブ
最初は上記設定だけでHTMLがブラウザで表示できるはずですので試してみることをおすすめします。これで成功すれば徐々に他のタブの意味も確認しながら設定していくとよいでしょう。
(4) CGIの実行について
ホームページを運営していると、メールフォームをページの中に設けて、ページを見て頂いた人から簡単にメールを送信していただいて、感想を集めたり、掲示板を設置して、コミュニケーションをしたりといったことが行いたくなってきます。こんなとき、便利なのがCGIというプログラム言語で作られたフリーソフト群です。CGIはPerlというプログラム言語で記述されています。従って、CGIプログラムを実行するためにはPerlの実行環境が必要になります。特にWINDOWS環境では標準ではCGIの実行環境はインストールされていませんので、こちらのホームページからActivePerlをダウンロードしてインストールを行ってください。インストールはウィザード形式で簡単に行うことができますので特に難しい部分は無いと思います。
(5) ユーザ認証について (2003.4.26追記)
AN HTTPDはユーザ認証機能をサポートしていますので、制限付きのサイトを構築することができます。たとえば、家族限定のサイトや仲間内だけで公開するようなWEBページを作ることができます。設定画面の「ユーザ認証」タブをクリックして「ユーザ認証」のチェックボックスをクリックしてonにするとユーザ認証伊能が有効になります。(チェックボックスをonにするのを忘れて、ユーザ認証がうまくいかなかったことがありました) また、パスワードの編集が可能で勝手にパスワードの設定を変更されてしまうことを防ぐことができます。ユーザ認証の設定は「認証名」という項目部分の追加ボタンをクリックします。認証したいユーザ名とパスワードを作成して、作成したユーザの編集を行います。OKボタンをクリックすると、ユーザリストに認証を行うユーザ名と暗号化されたパスワードが表示されます。
これらの設定が完了したらWEBブラウザでチェックしましょう。きちんと設定が行われていれば認証が必要なサイト(ページ)にアクセスした際にポップアップウインドウが出てきて、IDとパスワードの入力が求められるはずです。ここで、さきほどAN HTTPDで設定したIDとパスワードを入力すれば、目的の制限ページが表示されることと思います。
2.LINUX (2003.2.8追記)
しばらくWINDOWS2000の上でAN HTTPDを走らせてホームページを公開してきたのですが、電気代節約と静音化のために、非力なノートパソコン(THINKPAD760)にWEBサーバを入れることにしました。しかし、非力なためにOSはWINDOWS95としたのですが、非常に不安定で、一日に一回はブルー画面になってハングアップしてしまいます。そこで、LINUXにOSを変更し、WEBサーバソフトもAPACHEに変更しました。LINUXは噂の通り、非力なマシンでもヒュンヒュンと走ってくれて、WEBサーバのほうもブラウザで目的の画面が表示されるまでの時間が早くなったような気がします。
LinuxにおけるWEBサーバソフトは何と言ってもApacheがもっとも有名でシェアが高いソフトです。Redhat等のディストリビューションには通常はWEBサーバソフトとしてApacheが組み込まれていて、インストール時のオプションの指定によって、OSと同時にインストールされるようになっています。このAPACHEもRedhatLinuxの7.3まではバージョン1.3が入っていましたが、RedhatLinuxの8.0以降はAPACHEもバージョン2が含まれるようになりました。Apache2.0では旧バージョンに比べてさらにパフォーマンスが高くなり、マルチスレッティングや新しいIPプロトコルであるIPv6にも対応しています。その他にも新しい仕様のAPIや入出力のフィルタリング、そしてユニコードへの対応等も成し遂げられていますので、さらに今後の発展が楽しみなソフトウエアに仕上がっています。
LINUXというと敷居がかなり高いような気がするのですが、初心者向けの本を片手に頑張れば乗り換えもそんなに苦労しないとおもいます。こちらのページにLINUXによる立ち上げ記録を整理しました。
3.外部からのWEBサーバの動作確認
ルータがあると、本当にインターネット側からの公開もうまく行っているかどうかが気になることがあります。そんなとき、自分のホームページがうまく見えるか否かをチェックするホームページが複数公開されています。私はいつも下記のページを使用させていただいています。(ページが無くなったためリンクを削除しました)
http://www.dream-seed.com/server/site_check.html
4.自宅サーバの定期的な動作確認 (2003.2.8追記)
自宅サーバが定常的に安定して本当に動いているか否かは気になるところです。自分が出先からも定期的にチェックするという方法がありますが、これでは疲れてしまいますので、無料で提供されているサービスを利用するのが良いと思います。私も自宅サーバWEBリングというものに加入していますが、このリングに加入すると、自動的に監視サービスに加入させてくれます。これによって10分間隔程度で監視を行ってくれて、もしも自宅サーバからの自宅サーバからの応答が無応答の場合には、指定したメールサーバにメールで知らせてくれるサービスになっています。こちらのページをご確認ください。
コメント