ITインフラ技術の実験室ITインフラ技術の実験室Linuxを中心に、仮想化やネットワーク、Windowsまで、ITインフラ技術に関するノウハウを幅広く紹介します。apache2無事インストールされたので、確認を実施します。LISTEN→80番ポートにてListenしている。works!」と表示されることを確認します。stopとりあえずapacheを止め、必須のセキュリティ設定を実施していきます。Off上記の箇所のみ修正します。設定の意味は以下の通りです。Server応答ヘッダ内のサーバ情報を最低限にする。サーバが生成するドキュメントのフッタにサーバ情報を載せない。TRACEメソッドに応答しない。ディレクトリ構成についてwww.example.jpとwww.example2.jpのマルチドメイン構成を前提として説明します。マルチドメインは後述のバーチャルホスト機能を利用して実現します。analyzerの設定のみを記載します。IP直打ちでのアクセス(http://WWW.XXX.YYY.ZZZ)はFQDN指定のアクセス(http://www.example.jp等)と比較して不正なものが多いため、IP指定でのアクセスに対する設定ファイルを用意し、全て拒否する設定を行います(後述)。ログについても、IP直打ちでのアクセスログをFQDN指定のアクセスログと別ファイルで保存していく方針とします。analyzerとIP指定でのアクセス設定ファイル・ログはドメイン共通の設定となります。一番下で/etc/apache2/sites-enabled/フォルダをインクルードしており、sites-enabledフォルダの下にドメインごとに設定ファイルを作成するようになっています。/etc/apache2/sites-enabled/の構成は以下の通りです。../sites-available/default000-defaultはシンボリックリンクであり、実体は/etc/apache2/sites-available/defaultです。次に、/etc/apache2/sites-available/フォルダの下を見てみます。default-ssldefaultファイルがあり、これがバーチャルホストの設定になります。シンボリックリンクを作っておくというのがdebianの流儀のようです。下のシンボリックリンクを削除すれば良いわけですが、/etc/apache2/sites-available/のファイルを消さなければ、再度シンボリックリンクを張るだけでいつでもそのバーチャルホストを生かすことができるからです。シンボリックリンクを張る、または削除するために、以下のような専用コマンドが用意されています。シンボリックリンクの作成(a2ensite)/etc/apache2/sites-available/01-exampleという設定ファイルを作成します。01-exampleとすれば、/etc/apache2/sites-available/01-exampleへのシンボリックリンクが/etc/apache2/sites-enabled/の下に作成されます。01-exampleとすれば/etc/apache2/sites-enabled/にあったシンボリックリンクだけが消され01-exampleの設定は無効になりますが、/etc/apache2/sites-available/01-exampleは残りますので再度バーチャルドメインを生かしたくなった際にはa2ensiteで簡単に復旧できます。モジュールの有効/無効を切り替えることが可能です。IP指定でアクセスしてきた際の設定それではようやく設定内容を説明していきます。IP指定でのアクセスに対する設定ファイル名は上記「ディレクトリ構成について」の表に記載している通り、00-defaultとします。/etc/apache2/sites-available/00-defaultIP指定でのアクセスは不正アクセスが大半と考えられるため、思い切って全て拒否する設定にします。_default_:80>が捕捉するため、IP指定のアクセスはこのディレクティブにマッチします。ServerNameを存在しないdummyホストとし、DocumentRootを空のディレクトリとすることで、IP指定でアクセスした場合はコンテンツにアクセスできないようにしています。ログもFQDNでのアクセスと分けています。設定ファイルを作成したら、シンボリックリンクの作成です。先ほどdefaultから00-defaultに名前を変えてたため、もともとのdefaultのシンボリックリンクである000-defaultを削除するのを忘れないように気をつけます。それ以外のアクセスは全て許可する。それ以外のアクセスは全て拒否する。combined</VirtualHost>設定ファイルが作成できたら、シンボリックリンクを作成します。それ以外のアクセスは全て許可する。combined</VirtualHost>設定ファイルが作成できたら、シンボリックリンクを作成します。ディレクトリ上にindex.htmlがないとファイルの一覧表示する。すれば、基本的にアクセスを拒否し、allowで明記されているアクセスを許可する。あれば、基本的にアクセスを許可し、denyの記述にマッチしたアクセスを拒否する。FilesMatchについて.htaccessと.htpasswdを見せない。/var/www/defaultlogrotateの設定追加apache2はログを大量に出力しますが、自動でローテートされないため、logrotateの設定を行います。endscript}記載方法についてはLogrotateの設定に載せていますので参考にして下さい。preforkのMaxclients以外のパラメータ(StartServers、MinSpareServers、MaxSpareServers、MaxRequestsPerChild)についてはApache2.2のパフォーマンスチューニング(その1)にまとめています。MaxclientsについてはApache2.2のパフォーマンスチューニング(その2)にまとめています。当サイトのApache2.2が実際にどの程度のアクセスまで耐えられるかはapache2.2の負荷試験で試しています。コメントをキャンセルメールアドレスが公開されることはありません。