Apache 2.0の必須設定と基本セキュリティ対策:実用 Apache 2.0運用・管理術(1)(2/3 ページ)
本連載では、Apache 2.0の運用や管理方法を解説する。第1回では、その下準備として必須の設定と基本的なセキュリティ対策を行い、今後の運用に備える。(編集部)
Apache 2.0のインストール
次回からApache 2.0の活用方法を掘り下げて解説するに当たり、第1回でインストールとWebサーバとして稼働するまでの設定を終わらせておきましょう。
RPMでインストールする場合
Apacheを収録してないディストリビューションはありません。そして、Red Hat、Fedora Core、SUSE LINUXなど、ほとんどのディストリビューションがApache 2.0を採用しています。ただし、「Apache」でパッケージを探しても見つけることはできません。「httpd」がパッケージ名に使用されています。
まずは、以下のようにしてApacheがインストールされているか否かを確認します。
# rpm -qa | grep httpd httpd-manual-2.0.54-10 system-config-httpd-1.3.2-2 httpd-devel-2.0.54-10 httpd-2.0.54-10
インストールされていない場合は、各ディストリビューションが用意しているパッケージ管理ユーティリティを使って追加インストールを行います。
# rpm -ivh http-2.0.version.rpm
または、
# yum install httpd
GUIツールを使うこともできます。
# system-config-package
通常のインストールではpreforkがデフォルトで使用され、マルチスレッド機能は組み込まれません。RPMでインストールした場合もpreforkがデフォルトです。とはいえ、マルチスレッドに対応させるために、わざわざソースからインストールし直す必要はありません。RPMでインストールした場合、workerに対応した実行ファイル「httpd.worker」も用意されるため、使用するファイルを切り替えるだけでマルチスレッド機能を有効化できます。
# /usr/sbin/httpd -V ←「-V」でコンパイルオプションを確認 Server version: Apache/2.0.54 Server built: May 23 2005 08:12:24 Server's Module Magic Number: 20020903:9 Architecture: 32-bit Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" ←preforkになっている -D APR_HAS_SENDFILE -D APR_HAS_MMAP (省略)
# /usr/sbin/httpd.worker -V Server version: Apache/2.0.54 Server built: May 23 2005 08:13:27 Server's Module Magic Number: 20020903:9 Architecture: 32-bit Server compiled with.... -D APACHE_MPM_DIR="server/mpm/worker" ←workerになっている -D APR_HAS_SENDFILE -D APR_HAS_MMAP (省略)
httpd.workerを使用するには、/etc/sysconfig/httpdファイルを編集します。
HTTPD=/usr/sbin/httpd.worker ←httpdかhttpd.workerを指定
標準でworkerに対応したhttpdバイナリを使用したい場合は、「SRPMから独自のRPMファイルを作成」を参考に、独自のRPMファイルを作ります。
SRPMから独自のRPMファイルを作成
SRPMファイルの使用方法はLinux Tips SRPMからプログラムをインストールするにはで紹介されていますが、アップデートされた情報もあるため、あらためて手順を紹介します。
まず、SRPMファイルを各ディストリビューションのソースCDまたはサイトから入手します。SRPMファイルを入手したら、RPMファイルと同様の手順でインストールを行います。
# rpm -ivh httpd-2.0.version.src.rpm
SRPMのインストール先はソースディレクトリになります。ソースディレクトリは、ディストリビューションによって異なります。
- Fedora Core/Red Hat Linux:/usr/src/redhat/
- SUSE LINUX:/usr/src/packages
- Turbolinux:/var/src/rpm
ディストリビューションによってパスは異なるものの、ソースディレクトリ配下の構成は同じで、SRPMインストールで以下のように各ファイルが配置されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
独自のRPMファイルを作成するには、SPECファイルと呼ばれる定義ファイルを修正します。例えばconfigure時のオプションを追加したい場合は、「%build」セクションでconfigureを実行している個所を見つけて修正します。下の例では、WebDAVを有効にするためのオプションを追加しています。
../configure -C \ --prefix=%{_sysconfdir}/httpd \ (省略) --enable-dav=yes \ ←追加
RPMファイルの作成にはrpmbuildコマンドを使用し、引数にSPECファイルを指定します。
# rpmbuild -bb --clean httpd.spec
--clean:ビルド後に、BUILDディレクトリに展開したソースファイルなどの作業ファイルを削除します。
rpmbuildコマンドを実行すると、/ソースディレクトリ/RPMS/i386にRPMファイルが作成されます。Intel CPUはi386がデフォルトですが、i686アーキテクチャに最適化されたバイナリファイルを作成する場合は「--target」オプションを使用します。
# rpmbuild -bb --clean --target=i686 httpd.spec
/ソースディレクトリ/RPMS/i386や/ソースディレクトリ/RPMS/i686に作成された独自RPMファイルは、通常のRPMファイルと同じようにインストールできます。
# ls /usr/src/redhat/RPMS/i386/ httpd-2.0.54-10.i386.rpm httpd-manual-2.0.54-10.i386.rpm httpd-debuginfo-2.0.54-10.i386.rpm mod_ssl-2.0.54-10.i386.rpm httpd-devel-2.0.54-10.i386.rpm # rpm -ivh /usr/src/redhat/RPMS/i386/*rpm
ソースからインストールする場合
あえてパッケージ管理ツールを使用せず、ソースからインストールすることもできます。ソースファイルの入手やインストール方法については、前出のApache 2.0の新機能とその実力やApacheによるWebサーバ構築で紹介されているため、ここでは簡単な紹介にとどめます。
まず最新のソースをApache Software Foundationからダウンロードして展開します。その後configureを実行し、make、make installを行います。
Downloading the Apache HTTP Server
http://httpd.apache.org/download.cgi
# tar xvfz httpd-2.0.version.tar.gz # cd httpd-2.0.version # ./configure # make # make install
ファイルとディレクトリの構成
Apacheのインストールにより、どこに何が作られたかを把握しておくことが今後重要になります。ソースからインストールした場合は、デフォルトで/usr/local/apache2配下にすべて収まっていますが、RPMインストールでは各所に分散配置されます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ただし、CGIスクリプトやWebサイトのドキュメントルートなどは、インストール後に設定ファイルを編集することで任意の場所に移動できます。
以降、本連載ではRPMでインストールした場合のディレクトリ構成を基に解説していきます。そのほかのインストール方法を使用した場合は、上のディレクトリ構成を参考に適宜読み替えてください。
Copyright © ITmedia, Inc. All Rights Reserved.