ApacheでhelloWorld改
ApacheをWindowsに導入して、HTMLを置くフォルダを設定し、
単純なHTMLページを出力するまでの手順をしめします。
2ページからなり、ボタンを押すたびに「hello world」
「This is Servlet-test-1.」という文字列
のかかれたページに切り替わります。
![]() |
![]() |
2つの表示は静的な2枚のHTMLページです。
<!-- 1枚目 test/hello_1.htm --> <html><head></head><body> <form method='GET'action='http://localhost/test/hello_2.htm'> <input type='submit' value='Click Me'> </form> <p>Hello World.</p> </body></html> <!-- 2枚目 test/hello_2.htm --> <html><head></head><body> <form method='GET'action='http://localhost/test/hello_1.htm'> <input type='submit' value='Click Me'> </form> <p>This is Simple-HTML-test-1.</p> </body></html>
ここで行っている画面は切り替えは静的なページの切り替えに過ぎません。 JavaScript、PHP、Flash、Silverlight やCGI、サーブレット、Ajaxなどを用いてダイナミックにページ内容 を置き換える説明は他の記事で行います。
ボタンを使ってページ移動をしていますが、もちろん 単純なリンクでも構いません。
インストール
1. ダウンロード/インストール
最新のapacheをダウンロード・インストールします。
http://httpd.apache.org/
この記事の記述時点では最新のReleaseはApache 2.2.13なので これをダウンロード・インストールします。

選択すべきは
apache_xxx-win32-x86-no_ssl.msl
なのですが、残念ながらこの版はファイルに異常があるようなので
apache_xxx-win32-x86-openssl-xxx.xmlを選択します。
ダイアログが出るので[実行]をクリックします。

インストールが進むと途中で、ドメイン名、サーバ名、管理者メールアドレス
を聞かれます。
LAN内での作業に限られるのであれば、正式な名称を指定しなくても構いません。
もちろん、正式なドメイン名を取得している場合はそれを書いてください。
数画面を経てインストールは完了します。
![]() |
![]() |
![]() |
![]() |
今回は以前にダウンロードした2.2.11を使いました。
2. 起動/確認
基本的にはインストールしただけで起動され(といっても通信ポートをモニタする だけ)、サービスとして登録されます。
WEBブラウザを立ち上げ、次のアドレスにアクセスします。
http//localhost/
または
http//xxx.xxx.xx.xx (ipアドレス)
試験用のページが出るはずです。
ページはデフォルトのドキュメントフォルダのindex.htmです。
標準のインストールでは
C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\index.htmとなっているはずです。
万が一起動されていない場合はスタートメニューから起動できます。
[スタート]-[プログラム]-[Apache HTTP server2.2]-[control apache server]-[start]
補足:バージョンupの場合
システム設定や、htdocs/index.htmlは上書きされません。
設定
configフォルダ
C:\Program Files\Apache Software Foundation\Apache2.2\confにある、設定ファイル
httdp.confの記述で、色々な設定を変更できます。
ドキュメントフォルダ(HTMLを置くフォルダ)
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
と
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
で設定されています。
さしあたって変更しない方が無難です。
CGIフォルダ(サーバサイドプログラムを置くフォルダ)
<IfModule alias_module>
の
ScriptAlias /cgi-bin/ "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/"
と
さしあたって変更しない方が無難です。
利用者ドキュメントフォルダ(~xxxでアクセス)まだ動かん!
(1) userdirモジュールを有効にする
httpd.confの次の行のコメントをはずします。
LoadModule userdir_module modules/mod_userdir.so(2) userdir定義をincludeする
httpd.confの次の行のコメントをはずします。
Include conf/extra/httpd-userdir.conf(3) Apacheをリスタートする
[スタート]-[プログラム]-[Apache HTTP server2.2]-[control apache server]-[restart]
でApacheを起動しなおします。
残念ながら2.2.13はこの時点でUserDirが間違っているというエラーになってしまいます。
2.2.11ではエラーにはなりません。
(4) さしあたってWindowsでのデフォルトフォルダにindex.htmlを置く
フォルダ¥ファイル My Document\My Website\index.html 内容 <html><body><h1>Hello world!</h1></body></html>
これでhttp://localhost/~利用者名でページ表示されるはずなのですが
残念ながら403(アクセス拒否)エラーとなります。
原因は全く分かりません。
(5) フォルダを別の場所にする/利用者名をWindows-login名とは別にする
ファイル
extra/httpd-userdir.confの記述を変更し利用者フォルダを別の場所に変えることができる。また "~名前"の名前をWindowsのlogin名とは無関係に設定できる。
はずなんだけどうまくいかない。
しかたないのでドキュメントRootの下ににhtmlを置く
フォルダ¥ファイル C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\hello_1.htm C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test\hello_2.htmWEBで次のアドレスにアクセスすると冒頭の結果が得られます。
http://localhost/test/hello_1.htm
| 固定リンク