Apache のセットアップ

 Fedora Core のセットアップが終わった段階では、まだ Apache(アパッチ)の起動設定などがありません。以下の手順では、最低限の設定、文字化けを防ぐための設定、自動起動の設定方法を記述しています。

 なお、Fedora Core および Red Hat Linux 8 以上では Apache 2.0.x がインストールされています。Apache 1.3.x をインストールしたい場合は、別途組み込む必要があります。Apache 1.3.x についてはとりあえず割愛させてください……。

[1] 設定ファイルの場所

 設定ファイルがあるのは

/etc/httpd/conf/httpd.conf

 です。
 Fedora Core(Red Hat 8以降) では追加で

/etc/httpd/conf.d/

 以下にあるファイル群も自動で読み込む設定にあります(httpd.conf の「Include conf.d/*.conf」という記述のため)。

$ ls -l /etc/httpd/conf.d/
合計 112
-rw-r--r--  1 root root     392  5月 23 21:14 README
-rw-r--r--  1 root root    3420  3月  3 23:00 auth_mysql.conf
-rw-r--r--  1 root root    3512  4月 13 17:20 auth_pgsql.conf
-rw-r--r--  1 root mailman  688  3月  8 02:01 mailman.conf
-rw-r--r--  1 root root     778  5月 23 21:14 manual.conf
-rw-r--r--  1 root root     330  3月 13 21:07 mrtg.conf
-rw-r--r--  1 root root    1804  4月 19 07:25 perl.conf
-rw-r--r--  1 root root     560  5月 10 00:22 php.conf
-rw-r--r--  1 root root    1671  3月  4 17:55 python.conf
-rw-r--r--  1 root root      96  1月 29 08:25 squirrelmail.conf
-rw-r--r--  1 root root    9799  5月 23 21:14 ssl.conf
-rw-r--r--  1 root root     352  3月  4 19:51 webalizer.conf
-rw-r--r--  1 root root     299  5月 23 21:14 welcome.conf

 表示されるファイル群は、同時にセットアップされている各種のパッケージの有無によって増減します。それぞれのパッケージ毎に .conf ファイルが作成されていると考えて差し支え在りません。

[2] 最低限の設定箇所

 Apache の設定ファイルを【 vi /etc/httpd/conf/httpd.conf 】などで開き、設定を進めていきます。とりあえず設定をしなくても起動はできますが、文字化けの原因となるので、設定をすすめておくことをお勧めします。

[2-1] ServerAdmin? (235行目)

ServerAdmin root@localhost

 ここにはサーバ管理者のメールアドレスを記述します。エラーページの末尾に表示させたりできますが、とりあえず適当なメールアドレス(webmaster)を指定しておいたほうがいいです。何かの拍子で root@localhost と表示されることがあれば「このサーバ、まともに管理されてないの?」と思う人が出てくるかも知れません。

ServerAdmin webmaster@example.co.jp

 とりあえず、何でも結構です。

[2-2] ServerName (249行目)

#ServerName www.example.com:80

 初期状態では、このようにコメント(無効に)されています。あとでバーチャルホストの設定を行うときに影響が出ますので、ここでは正確なウェブサーバ名を入力する事をおすすめします。

ServerName www.example.co.jp:80

 先頭の【 # 】は消しておかなくてはいけません。
 もし www 無しの http://example.co.jp/ のようなアクセスを想定している場合は

ServerName example.co.jp:80

 このように記述しておくほうが適切です。

[2-3] HostnameLookups? (428行目)

HostnameLookups Off

 こちらは接続元の IP アドレスを逆引きするかどうか、です。初期状態では Off なので、ログの記録は IP アドレスのみになります。ログにホスト名を反映させたい場合には HostnameLookups? On と変更しておく必要があります。

[2-4] LanguagePriority? (715行目)

LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru
sv zh-CN zh-TW

 こちらも特に変更の必要はありませんが、英語より日本語のコンテンツを優先させる場合(左の方が優先度が高い設定です)、『 ja 』(日本語)の指定を『 en 』(英語)の左側に持ってきます。

LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru
sv zh-CN zh-TW

[2-5] AddDefaultCharset? (731行目)

 こちらの設定は文字化け回避のために必須です。

AddDefaultCharset UTF-8

 初期状態では、このようにページの文字コードが UTF-8(unicode) であるとブラウザに伝える設定です。ブラウザの解釈によっては日本語の文字コードが文字化けしてしまう原因となる場合もあります(ヘッダ情報で「Content-Type: text/html; charset=UTF-8」を送る設定のため)。
 対策としては、基本的に「#」をつけてコメント(無効)にしておく事がいいでしょう。

#AddDefaultCharset UTF-8

 もし Shift_JIS など特定の日本語コードを指定したい場合は、もちろん文字コードを明示しておくことも出来ます。

AddDefaultCharset Shift_JIS

 逆にコンテンツが全て UTF-8 であれば、そのまま設定を残しておいても問題ありません。

[3] Apache の起動・停止コマンド

[3-1] 起動

# /sbin/service httpd start
httpd を起動中:                                            [  OK  ]

 あるいは、

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

 です。

[3-2] 停止

# /sbin/service httpd stop
httpd を停止中:                                            [  OK  ]

 あるいは、

# /etc/init.d/httpd stop
httpd を停止中:                                            [  OK  ]

 です。

[3-3] 再起動

 再起動には「restart」と「graceful」の2種類があります。
 いずれも基本的にプロセスの停止・再開を行います。主にhttpd.conf の設定を変更したいときに用います。

# /sbin/service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

 あるいは、

# /etc/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

 です。
 「restart」では httpd プロセスを完全に停止してから再起動します。
 対して「graceful」では httpd プロセスの通信が終わるのを待って、順次新しい設定を反映した httpd を起動させる方法です。サービスの停止が出来ない場合(既にウェブサーバが運用中など)には「graceful」の使用をお勧めします。

# /sbin/service httpd graceful

 あるいは、

# /etc/init.d/httpd graceful

 です。なお「graceful」を実行したときは、特に画面上に結果は表示されません。ですが、ログの中には

[notice] Graceful restart requested, doing restart

 このような記録が残ります。
 ちゃんと再起動がかかっているか不安だな、という場合には「 tail -f /var/log/httpd/error_log 」を実行してログをリアルタイムで見るという方法もあります。

[4] Apache の自動起動設定

 初期状態ではサーバの起動時 Apache が自動起動される設定ではありません。

# /sbin/chkconfig --list httpd
httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off

 chkconfig コマンドを用いて、自動起動されるように設定します。

# /sbin/chkconfig httpd on

 コマンドの実行結果は特に画面に表示されません。もう一度 chkconfig を実行すると、設定が反映(offがonに)されている事が確認できます。

# /sbin/chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Tue, 09 May 2006 15:48:06 JST (6555d)