Linux Lovers
    Fedora Coreで始めるサーバ構築

Home > Webサーバ > Apacheの設定

ApacheでWebサーバを構築する

ここでは、ApacheでWebサーバを構築する際、最低限やっておいたほうがいいと思われる設定の
紹介をします。このページで紹介するものは、Apacheの基本的な設定、Apacheのバージョンを
表示しないようにする設定、ログの見方や設定になります。


Apacheの基本設定をする

ここでは、Apacheの基本的な設定の紹介をしていきたいと思います。
先ず、設定ファイルはデフォルトでは、/etc/httpd/conf/httpd.confになりますので、
このファイルを編集することになります。それでは、早速設定をしていきます。

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

ServerAdmin root@localhost  ←243行目

ServerAdmin webmaster@chibi.name

#ServerName new.host.name:80  ←257行目

ServerName chibi.name

<Directory /var/www/html>
Options Indexes FollowSymLinks  ←312行目

Options IncludesNoExec ExecCGI FollowSymLinks

(行数については、場合によって異なるので、あくまでも目安です)

とりあえずここで一旦区切って、解説したいと思います。先ず最初のServerAdminですが、これは
メールアドレスの指定になります。別にデフォルトのままでも構いませんが、そのままだと管理していない
ように思われることもありますので、ここでは変更しています。

次のServerNameですが、ここでは#(コメント)を解除して、自分のドメイン名を入れました。

次は<Directory /var/www/html>という部分のOptions Indexes FollowSymLinksを変えます。
先ず最初にIndexesの記述は確実に消します。これはindex.htmlなどのデフォルトページが無い場合に
ディレクトリ内のファイルの一覧を表示する機能です。何かファイルの一覧を見せる必要がある場合には
このIndexesは消さなくても構いませんが、通常の場合は先ずその必要は無いと思います。また見せる
つもりの無かったものまで表示させてしまいますので、セキュリティ的にみても消しておくべきです。

次に2つほど追加しています。IncludesNoExecは#execを除くSSIの利用を許可します。
SSIの利用を完全に許可したい場合は、Includesとしてください。
ExecCGIはCGIプログラムの実行を許可します。SSIやCGIなどを使う予定が無い場合には、この2つの
記述はしなくてもいいです。ここで大事なのは、Indexesの記述を消すことです。


ServerTokens OS  ←43行目

ServerTokens Prod

ServerSignature On  ←513行目

# ServerSignature On

これら2つはセキュリティ上、設定を変更しておくのが望ましいです。これはtelnetで接続された時の
バナー情報を隠します。デフォルトの状態ですと、telnetで接続されてバナー取得を試みられると、
ApacheのバージョンとOSを答えてしまいます。ソフトのバージョンなどは表示させても損することは
ありますが得することはありません。もし古いバージョンを使っていて、それにはセキュリティホールが
存在することが分かれば攻撃を受けるかもしれません。そしてこーゆーところの設定を変えておけば
それだけ管理が行き渡っているというのが伝わります。これら2つの設定を変更して、Apacheの
バージョンとOSを表示させないようにしてください。


#CustomLog logs/referer_log referer  ←496行目
#CustomLog logs/agent_log agent  ←497行目

CustomLog logs/referer_log referer
CustomLog logs/agent_log agent

AddDefaultCharset UTF-8  ←767行目

# AddDefaultCharset UTF-8

#AddHandler cgi-script .cgi  ←844行目

AddHandler cgi-script .cgi .pl  .plを追加

先ず上段から。この2つコメントを解除してあげましょう。これでリファラログとエージェントログを
出力してくれるようになります。

次にAddDefaultCharsetですが、これは初期状態ではUTF-8を指定されてしまっています。このままですと
文字化けの原因になりますので、ここではコメントアウトして無効にしています。

次のAddHandler cgi-scriptは、cgiの有効とpl拡張子の追加をしています。またPerlコマンドへ
/usr/local/bin/perlでもアクセスできるようにする為、次のコマンドを打ちます。

# ln -s /usr/bin/perl /usr/local/bin/perl


以上で基本的な設定は終わりです。また何もまだコンテンツを置いていない場合はテストページが
出るようになっています。あとでhttpdのサービスを開始したら、ぜひ自分のサーバに接続してみて
テストページが表示されるかどうか確認してみてください。
またコンテンツの置き場ですがデフォルトでは、/var/www/html/以下になります。
このディレクトリ以下に何かページを作成して置いてみましょう。

最後にサービスの開始と自動起動するように設定しておきます。

# chkconfig --level 345 httpd on
# service httpd start

ルータを利用している場合は80番ポートの解放をします。でないと外部から接続できません。
サーバ側のポート開放については、当サイトのファイアウォールスクリプト使用の場合は、
そのままでOKです。

スクリプトを使用せず、iptablesのルールをデフォルトのまま使用している場合は、ポートの開放が必要です。
以下のようにします。

# vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

青地部分の追加をします。その後でiptablesの再起動をしてください。

# service iptables restart


>>このページのTOPへ

ログのチェックをする

ログを見るという作業がこれから先大事になります。ログは、/var/log/httpd/以下に
アクセスログですとかエラーログなんかがあります。またログは新しいものは後ろに追加されていくという
形式を取ります。ここではログの見方の例を紹介します。例えばアクセスログを見たいなら、

# tail -100 /var/log/httpd/access_log


エラーログを見たいなら

# tail -50 /var/log/httpd/error_log

こんな感じになります。tailコマンドはファイルの末尾部分を表示するコマンドです。
またその次に続く、「−数字」というのは行数の指定です。-100なら100行表示ということになります。

また、あまりにも長い行数を指定する場合には次のようにパイプを使ってlessに渡すようにします。

# tail -300 /var/log/httpd/access_log | less

これでlessで見れますので、Enterキースペースキーを押して画面をスクロールさせながら見れます。

次にこれら2つのログは今後も結構見る機会が多いと思います。見る機会が多いのにわざわざ上のような
コマンドを毎回打つのはちょっと面倒臭いです。
ここではaliasの設定をして、楽に見るようにしたいと思います。

# vi .bashrc  ←/rootで

alias access="tail -300 /var/log/httpd/access_log"
alias error="tail -50 /var/log/httpd/error_log"

viで.bashrcを開き上の2行を追加してみました。
ここではaccessと実行すれば、tail -300 /var/log/httpd/access_logが実行されます。
何を入力すればこのログが開くようにするかは自分の分かりやすいものに変えてください。
またtailの後ろの行数指定も自分に合わせて変えてください。最後にパイプを使ってlessを指定
するとこまで記述してしまうのも手です。注意点は「=」の前後にはスペースが入らないということと、
実際のコマンド部分は必ず「"」で囲んでください。これらの記述を済ませたら、保存して終了し、
一回ログアウトしてまたログインしてみてください。設定が反映されていると思います。



>>このページのTOPへ

最終更新 : 06/04/2005


Fedoraの設定    SSH    Web    Mail    FTP    DNS    ファイルサーバ    運用管理    システム管理    ネットワーク    セキュリティ対策
Copyright (C) 2004-2007 chibi ,All Rights Reserved