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

WEBサーバーの導入の変更点

現在人来訪中
トップ 一覧 検索 ヘルプ RSS ログイン 印刷
  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!はじめに
タヌキにもできる自宅サーバーの構築の第一歩として、WEBサーバー(WWWサーバー)を作ってみました。
タヌキが使っているプロバイダーは、CGIなどが一切使えないので、このようにしました。
また、無料のWEB領域を貸してもらえるところは、容量が少なく、広告が入ります。
つぎに、
+WWWサーバーが動くと、CGI(PERL)を動かしたくなります。
**[[FSWIKIをタヌキ好みに]]を参照。
+メールサーバーがほしい(取得ドメイン宛のメールの管理)
**[[メールサーバーの導入]]を参照
+FTPがほしい(WWWサーバーが別マシンの場合のデータ転送用)
**[[FTPサーバーの導入]]を参照
+携帯でも届いたメールを読みたい
**[[WEBMAIL携帯サーバーの構築]]を参照
と拡がっていきます。
!!!WEBサーバー構築のためのソフト
04WEBSERVERを使うと、Windows2000Pro、XPにて、簡単に構築できるので採用しました。
*ブロードバンド回線等での利用を目的とした、パーソナル向けHTTPサーバソフトです。
* 04WebServerはフリーウェアですので、誰でも自由に利用することができます。
*WebDAV class1(IE5.5以降のWebフォルダ機能)に対応しています。
*CGI、SSIが使用できます。
特徴は[ここ|http://www.soft3304.net/04WebServer/]を見てもらって、わたしは、GUIでこんなに簡単に構築できていいのかなぐらい簡単でした。
:WevDAVとは:WWWでファイルの転送に使われるHTTPを拡張して、クライアント(Webブラウザ)からWebサーバ上のファイルやフォルダを複写・削除・編集・作成できるようにした仕様のことです。HTTP(port80)を利用します。
使用方法:IEを開いて、[ファイル]->[開く]->[ダイアログ表示]にて、[□ Webフォルダとして開く]にチェックをいれる。普通に開きたいWEBフォルダーへのURLを入力する。
!!!インストール
[サイト|http://www.soft3304.net/04WebServer/]の■[ダウンロード|http://www.soft3304.net/04WebServer/Download/]項目から、04WebServer_182.zip をダウンロードして保存し、"C:\Program files\04webserver"などのフォルダーを作成して、展開したディレクトリ内のsetup.exe を実行します。これは、レジストリーなどの作成だけします。
または、04WS_Setup182.msi をダウンロードすると、事前に解凍とディレクトリー作成を行わずにインストールが可能です。参照■[04WebServerのセットアップ|http://www.soft3304.net/04WebServer/Manual.html]
[サイト|http://www.soft3304.net/04WebServer/]の■[ダウンロード|http://www.soft3304.net/04WebServer/Download/]項目から、04WebServer_186.zip をダウンロードして保存し、"C:\Program files\04webserver"などのフォルダーを作成して、展開したディレクトリ内のsetup.exe を実行します。これは、レジストリーなどの作成だけします。
または、04WS_Setup186.msi をダウンロードすると、事前に解凍とディレクトリー作成を行わずにインストールが可能です。参照■[04WebServerのセットアップ|http://www.soft3304.net/04WebServer/Manual.html]
{{ref_image 04webserver-010.JPG}}
実行すると、次の問い合わせががあり、標準は,覆里如△修里泙渕,悒リックします。
.機璽咼垢箸靴撞動、∨莢鵐リックして起動、K椒愁侫箸鮑鐔する場合のレジストリー関連の削除のみおこなう。
{{ref_image 04webserver-011.JPG}}
ServerController.exe を実行して、サーバーの設定を実施します。
この画面が表示されます。すでに「サーバーは正常に作動中」が確認できます。
{{ref_image 04webserver-012.JPG}}
それでは、ブラウザーで http://localhost/index.html にアクセスしてみましょう。
次の画面が表示されれば、サーバーとしての機能はOKです。
{{ref_image 04webserver-013.JPG}}
!!!バージョンアップ
バージョンアップは、ダウンロードしたソフトを実行(.msi)または、既存のディレクトリーのSetup.exeを実行して、「アンインストールする」→「実行」を選択して常駐ソフトの解除を行った後、解凍(.zip)して既存の保存場所「04webserverディレクトリー」に(SSLKeyディレクトリーと04WebServer.xml)を除くファイルすべてを上書きコピーしてください。再度、Setup.exeを実行して、「システムサービスとしてサーバーを実行する」→「実行」を選択して先ほど解除した常駐ソフトを常駐させます。
!!!設定
自分好みのディレクトリ(フォルダー)体系にしていきます。まず、ルートドキュメントの設定です。
これは、"http://localhost/"で表示される最初のページはどこにあるかを指示します。
初期値では、インストール時に展開したフォルダーで"DocumentRoot"フォルダーが設定されています。フォルダー内の"index.html"が表示されている。
これをご自分のメインWEBフォルダーに変更します。
(そのフォルダー内にはindex.htmlファイルが存在すること、ない場合は、documentrootフォルダー内のファイルindex.html,04webserver.cssをコピーして暫くお使いください)
ServerControllerGUIの[ディレクトリ設定]-[ドキュメントルート]をダブルクリックします。
{{ref_image 04webserver-014.JPG}}
基本設定タブでは、
""ServerPath: /
""LoacalPath: %ServerRoot%DocumentRoot\
の設定を
""ServerPath: /
""LoacalPath: d:\www\home2\      <--- 任意のWEBメインフォルダー
に変更します。他はそのままです。[OK]をクリックして設定を保存します。
{{ref_image 04webserver-015.JPG}}
そして、サーバーはまだ、設定が変わったことが分からないので、設定を有効にするために、「サーバー再起動」をクリックして再起動します。
もう一度"http://localhost/"にアクセスすると、ご自分のメインWEBが表示されます。
'''これで完成です。簡単でしょ!'''

!!!CGIを許可する設定
ServerControllerGUIの[ディレクトリ設定]-[新規]をクリックします。
基本設定タブでは、
""説明: CGI関連
""ServerPath: /cgi-bin/
""LoacalPath: d:\www\cgi-bin\   <--- 任意のCGI関連プログラムフォルダー

詳細設定タブでの動作設定では、
""□SSI/CGI許可のみにチェックを入れます。

{{ref_image 04webserver-016.JPG}}
保存して、サーバー再起動(本体マシンではありません)します。
CGIスクリプトにアクセスして正常に表示されればOKです。
*XmailCFG( http://localhost/cgi-bin/xmailcfg )
*FSWIKI  (http://localhost/cgi-bin/wiki/wiki.cgi)

!!CGIを動かすには
このWEBサーバーと同じマシンに、ActivePerlをインストールすることが必要です。
インストールは、[ここ|http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl]から 2005年8月現在最新の ActivePerl-5.8.7.813-MSWin32-x86-148120.ms
をダウンロードして、
{{ref_image 04webserver-017.JPG}}
実行して、「次へ」をひたすらクリックすれば、出来ます。[参照インストール例|http://pocketstudio.jp/win/activeperl/]
WindowsPATHは自動で作成されます。
最後に、再起動(リブート)後、DOS窓を開いて、
 C:\> perl -v
 This is perl, v5.8.7 built for MSWin32-x86-multi-thread
のようにPERLのバージョン情報が表示されればOKです。

!!PHPを動かすには
このWEBサーバーと同じマシンに、PHPをインストールすることが必要です。[PHP日本ユーザー会|http://www.php.gr.jp/]参照!
インストールは、[ここ|http://php.net/downloads.php]から 2006年8月現在最新の PHP 5.1.6 zip package(php-5.1.6-Win32.zip) をダウンロードして、
{{ref_image 04webserver-023.JPG}}
拡張子ZIPの場合は、c:\PHP フォルダーを作成して、そこに展開してください。
拡張子EXEの場合は、実行して、「次へ」をひたすらクリックすれば、出来ます
インストールは[ここ|http://www.php.net/manual/ja/install.windows.manual.php]参照します
!04webserver CGI/SSHの設定
サーバーの設定の「CGI/SSHの設定」を開き、次の紫の枠のように設定します。
,拡張子,ファイルヘッダー,CGI実行プログラム
,php,,c:\php\php-cgi %FilePath% %Query%
,==php==,==実行ファイル==,==%FilePath% %Query%==
実行ファイル行の設定はいりません。(cgi,php,ruby)共通 
{{ref_image 04webserver-025.JPG}}
!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です。
{{ref_image 04webserver-024.JPG}}
!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の会|http://www.ruby-lang.org/ja/]参照!
インストールは、[ここ|http://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/]から ruby-1.9.0-20060415-i386-mswin32.zip  をダウンロードして、
拡張子ZIPの場合は、c:\RUBY フォルダーを作成して、そこに展開してください。
拡張子EXEの場合は、実行して、「次へ」をひたすらクリックすれば、出来ます
インストールは[ここ|http://www.ruby-lang.org/ja/install.cgi?cmd=view;name=top]参照します
!Windowsでパスを通す
「マイコンピュター」を右クリックして、「プロパティー」をクリックする。
「詳細設定」タブを選択して、下の「環境変数」を選択後、
PATH項目に(c:\ruby\bin; ←セミコロン忘れないように)追加してください。
{{ref_image 04webserver-026.JPG}}

!04webserver CGI/SSHの設定
サーバーの設定の「CGI/SSHの設定」を開き、次の緑の枠のように設定します。
,拡張子,ファイルヘッダー,CGI実行プログラム
,rb,,ruby %FilePath% %Query%
,==rb==,==実行ファイル==,==%FilePath% %Query%==
実行ファイル行の設定はいりません。(cgi,php,ruby)共通  
{{ref_image 04webserver-025.JPG}}
!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アドレスを知るには、この[確認くん|http://www.ugtop.com/spill.shtml]で確認できます。「現在接続している場所(現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|http://e-lovers2.hp.infoseek.co.jp/soft.html]"です。

::サブドメイン
:::サブドメインの場合、サーバ会社が潰れたり、サービスをやめてしまった場合、URLもメールアドレスも無くなってしまいます。タダには危険性がありますが、お金をかけたくなければおすすめ!

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

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

!!SSL通信の設定
ServerController.exe を実行しての「サーバー設定」->「サーバ基本設定」-> [SSL/TTLタブ]をクリックする。
次の画面で、
+「□SSL/TTLを有効にする」 にチェックする。
+「秘密鍵とサイト証明書の作成」項目で「作成」ボタンをクリックする。
+「公開鍵」にて任意のパスワードを入力してください。
+「サイト証明書」にてすべての項目に入力します。正式なサイト証明書はここでは作りません。個人的なので!
+「秘密鍵のパスワード」でで作成した時に入力したのと同じパスワードを入力する。
{{ref_image 04webserver-020.JPG}}
{{ref_image 04webserver-021.JPG}}
*秘密鍵ファイルの出力先と秘密鍵ファイル
*サイト証明書ファイル出力先とサイト証明書ファイル
が同じ場所を示すこと。
これが違う、または、パスワードが違うと、再起動時にエラーになります。
!!表示ページの設定
ServerController.exe を実行して、「ディレクトリー設定」->「詳細設定タブ」->「通信経路」の設定では、
□ HTTP □ HTTPS の両方にチェックを入れるか、または、HTTPSにチェックを入れる。

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

!!確認
サーバー再起動(本体マシンではありません)します。
確認 https://localhost/ へアクセスしてページが表示されればOK!
HTTP:// で無いことに注目です。
!!その他
04WebServerには、自分で署名したサイト証明書を発行する機能がありますが、証明機関による署名が無いため、'''ブラウザにより警告'''が出ます。
ネットショップなどを運営する場合は、セキュリティ上、証明機関の発行したサイト証明書を利用する事をお勧めします。