« ◇セミの声の移り変わり | トップページ | CGI/PerlでhelloWorld改 »

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内での作業に限られるのであれば、正式な名称を指定しなくても構いません。 もちろん、正式なドメイン名を取得している場合はそれを書いてください。
数画面を経てインストールは完了します。

この記事を書いている時点での最新版はApache 2.2.13なのですが 残念ながらno_sslは全くインストールできず、openssl版はインストール はできるのですがUserDirを有効にできません。
今回は以前にダウンロードした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.htm
WEBで次のアドレスにアクセスすると冒頭の結果が得られます。
 http://localhost/test/hello_1.htm

|

« ◇セミの声の移り変わり | トップページ | CGI/PerlでhelloWorld改 »

トラックバック


この記事へのトラックバック一覧です: ApacheでhelloWorld改:

« ◇セミの声の移り変わり | トップページ | CGI/PerlでhelloWorld改 »