CentOS 6/apache2.2設定方法 他extra系



前書き

RPMのパッケージでインストールした場合について記載します。
ソースファイルでインストールした場合は、DSO(動的モジュール)の管理がオプションで変わりますのでご注意ください。

モジュールファイルについて

X86_64 でインストールした場合、モジュールファイルは /usr/lib64/httpd/modules/ で管理されています。
これらのモジュールを組み込む場合 httpd.conf の設定で組み込まれます。

# vi /etc/httpd/conf/httpd.conf

下記の箇所で組込が行われています。

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
 ・
 ・


モジュールの確認

組み込まれているモジュールは下記のコマンドで確認できます。

# apachectl -M
Loaded Modules:
 core_module (static)
 mpm_prefork_module (static)
 http_module (static)
 ・
 ・
 php5_module (shared)
 ssl_module (shared)
Syntax OK

カッコの中に書かれている static shared は組込方法です。

  • static
    Apacheのプログラム自体に組み込まれている。
    モジュールの削除・追加は再インストールで行う必要がある。
  • shared
    モジュール自体を別ファイルで管理し設定ファイル等(LoadModule)で必要に応じて組み込まれる。
    Apacheの起動時に組み込むため、static の場合に比べて起動時間がかかる。

/etc/httpd/conf.d/ について

httpd.conf とは別に機能ごとに設定を記載したファイルがあります。
これらは /etc/httpd/conf.d/ 配下に ~~.conf というファイル名で管理されています。
拡張子が .conf というのが重要

これらは httpd.conf の設定で読み込まれるファイルです。

welcome.conf について

このファイルは HTTPのステータス 403(Forbidden) が発生したときに /error/noindex.html を表示する設定です。
この /error/noindex.html とは Apache 2 Test Page の見出しが付いたページです。
本番運用が始まって、このページが表示されるのは気まずいので 無効化します。
無効化の方法は

  • ファイルを編集してコメント化する
  • welcome.conf を直接削除
  • リネーム

※対応方法によっては Apache(httpd-2.2~) がアップデートされた場合、welcome.conf が復帰することがあります

Virtual Host(ヴァーチャルホスト)の設定

Virtual Host とは1つのサーバー内で複数のドメインをもつサイトを運用することをいいます。

Virtual Hostの設定は直接 httpd.conf 内に記載しても問題ありませんが、頻繁に修正・追記など行うのであれば別ファイルとして運用することをお勧めします。

ここでは /etc/httpd/conf.d/vhost.conf として運用する方法を記載します。

下記のコマンドでファイルを作成します。

# vi /etc/httpd/conf.d/vhost.conf

httpd.conf の末尾に設定内容のテンプレートが記載されています。
初めて設定を行う人は参照するといいでしょう。

#
# Use name-based virtual hosting.
#
#NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

下記のコマンドで Virtual Host の設定した内容を確認できます。

# apachectl -S


Apache の設定再読み込み

設定ファイルを変更したら変更内容が正しいか一度チェックしてから 再起動 ・ 再読み込み をする癖をつけるといいでしょう。

# apachectl -t
Syntax OK

なにも問題がなければ上記のように Syntax OK が表示されます。

すでに Apache が起動中であれば下記のコマンドで設定を再読み込みさせます。

# /etc/init.d/httpd reload
httpd を再読み込み中:

起動していない場合は

# /etc/init.d/httpd start
httpd を起動中:                                            [  OK  ]




Last-modified: 2015-04-23 (木) 17:51:41 (1125d)