□技術メモ - Apache tips ※管理人の個人的な技術メモです。このページの内容の実行結果について 管理人はいかなる責任も負いかねますのでご自身の責任でお試しください。 ----------------------------------------------------------- 〇Apacheについて ・正式には Apache HTTP Server という。Webサーバソフトウェアである。 ・Eclipse + Java で開発する場合は、TomcatがWebサーバの役割をしてしまい、 Apacheの動作をよく知らないままになってしまうことがある。 今回は、Apacheをローカルサーバとして使い、コマンドラインからJavaを動作させて、 サーブレットを動作させることができることを目標とする。 ・TomcatはJSPを実行するためのWebコンテナです。 上記を確認できたら、HTTPサーバ(要はApache)と、Tomcatを連携させて、 サーブレット + JSP が動作することを次の目標とする。 -------- 〇Windows版Apacheのインストール ・今回はApache2.2のインストールについて記述する(2017.08.28記) ・Apacheのインストーラは、ソースからインストールする版と、パッケージからインストールする版がある。 ・また、httpsにアクセスできるssl版と、sslを後からインストールする版がある。 ・今回はバイナリ版で、sslを後からインストールする版について記述する。 ・download手順 http://httpd.apache.org/ に入る。 「Apache httpd 2.4.xx Released」のDownloadを選択する。 「Files for Microsoft Windows」を選択する。 「apacheLounge」を選択する 「Apache 2.4.29 WinXX」のzipファイルを選択する。 展開して任意のディレクトリに配置すればよい。 今回は以下に展開する。 C:\Apache\Apache24 -------- 〇httpd.confの設定 ・conf\httpd.conf を設定する。 ・インストールしたフォルダを設定する。 この場合は C:\Apache\Apache24 ・以下の5か所に、インストールしたフォルダを設定する。 ServerRoot DocumentRoot Directory ScriptAlias Directory -------- 〇ポート番号、ServerName の設定 ・「Listen 80」で検索。既に他のアプリケーションで使用している場合は別の番号に変更する。 ・ServerName には、Apacheにアクセスする際のURLを指定する。 デフォルトは以下になっているので、 #ServerName www.example.com:80 「#」を外して、「ServerName www.example.com:80」とする。 ・もしくは以下のような設定でもよい。 ServerName localhost //ローカルホストへアクセスする。 ServerName apptest //hostファイルの設定が必要。 ・名前解決できない場合は、IPアドレスを指定する。もしくはhostファイルを設定する。 ・www.example.com とは? Webアプリのテストでは、テスト用に存在しないアドレスを使う事がある。 例えば、aaa.com, sample.com などだが、これらはいずれも実在の会社のアドレスである。 aaa.com アメリカ自動車協会 sample.com 各種サンプル素材を提供するサイト そこで、アクセスしても問題ないテスト用のサイトがWeb上には存在する。 それが www.example.com である。 ・ポート番号を設定する。 :の右側「:80」の部分は、ポート番号を指定する。 外部に公開する場合は「80」、社内限定などの場合は「8080」を使うケースが多い。 HTTPS(SSL)で通信するWebサーバは「443」とする。 他のアプリケーションと競合する場合は、少しずらした番号を設定する。 -------- 〇ローカル・ループバック・アドレス ・「127.0.0.1」は自分自身を指す特別なIPアドレスで、ローカル・ループバック・アドレスという。 ・以下のコマンドでループバック・アドレスの存在を確認できる。 TCP/IPネットワークがアクティブなら、応答が返ってくる。 ping 127.0.0.1 ・httpでアクセスする場合は以下の通り。ドメイン名は付かない。 http://localhost/ ・ftpでアクセスする場合。 ftp localhost -------- 〇hosts(ホスツ)ファイル ・以下の場所にホスツファイルが存在する C:\Windows\System32\drivers\etc\ hosts(拡張子なし) ・http://localhost/ 以外のURLで 127.0.0.1 にアクセスするにはこのファイルで設定すればよい。 ・今回は以下のように設定する。 127.0.0.1 apptest -------- 〇補助設定ファイル ・以下に存在する C:\Apache\Apache24\conf\extra ・元はhttpd.conf ファイルだったものを別ファイルに分けたもの。 ・sslに関連する設定ファイルを取り込むには以下の # を外せばよい。 # Secure (SSL/TLS) connections #Include conf/extra/httpd-ssl.conf #この行の # を外す。 ・他のファイルも Include を設定すれば取り込むことができる。 -------- 〇メールアドレスの設定 ・メールアドレスは以下のいずれかで設定する。 ServerAdmin メールアドレス|URL //URLを設定することもできる。 -------- 〇セクションコンテナ ・設定の有効範囲を指定するためのタグを、 セクションコンテナ という。 ・以下のようなタグはセクションコンテナ。 ... ... ... ... など... -------- 〇サーバールートの設定 ・以下の通り。 ServerRoot "c:/Apache/Apache24" -------- 〇ドキュメントルートの設定 ・「DocumentRoot」で検索して設定する。 ・Webサーバ上のルートディレクトリのこと。要するに、index.htmlのある場所。 ・デフォルトは、ディストリビューションによって以下のいずれかになるらしい。 C:\Apache\Apache24\htdocs /usr/local/apache/htdocs /home/httpd/html ・この場合は以下に設定する。 DocumentRoot "c:/Apache/Apache24/htdocs" ・ここにある index.html で「It works!」を表示している。 ・上記でホスツを設定しているので、http://apptest/ で「It works!」が表示される。 -------- 〇エラードキュメントの設定 ・エラー発生時にオリジナルの画面を表示させる場合は、 エラー番号と、対応するURLを設定する。 以下は例。 ErrorDocument 404 /error/404.html ・エラー番号(Status Code)とその意味は以下の通り。 ※正式なものはRFC 2068を参照のこと。 401 Unauthorized ユーザー認証等に失敗。 403 Forbidden 指定されたリソースへのアクセスを拒否 404 Not Found 指定されたリソース(ファイル)が存在しない 500 Internal Server Error サーバの内部エラー。リクエスト実行できない。 501 Not Implemented リクエストを処理できる機能がサーバにない。 ・以下のようなファイルを設定しておけばよい。 C:\Apache\Apache24\error\missing.html ---- NOT FOUND 指定したファイルは存在しません。 ---- -------- 〇再起動 ・設定が終わったら、Apacheを再起動する。 ・コマンドプロンプトを管理者として起動して、httpd.exeのあるフォルダから、 「httpd」で実行する。 ・Apacheを停止する場合は、Ctrl+C で停止する。 ・hostの設定があるので、 以下のURLにアクセスして「It works!」画面が表示されればよい。 http://apptest/ ・元のURL(以下のURL)でも「It works!」にアクセスできる。 http://localhost/ -------- 〇サービスとして起動する ・管理者としてコマンドプロンプトを起動する。 C:\Apache\Apache24\bin に移動して、以下のコマンドを入力。 httpd -k install ・サービスとして登録されていることを確認する。 サービスを開くと、Apache2.Xが存在する。 右クリックからスタートアップの種類を設定すればよい。 -------- 〇Wizardでインストールする場合 ・インストールを開始して、処理を進めていくと、Network Domein,Server Name,Administrator's Email Address の設定がある。 ローカルサーバを作成する場合は以下のように設定する。 Network Domain : localhost Server Name : localhost Email Address : 自分のメールアドレス ・Setup Typeは「Typical」を選択。 ・解凍先は、Cドライブ直下にApache2フォルダを作成する場合は、c:\を指定すればよい。 ・インストール後に、http:/localhost にアクセスして、「あなたの予想に反して、このページが見えているでしょうか?」 が表示されればよい。 表示される文面が不思議な気がしますが、一般ユーザがアクセスして、管理用画面が見えてしまったら、 管理者に連絡して下さい、という意味らしいです。 -------- ---->保留 〇Conf/httpd.conf の設定 ・Apache は、httpd.conf で各種設定を行う。 ・設定ファイルに不備がないかは、Windowsのメニューから、TestConfigration を行うことができる。 <---- (以下、調査中) --------