kazmax - Linux で自宅サーバー

apache2.2 初期設定

インストールしたままでも起動させる事は可能ですが、 とりあえず、これくらいはやっておいた方がいいかなと思われるものだけ設定します。

設定は、httpd.confを編集する事でできます。変更箇所は、6個だけです。

Last Update : 2006年08月20日

apache2.2 初期設定の手順

  1. apacheの設定設定ファイル
  • 1-1. apache の実行ユーザ
  • 1-2. ServerName
  • 1-3. DocumentRoot
  • 1-4. Options Indexes
  • 1-5. ServerTokens
  • 1-6. ServerSignature
  • 変更した設定ファイルの確認
  • 1. apacheの設定ファイル

    前回と同じ方法でインストールしたなら以下のファイルがapacheの設定ファイルになります。

    • /usr/local/apache2/conf/httpd.conf
    • その他 /usr/local/apache2/conf/extra/配下のファイル群

    1-1. apache の実行ユーザ

    別に気にしなくてもよさそうなんだけど、apache を実行するユーザとグループが、デフォルトでdaemonというユーザーに設定されていました。
    今まではnobodyだったのに。。

    nobodyや、daemonが実行するものが他に無ければこのままでいいです。 ただ、nobodyやdaemonユーザーが他に動作させるプログラムがあるなら、セキュリティ的に変更した方がいいみたいです。

    純粋にapacheだけを起動するユーザを作成する事が推奨さてれいます。
    ここでは、apache専用ユーザーとして、「apache」というユーザー、グループを作成し、apacheを起動させるユーザーをhttpd.confに設定します。

    # groupadd apache ←「apache」グループの作成
    # useradd -g apache apache ←「apache」ユーザーの作成
    
    # vi /usr/local/apache2/conf/httpd.conf
    以下を変更し保存
    
    User daemon → User apache に変更
    Group daemon → User apache に変更
    

    1-2. ServerName

    ServerNameの後ろにDNSに登録した名前か、IPアドレスを書く。

    ServerName kazmax.zpp.jp
    

    1-3. DocumentRoot

    DocumentRoot には、web サーバの一番上となるディレクトリのパスを指定。
    ブラウザに、http://kazmax.zpp.jp/ と打って出てこさせたいディレクトリを指定する。 うちはデフォルトのままで、

    DocumentRoot "/usr/local/apache2/htdocs"
    

    1-4. Options Indexes

    初期状態のままだと、<Directory "/usr/local/apache2/htdocs">というディレクティブの中に、Options Indexes という項目が設定されています。
    このままだと、DirectoryIndex で設定されているファイル(index.htmlなど)が無い場合、ディレクトリのファイルの一覧が丸見えになってしまいます。

    memo

    ディレクティブとは、apache の動作をコントロールする命令のことです。
    Options ディレクティブ: ディレクトリに対して使用可能な機能を設定する

    中身丸見えはイヤなので、

    Options FollowSymLinks Indexes → Indexesを消去
    

    1-5. ServerTokens

    ServerTokens :
    このディレクティブは、クライアントに送り返す Server 応答ヘッダ内に、サーバの一般的な OS 種別や、コンパイルされて組み込まれているモジュールの情報を含めるかどうかを指定します。

    ServerSignature により表示される情報も制御します。

    との事です。

    要は、外部の人にOSと組み込んだモジュールがばれるよ、ってことです。
    クラックの足がかりにもなるそうなので、以下の行を追加して情報をもらさないようにします。(他のディレクティブの外ならどこでも可)

    ServerTokens Prod → 追加
    

    1-6. ServerSignature

    on にしておくと、サーバが生成するドキュメント(エラーメッセージなど)に、サーバのバージョンなどが出力されるらしい。
    これもイヤなので、httpd.confに以下の行を追加。(だいたいどこでも可。ServerTokensの下あたりとかに自分は書いてます。)

    ServerSignature Off → 追加
    

    memo

    上記の3-5, 3-6は、「wget -d URL」とかで確認できます。
    設定前はOSとサーバのバージョン、モジュール群とかが出力されます。
    設定後は出力されなくなります。
    意外とおもしろいです。

    2. 変更した設定ファイルの確認

    以下のコマンドを実行し、httpd.confに間違いがないか確認します。
    間違えた設定をしていると、警告してくれます。

    # /usr/local/apache2/bin/apachectl configtest
    Syntax OK
    

    「Syntax OK」と表示されれば、設定ファイルに間違いがない事を示しています。 apacheを起動させましょう。

    Apache 関連記事