#contents ---- * Apache のセットアップ [#za6ea188] Fedora Core のセットアップが終わった段階では、まだ Apache(アパッチ)の起動設定などがありません。以下の手順では、最低限の設定、文字化けを防ぐための設定、自動起動の設定方法を記述しています。 なお、Fedora Core および Red Hat Linux 8 以上では Apache 2.0.x がインストールされています。Apache 1.3.x をインストールしたい場合は、別途組み込む必要があります。Apache 1.3.x についてはとりあえず割愛させてください……。 ** [1] 設定ファイルの場所 [#we82fec3] 設定ファイルがあるのは /etc/httpd/conf/httpd.conf です。&br; Fedora Core(Red Hat 8以降) では追加で /etc/httpd/conf.d/ 以下にあるファイル群も自動で読み込む設定にあります(httpd.conf の「Include conf.d/*.conf」という記述のため)。&br; $ 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] 最低限の設定箇所 [#ifd7bdd0] Apache の設定ファイルを【 vi /etc/httpd/conf/httpd.conf 】などで開き、設定を進めていきます。とりあえず設定をしなくても起動はできますが、文字化けの原因となるので、設定をすすめておくことをお勧めします。 *** [2-1] ServerAdmin (235行目) [#cec32e00] ServerAdmin root@localhost ここにはサーバ管理者のメールアドレスを記述します。エラーページの末尾に表示させたりできますが、とりあえず適当なメールアドレス(webmaster)を指定しておいたほうがいいです。何かの拍子で root@localhost と表示されることがあれば「このサーバ、まともに管理されてないの?」と思う人が出てくるかも知れません。 ServerAdmin webmaster@example.co.jp とりあえず、何でも結構です。 *** [2-2] ServerName (249行目) [#pbb39cb9] #ServerName www.example.com:80 初期状態では、このようにコメント(無効に)されています。あとでバーチャルホストの設定を行うときに影響が出ますので、ここでは正確なウェブサーバ名を入力する事をおすすめします。 ServerName www.example.co.jp:80 先頭の【 # 】は消しておかなくてはいけません。&br; もし www 無しの http://example.co.jp/ のようなアクセスを想定している場合は ServerName example.co.jp:80 このように記述しておくほうが適切です。 *** [2-3] HostnameLookups (428行目) [#z8f908aa] HostnameLookups Off こちらは接続元の IP アドレスを逆引きするかどうか、です。初期状態では Off なので、ログの記録は IP アドレスのみになります。ログにホスト名を反映させたい場合には HostnameLookups On と変更しておく必要があります。 *** [2-4] LanguagePriority (715行目) [#xae60ae2] 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行目) [#mca55dbf] こちらの設定は文字化け回避のために必須です。 AddDefaultCharset UTF-8 初期状態では、このようにページの文字コードが UTF-8(unicode) であるとブラウザに伝える設定です。ブラウザの解釈によっては日本語の文字コードが文字化けしてしまう原因となる場合もあります(ヘッダ情報で「Content-Type: text/html; charset=UTF-8」を送る設定のため)。&br; 対策としては、基本的に「#」をつけてコメント(無効)にしておく事がいいでしょう。 #AddDefaultCharset UTF-8 もし Shift_JIS など特定の日本語コードを指定したい場合は、もちろん文字コードを明示しておくことも出来ます。 AddDefaultCharset Shift_JIS 逆にコンテンツが全て UTF-8 であれば、そのまま設定を残しておいても問題ありません。 ** [3] Apache の起動・停止コマンド [#nf57033e] *** [3-1] 起動 [#l503e7d9] # /sbin/service httpd start httpd を起動中: [ OK ] あるいは、 # /etc/init.d/httpd start httpd を起動中: [ OK ] です。&br; *** [3-2] 停止 [#l77bb8ce] # /sbin/service httpd stop httpd を起動中: [ OK ] httpd を停止中: [ OK ] あるいは、 # /etc/init.d/httpd stop httpd を起動中: [ OK ] httpd を停止中: [ OK ] です。&br; *** [3-3] 再起動 [#ea6971a1] 再起動には「restart」と「graceful」の2種類があります。&br; いずれも基本的にプロセスの停止・再開を行います。主にhttpd.conf の設定を変更したいときに用います。 # /sbin/service httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ] あるいは、 # /etc/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ] です。&br; 「restart」では httpd プロセスを完全に停止してから再起動します。&br; 対して「graceful」では httpd プロセスの通信が終わるのを待って、順次新しい設定を反映した httpd を起動させる方法です。サービスの停止が出来ない場合(既にウェブサーバが運用中など)には「graceful」の使用をお勧めします。 # /sbin/service httpd graceful あるいは、 # /etc/init.d/httpd graceful です。なお「graceful」を実行したときは、特に画面上に結果は表示されません。ですが、ログの中には [notice] Graceful restart requested, doing restart このような記録が残ります。 &br; ちゃんと再起動がかかっているか不安だな、という場合には「 tail -f /var/log/httpd/error_log 」を実行してログをリアルタイムで見るという方法もあります。 ** [4] Apache の自動起動設定 [#z817cf6d] 初期状態ではサーバの起動時 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