Windows web server ---インストール・設定編--- (mod.18Jan2009) >>TOP
- Perlのインストール
- PHP5のインストール
- Apache2.2のインストール
SSLの設定
サービスの自動/手動起動の切替設定
環境:Windows XP
Windows PC でサーバを稼動させ,CGIやPHPなどのプログラム動作の確認などを行うことを目的にしています。従って,ローカルマシーンとしてなので,WEBサーバとして公開するには他の設定をする必要がありますが,ここでは説明していません。
httped2.2.Xではベースの conf は httpd.conf で設定し,他の設定は conf\extra 内のファイルを個別に設定することになる。これらの設定を有効にするには,httpd.conf
の終わりの方に #Include ・・・・ が幾つか在るので設定したい項目の#を取ればOK。
Perlのインストール
http://www.activestate.com/ のサイトから ActivePerl-5.6.1.638-MSWin32-x86.msi をダウンロード。
- ダウンロードしたアイコンをダブルクリック
- Next> (をクリック) [Fig.1]
- I accept the terms in the Licence Agreement (選択) [Fig.2]
Next > をクリック
- Browse (をクリック) [Fig.3]
- Folder name: C:\usr\local (と入力) [Fig.4]
OK (をクリック)
- Next > (をクリック) [Fig.5]
- Next > (をクリック) [Fig.6]
- Next > (をクリック) [Fig.7]
- Install (をクリック) [Fig.8]
しばらく待つ [Fig.9]
- Finish (をクリック)
PHPのインストール
http://www.php.net/ のサイトから php-5.2.1-Win32.zip をダウンロード。
- C:の下にphpフォルダを作成して,そのディレクトリ内に解凍する。
- C:\php 内に解凍された2つのファイルを C:\WINDOWS にコピーする。
php5ts.dll
php.ini-dist
- コピーしたファイ名を php.ini-dist から php.ini に変更する。
php.ini をテキストエディタで以下の様に変更する。
-
magic_quotes_gpc = On → magic_quotes_gpc = Off
-
doc_root = → doc_root ="C:/home/user/htdocs"
- extension_dir = "./" → extension_dir = "C:/php/ext"
- ;extension=php_mbstring.dll → extension=php_mbstring.dll
- ;extension=php_gd2.dll → extension=php_gd2.dll
- ;extension=php_pgsql.dll → extension=php_pgsql.dll
Apache2.2のインストール
Apache Software Foundation から ssl も考えて
apache_2.2.8-win32-x86-openssl-0.9.8g.msi をダウンロード。(ディスクトップにでも保存してください)
Linux(fedora)となるべく同様なパスで行ける様にしたいため, C:\usr\local\apache2\ としてインストールを考えてみる。
- ダウンロードしたアイコンをダブルクリック
- Next > (をクリック) [Fig.1]
- I accept the terms in the licence agreement (選択)し,
Next > (をクリック) [Fig.2]
- Next > (をクリック) [Fig.3]
- localhost (入力) [Fig.4]
localhost (入力)
admin@localhost (適当に入力)
for All Users, on Port80, as a Service -- Recommended. (選択) Next > (をクリック)
- Typical (選択) [Fig.5]
Next > (をクリック)
- Change... (をクリック) [Fig.6]
C:\usr\local\apache2\ (書き換える) [Fig.7] OK (をクリック)
- Next > (をクリック) [Fig.8]
- Install (をクリック) [Fig.9]
しばらく待つ [Fig.10]
- Windows セキュリティの重要な警告が表示されることがある。 [Fig.11]
この場合ローカルで稼動させるので[ブロックする]を選択
- Finish (をクリック) [Fig.12]
- ブラウザーを開き http://localhost/ を試してみる [Fig.13]
SSLの設定
証明書・認証キーの作成
コマンドプロンプトを開き,以下の様に入力する。
mkdir "C:\usr\local\ssl"
copy "C:\usr\local\apache2\conf\openssl.cnf" "C:\usr\local\ssl"
cd "C:\usr\local\apache2\bin"
openssl genrsa -out server_key.pem 1024 |
すると以下の様に表示される。
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
..................................++++++
.............++++++
e is 65537 (0x10001) |
さらに,以下の様に入力する。
openssl req -new -key server_key.pem -out server.csr |
以下の例に従い太字箇所を適当に入力。
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:kyoto
Locality Name (eg, city) []:kyoto
Organization Name (eg, company) [Internet Widgits Pty Ltd]:yuyuyu
Organizational Unit Name (eg, section) []:ayu
Common Name (eg, YOUR name) []:localhost
Email Address []:admin@localhost
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: (無しでOK)
An optional company name []: (無しでOK) |
以下の様に入力(1行)。
openssl x509 -req -in server.csr -signkey server_key.pem -out server.crt
-days 365 |
結果,以下の様に表示される。
Loading 'screen' into random state - done
Signature ok
subject=/C=JP/ST=kyoto/L=kyoto/O=yuyuyu/OU=ayu/CN=localhost/emailAddress=admin@l
ocalhost
Getting Private key |
以上で,C:\usr\local\apache2\bin 内に server.crt と server_key.pem が作成されているのを確認して,server_key.pem ファイルを server.key に名前変更し,これら2つのファイルを confフォルダに移動。
メモ:
認証の再発行あるいは変更などしたい場合は,作成された C:\usr\local\apache2\bin 内にserver.scr,server.crt,server_key.pem などのファイルがあれば全て削除してから作成し直す。
rename server_key.pem server.key
move server.key "C:\usr\local\apache2\conf"
move server.crt "C:\usr\local\apache2\conf" |
ここで,とりあえず最低限の設定でSSL認証ができるようにしてみる。
- httpd.conf の設定(C:\usr\local\apache2\conf\httpd.conf)
テキストエディタ(メモ帳)等で編集(緑字)
#LoadModule ssl_module modules/mod_ssl.so (114行あたり)
LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf (475行あたり)
Include conf/extra/httpd-ssl.conf
- httpd-ssl.conf の設定(C:\usr\local\apache2\conf\extra\httpd-ssl.conf)
テキストエディタ(メモ帳)等で編集(緑字)
SSLMutex "file:C:/usr/local/apache2/logs/ssl_mutex" (68行あたり)
#SSLMutex "file:C:/usr/local/apache2/logs/ssl_mutex"
以上で設定が完了したので,apacheを再起動(Apache2.2 -> Restart)する。
SSL動作テスト...
ブラウザーを開き https://localhost/ を試してみる。
SSL認証されると鍵マークが表示される。これは両ブラウザ共通である。
次は httpd.conf をカスタマイズしてPHPやCGIが利用できるようにしてみる。
- 以下の内容を追加
LoadModule php5_module C:/php/php5apache2_2.dll
Action application/x-httpd-php "C:/php/php.exe"
- DocumentRoot "C:/usr/local/apache2/htdocs" →
DocumentRoot "C:/home/user/htdocs"
- <Directory "C:/usr/local/apache2/htdocs"> →
<Directory "C:/home/user/htdocs">
- Options Indexes FollowSymLinks →
Options Indexes FollowSymLinks MultiViews ExecCGI Includes
- AllowOverride None → AllowOverride All
- DirectoryIndex index.html index.html.var →
DirectoryIndex index.html index.htm index.cgi index.php index.rdf
- ScriptAlias /cgi-bin/ "C:/usr/local/apache2/cgi-bin/" →
#ScriptAlias /cgi-bin/ "C:/usr/local/apache2/cgi-bin/"
- <Directory "C:/usr/local/apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
↓
#<Directory "C:/usr/local/apache2/cgi-bin">
#AllowOverride None
#Options None
#Order allow,deny
#Allow from all
#</Directory>
- #AddHandler cgi-script .cgi → AddHandler cgi-script .cgi .pl
- #AddType text/html .shtml → AddType text/html .shtml
- #AddOutputFilter INCLUDES .shtml →
AddOutputFilter INCLUDES .shtml
AddType application/x-httpd-php .php
C:の下に home フォルダを作成して,さらに home 内に user その下に htdocs フォルダを作成。
C:\home\user\htdocs になるようにする。
htdocs フォルダ内にHTMLファイルをUPするようにする。
http://localhost/ とすれば C:\home\user\htdocs 内のファイルが見えるようになる。
Restart して設定を更新。
PHP動作テスト...
テキストエディタで以下の3行を作成して,htdocs フォルダに test.php として保存。
http://localhost/test.php と実行すると以下の様に表示される。
CGI動作テスト...
テキストエディタで以下の3行を作成して,htdocs フォルダに test.cgi として保存。
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "CGI test"; |
http://localhost/test.cgi と実行すると以下の様に表示される。
サービスの自動/手動起動の切替設定 (Windows XP home)
通常,上記の様にApacheをインストールするとサービスは自動起動される。ローカルでHTTPサーバのチェックにするのであれば,CPUに負荷を考慮すれば,PC起動時には停止しておき必要時に起動するようにしたほうが良い。
そのためには,サービスを手動切替にしておく。
設定は以下の様になる。
- コントロールパネル=>管理ツール=>サービス から Apache2.2 をダブルクリック [Fig.1]
- スタートアップの種類 を 手動 に変更 [Fig.2]
- OK をクリック
|
|