タヌキのお散歩
タヌキのお散歩

WEBサーバーの導入

現在人来訪中
トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン 印刷

はじめに

タヌキにもできる自宅サーバーの構築の第一歩として、WEBサーバー(WWWサーバー)を作ってみました。
タヌキが使っているプロバイダーは、CGIなどが一切使えないので、このようにしました。
また、無料のWEB領域を貸してもらえるところは、容量が少なく、広告が入ります。
つぎに、

  1. WWWサーバーが動くと、CGI(PERL)を動かしたくなります。
  2. メールサーバーがほしい(取得ドメイン宛のメールの管理)
  3. FTPがほしい(WWWサーバーが別マシンの場合のデータ転送用)
  4. 携帯でも届いたメールを読みたい

と拡がっていきます。

WEBサーバー構築のためのソフト

04WEBSERVERを使うと、Windows2000Pro、XPにて、簡単に構築できるので採用しました。

  • ブロードバンド回線等での利用を目的とした、パーソナル向けHTTPサーバソフトです。
  • 04WebServerはフリーウェアですので、誰でも自由に利用することができます。
  • WebDAV class1(IE5.5以降のWebフォルダ機能)に対応しています。
  • CGI、SSIが使用できます。

特徴はここを見てもらって、わたしは、GUIでこんなに簡単に構築できていいのかなぐらい簡単でした。

WevDAVとは
WWWでファイルの転送に使われるHTTPを拡張して、クライアント(Webブラウザ)からWebサーバ上のファイルやフォルダを複写・削除・編集・作成できるようにした仕様のことです。HTTP(port80)を利用します。
使用方法:IEを開いて、[ファイル]->[開く]->[ダイアログ表示]にて、[□ Webフォルダとして開く]にチェックをいれる。普通に開きたいWEBフォルダーへのURLを入力する。

インストール

サイトの■ダウンロード項目から、04WebServer_186.zip をダウンロードして保存し、"C:\Program files\04webserver"などのフォルダーを作成して、展開したディレクトリ内のsetup.exe を実行します。これは、レジストリーなどの作成だけします。
または、04WS_Setup186.msi をダウンロードすると、事前に解凍とディレクトリー作成を行わずにインストールが可能です。参照■04WebServerのセットアップ

実行すると、次の問い合わせががあり、標準は,覆里如△修里泙渕,悒リックします。
.機璽咼垢箸靴撞動、∨莢鵐リックして起動、K椒愁侫箸鮑鐔する場合のレジストリー関連の削除のみおこなう。

ServerController.exe を実行して、サーバーの設定を実施します。
この画面が表示されます。すでに「サーバーは正常に作動中」が確認できます。

それでは、ブラウザーで http://localhost/index.html にアクセスしてみましょう。
次の画面が表示されれば、サーバーとしての機能はOKです。

バージョンアップ

バージョンアップは、ダウンロードしたソフトを実行(.msi)または、既存のディレクトリーのSetup.exeを実行して、「アンインストールする」→「実行」を選択して常駐ソフトの解除を行った後、解凍(.zip)して既存の保存場所「04webserverディレクトリー」に(SSLKeyディレクトリーと04WebServer.xml)を除くファイルすべてを上書きコピーしてください。再度、Setup.exeを実行して、「システムサービスとしてサーバーを実行する」→「実行」を選択して先ほど解除した常駐ソフトを常駐させます。

設定

自分好みのディレクトリ(フォルダー)体系にしていきます。まず、ルートドキュメントの設定です。
これは、"http://localhost/"で表示される最初のページはどこにあるかを指示します。
初期値では、インストール時に展開したフォルダーで"DocumentRoot"フォルダーが設定されています。フォルダー内の"index.html"が表示されている。
これをご自分のメインWEBフォルダーに変更します。
(そのフォルダー内にはindex.htmlファイルが存在すること、ない場合は、documentrootフォルダー内のファイルindex.html,04webserver.cssをコピーして暫くお使いください)
ServerControllerGUIの[ディレクトリ設定]-[ドキュメントルート]をダブルクリックします。

基本設定タブでは、

ServerPath: /

LoacalPath: %ServerRoot%DocumentRoot\

の設定を

ServerPath: /

LoacalPath: d:\www\home2\ <--- 任意のWEBメインフォルダー

に変更します。他はそのままです。[OK]をクリックして設定を保存します。

そして、サーバーはまだ、設定が変わったことが分からないので、設定を有効にするために、「サーバー再起動」をクリックして再起動します。
もう一度"http://localhost/"にアクセスすると、ご自分のメインWEBが表示されます。
これで完成です。簡単でしょ!

CGIを許可する設定

ServerControllerGUIの[ディレクトリ設定]-[新規]をクリックします。
基本設定タブでは、

説明: CGI関連

ServerPath: /cgi-bin/

LoacalPath: d:\www\cgi-bin\ <--- 任意のCGI関連プログラムフォルダー

詳細設定タブでの動作設定では、

□SSI/CGI許可のみにチェックを入れます。

保存して、サーバー再起動(本体マシンではありません)します。
CGIスクリプトにアクセスして正常に表示されればOKです。

CGIを動かすには

このWEBサーバーと同じマシンに、ActivePerlをインストールすることが必要です。
インストールは、ここから 2005年8月現在最新の ActivePerl-5.8.7.813-MSWin32-x86-148120.ms
をダウンロードして、

実行して、「次へ」をひたすらクリックすれば、出来ます。参照インストール例
WindowsPATHは自動で作成されます。
最後に、再起動(リブート)後、DOS窓を開いて、

C:\> perl -v
This is perl, v5.8.7 built for MSWin32-x86-multi-thread

のようにPERLのバージョン情報が表示されればOKです。

PHPを動かすには

このWEBサーバーと同じマシンに、PHPをインストールすることが必要です。PHP日本ユーザー会参照!
インストールは、ここから 2006年8月現在最新の PHP 5.1.6 zip package(php-5.1.6-Win32.zip) をダウンロードして、

拡張子ZIPの場合は、c:\PHP フォルダーを作成して、そこに展開してください。
拡張子EXEの場合は、実行して、「次へ」をひたすらクリックすれば、出来ます
インストールはここ参照します

04webserver CGI/SSHの設定

サーバーの設定の「CGI/SSHの設定」を開き、次の紫の枠のように設定します。

拡張子ファイルヘッダーCGI実行プログラム
phpc:\php\php-cgi %FilePath% %Query%
php実行ファイル%FilePath% %Query%
実行ファイル行の設定はいりません。(cgi,php,ruby)共通

PHP.iniの編集

php.ini-dist ファイルを複写して、php.ini ファイルを作成します。
そして次の行を編集します。

472行extension_dirは,phpのextフォルダまでのパスを書きます。

extension_dir = "c:\php\ext"

484行; cgi.force_redirect = 1のコメントをはずし、

cgi.force_redirect = 0 に変更する

581行;extension=php_mbstring.dllで(;)コメントアウトされているのをはずします。

extension = php_mbstring.dll

TEST.php の作成

次をテキストエディターで作成して、ドキュメントルートにおいてください。

#!c:\php\
<? phpinfo(); ?>

http://localhost/test.php で次のように表示されればOKです。

DOSコマンドでの実行(必要ならば)

c:\phpの 環境PATH を作成して、最後に、再起動(リブート)後、DOS窓を開いて、

C:\>php -v
PHP 5.1.1 (cli) (built: Nov 27 2005 21:39:02)
Copyright (c) 1997-2005 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2005 Zend Technologies

のようにPHPのバージョン情報が表示されればOKです。

RUBYを動かすには

このWEBサーバーと同じマシンに、RUBYをインストールすることが必要です。日本Rubyの会参照!
インストールは、ここから ruby-1.9.0-20060415-i386-mswin32.zip をダウンロードして、
拡張子ZIPの場合は、c:\RUBY フォルダーを作成して、そこに展開してください。
拡張子EXEの場合は、実行して、「次へ」をひたすらクリックすれば、出来ます
インストールはここ参照します

Windowsでパスを通す

「マイコンピュター」を右クリックして、「プロパティー」をクリックする。
「詳細設定」タブを選択して、下の「環境変数」を選択後、
PATH項目に(c:\ruby\bin; ←セミコロン忘れないように)追加してください。

04webserver CGI/SSHの設定

サーバーの設定の「CGI/SSHの設定」を開き、次の緑の枠のように設定します。

拡張子ファイルヘッダーCGI実行プログラム
rbruby %FilePath% %Query%
rb実行ファイル%FilePath% %Query%
実行ファイル行の設定はいりません。(cgi,php,ruby)共通

TEST.rb の作成

次をテキストエディターで作成して、ドキュメントルートにおいてください。

puts "Content-type: text/html","\n\n";
puts "<html>\n";
puts "<head>\n";
puts "<meta http-equiv=\"Content-type\" content=\"text/html;charset=Shift_JIS\">\n";
puts "<title>TEST.RB</title>\n";
puts "</head>\n";
puts "<body>\n";
puts "Hello, Ruby!";
puts "</body>\n";

注意:1行目の"Content-type: text/html","\n\n";はCGIヘッダーですので
これを付け忘れるとWEB上で「CGIヘッダーが無いエラー」になります。
http://localhost/test.rb で次のように表示されればOKです。

Hello, Ruby!

DOSコマンドでの実行(必要ならば)

c:\ruby\binの 環境PATH を作成して、最後に、再起動(リブート)後、DOS窓を開いて、

C:\>ruby -v
ruby 1.9.0 (2006-04-15) [i386-mswin32]

のようにRUBYのバージョン情報が表示されればOKです。

公開フォルダーの設定

ここでは、公開ソフトなどのダウンロードのためのフォルダーを設定します。
ServerControllerGUIの[ディレクトリ設定]-[新規]をクリックします。
基本設定タブでは、

説明: 公開フォルダー

ServerPath: /download/

LoacalPath: d:\download\ <--- 任意のフォルダー

詳細設定タブでの動作設定では、

□インデックスリストの表示を許可のみにチェックを入れます。

保存して、サーバー再起動(本体マシンではありません)します。
確認 http://localhost/download/ へアクセスしてディレクトリーが表示されればOK!

外部に公開する

1.外部より閉じられたLAN環境
家庭内LAN、会社内LANで公開するには、ファイアーウオールの設定のみでOK!。確認は、同じLAN上のほかのマシンより、このサーバーの http://Windowホスト名/ または、 http://IPアドレス/ へアクセスして、自分のページが見られたらOKです。
2.自分のページをインターネットに公開するには、
自分のマシンまたはルータにプロバイダーから与えられたIPアドレスをグローバルIPアドレス(WAN側IPアドレス)といいます。このIPアドレスを知るには、この確認くんで確認できます。「現在接続している場所(現IP)」の項目の 210.123.244.35 (例)がそうです。このIPアドレスを使って、http://210.123.244.35/ にアクセスすると、自分のページが見られます。見れない場合は、次のルータの設定とファイアーウオールの設定を行ってください。
3.ルータの設定
ルータのネットワーク設定のアドレス変換でTCPポート80とTCPポート443を通過できるように設定します。
  • WAN側IPアドレス TCP Port:80 <--> LAN側IPアドレス TCP Port:80
  • WAN側IPアドレス TCP Port:443 <--> LAN側IPアドレス TCP Port:443
4.ファイアーウォールの設定
ファイアーウォールの設定を変更し、TCPポート80(http)とTCPポート443(https)の受信を許可してください。
  • Windowsのファイアーウール
  • ウイルスバスターなどに付くファイアーウオール
5.ドメイン名の取得
残念ながら、プロバイダーから割り与えられたIPアドレスは、マシンまたはルータの電源をOFF・ONしたりすると変わってしまいます。しかし、IPアドレスが変わっても名前で管理すれば、その名前でWEBを利用する利用者には、IPアドレスが変わっても何ら変更する旨を連絡しなくてすみます。この名前をドメイン名といいます。ドメイン名とIPアドレスの対応表を管理するサーバーがDNS(Domain Name Service)サーバです。でも、このドメイン名(例 ntt.co.jp)は、世界でひとつしかない名前でなくてはならず、ある団体へ高いお金を払い、維持費もかかりながら登録してもらいます。しかしながら無料で提供してくれるサイトがあります。無料なので、"任意の名前.dip.jp" のように、dip.jpのドメイン名は、固定です。よって任意の名前+ドメインでサブドメインを作ります。無料のサイトを使って、"任意の名前.dip.jp"="プロバイダーから得たIPアドレス"の関連をDNSサーバーに登録します。このサービスをDDNSといいます。

こうして、http://任意の名前.dip.jp/ にアクセスすると、自分のページが見られます。

  • 変換サービスは「Dynamic Domain Name Service(DDNS)」といって、指定したIPアドレスと取得したドメインをDNSサーバに登録するという事をしてくれます。このサービスは無料で行ってくれるところが多いので、自分専用のサブドメインを取得します。
  • たぬきが使っているサイトは http://www.ieserver.net/ です。ここは、MX(メール関連)も使えます。ユーザー名が上で言う任意の名前です。パスワードを入れてサブドメイン登録してください。

もうひとつ、せっかく登録したドメイン名とIPアドレス関連は、IPアドレスが変わってしまうと、その都度IPアドレス関連の登録をしなおさなければなりません。面倒ですね!
これを、自動で行ってくれるフリーソフトが"Dice"です。

サブドメイン
サブドメインの場合、サーバ会社が潰れたり、サービスをやめてしまった場合、URLもメールアドレスも無くなってしまいます。タダには危険性がありますが、お金をかけたくなければおすすめ!
独自ドメイン
自分のすきな文字列でドメインを作れる。独自ドメインとは「www.店舗名.com」「www.店舗名.co.jp」といったオリジナルのURLのことです。独自ドメインを取得することでそのサイトの信頼感やブランドイメージを高めることができます。ドメイン名の取得は申請順となっており、人気のドメインは早い者勝ちというのが基本的なルールです。希望のドメインが取得可能かどうかは お名前.com などで調べることができます。独自ドメインの良いところはアドレスが短くなるという見た目だけではありません。ずっと同じURLとメールアドレスが使えるというメリットがあります。独自ドメインは基本的に1年ごとの更新費を払っていく形で維持していくのですが、この費用さえ払っていれば、取得したドメインはずっと自分のものにしておくことができます。

SSL通信(HTTPS

HTTPS サーバとブラウザの間の通信を暗号化し、プライバシーに関わる情報やクレジットカード番号などを安全にやり取りすることができる。SSLを利用するためには、まず、自分のサイトで利用する秘密鍵とサイト証明書が必要です。

SSL通信の設定

ServerController.exe を実行しての「サーバー設定」->「サーバ基本設定」-> [SSL/TTLタブ]をクリックする。
次の画面で、

  1. 「□SSL/TTLを有効にする」 にチェックする。
  2. 「秘密鍵とサイト証明書の作成」項目で「作成」ボタンをクリックする。
  3. 「公開鍵」にて任意のパスワードを入力してください。
  4. 「サイト証明書」にてすべての項目に入力します。正式なサイト証明書はここでは作りません。個人的なので!
  5. 「秘密鍵のパスワード」でで作成した時に入力したのと同じパスワードを入力する。
  • 秘密鍵ファイルの出力先と秘密鍵ファイル
  • サイト証明書ファイル出力先とサイト証明書ファイル

が同じ場所を示すこと。
これが違う、または、パスワードが違うと、再起動時にエラーになります。

表示ページの設定

ServerController.exe を実行して、「ディレクトリー設定」->「詳細設定タブ」->「通信経路」の設定では、
□ HTTP □ HTTPS の両方にチェックを入れるか、または、HTTPSにチェックを入れる。

ポートの設定

HTTPSの標準は443なので、ファイアーウオールとルータなどのポート[TCP受信443]を開ける。

確認

サーバー再起動(本体マシンではありません)します。
確認 https://localhost/ へアクセスしてページが表示されればOK!
HTTP:// で無いことに注目です。

その他

04WebServerには、自分で署名したサイト証明書を発行する機能がありますが、証明機関による署名が無いため、ブラウザにより警告が出ます。
ネットショップなどを運営する場合は、セキュリティ上、証明機関の発行したサイト証明書を利用する事をお勧めします。

最終更新時間:2011年01月16日 12時03分55秒