Apacheのインストール

Posted on 2007/02/28

ToC

Apacheとは・・・

言わずと知れた世界中で最も利用されているWebサーバ。 フリーで公開されており、ライセンスもGPLの様なソースコード開示の縛りが無いため、商用・非商用を 問わず非常に多く利用されています。

Webサイトの構築

Apacheの詳細な説明は、別の書籍やWebページで調べていただくこととして、ここではTomcatと連携して WWWのサイトを構築するために最低限必要なApache HTTP Serverの設定方法を中心に説明することにします。 Webサイトの構築には、大きく分けて4つのプロセスがあります。これらを順に見てゆくことにします。

Apache HTTP Serverをインストールする

RPMパッケージを用いてインストールするのが最も簡単な方法だと思います。 幸いなことにRed Hat Enterprise Linux ES4には、インストールCDに既に Apache HTTP ServerのRPMパッケージ(httpd-2.0.52)が含まれているのでこれを利用しました。 RPMコマンドでインストールすることも可能ですが、一番簡単なのはやはりGUIの画面での インストールかと思います。

GUIの画面より、「アプリケーション」>「システム設定」>「アプリケーションの追加と削除」を選択すると 「パッケージの追加と削除」の画面が表示されます。この一覧の中で、中央あたりに「Webサーバ」という部分が ありますので左側のチェックボックスにチェックを入力します。

さらに「詳細」のリンクもクリックすると、Webサーバのパッケージの詳細を確認することができます。 初期状態では、エクストラパッケージの中でチェックの入っているもの、入っていないものがありますが 必要に応じてチェックを入れます。特に、Tomcatを動作させる上で必ず必要となるパッケージはありませんが、 私は基本デフォルト設定のままにしました。

/method/server-side/img/20070122-tomcat_001_hu9e26415fc5249a26b80965bd681c02e2_21758_250x0_resize_lanczos_3.png
/method/server-side/img/20070122-tomcat_002_hu4cadc462e82a81cec2205bbb5ec8917b_23825_250x0_resize_lanczos_3.png

強いて言うのであれば、mod_ssl(httpsプロトコルにて暗号化通信<SSL通信>を可能にするパッケージ)は 入れておくと良いかもしれません。チェックが入っているのであれば、既にインストール済みです。

Apache HTTP Serverを設定する

インストールが完了すると、次は設定です。 設定ファイルは、 /etc/httpd/conf/httpd.conf です。ディレクティブ(設定項目)の値を 変更することでWebサーバの設定が変更されるのですが、、とは言うもののほとんどの場合には 初期設定のままでも問題なく動作をします。設定が必要な場合には、適宜書き換えてください。

もう一つ、設定項目関連で重要なことは /etc/httpd/conf.d/ のディレクトリです。 このディレクトリには、Apache HTTP Serverに組み込まれたモジュール用の 設定ファイルを入れます。

サーバ上での動作は、「LoadModuleというディレクティブをhttpd.confの最終行に追加する」 ことと同じなのですが、サーバの運用のことを考えるとconf.dディレクトリにファイルを追加する ことをおすすめします。設定ファイルの内容については、モジュールによって様々ですが、 今回はTomcatとの連携のところでmod_jkというモジュールを利用しますので、詳細は後ほど。

Apache HTTP Serverを制御する

Webサーバの起動と終了は、 /etc/init.d/httpd のファイルで制御できます。 ただし、ほとんどの場合はこのファイルを明示的に利用することはありません。 サービスに追加してしまうことで、所定のランレベルにて自動的に起動、終了が可能になります。 RPMにてインストールすれば、既にサービスにも追加されていると思いますので、 起動のランレベルを chkconfig コマンドで追加すると良いと思います。 私はランレベル2~5で自動起動にしていました。

[root@localhost ~]# chkconfig --level 2345 on httpd 
# ランレベル2~5で自動起動

Apache HTTP Serverの動作を確認する

Webサーバが起動していれば、ブラウザからApache HTTP Serverのページが確認できるはずです。 ファイアーウォールの設定によっては、Apache HTTP Serverのデーモンが正常に動作しているの にも関わらずブラウザからページが見えないことがあります。私も非常に苦労した経験があります。

/method/server-side/img/20070122-tomcat_003_hu0420d7554a5d5e737551c8b00a3cc5cd_14461_250x0_resize_lanczos_3.png
figure: Apache HTTP Serverのページ