Apache 設定 - AlmaLinux

  • 作成日:
  • 最終更新日:2025/06/25

セクションコンテナ

Apache の設定は、全体と範囲を指定した設定の2種類あります。範囲のことをセクションコンテナといいます。

セクションコンテナの外にある設定が全体の設定になります。

セクションコンテナには、ディレクトリを示す<Directory>、ファイルを示す<Files>、URLを示す<Location>などがあります。

Apache の設定ファイルには、ディレクティブと呼ばれる設定内容を記述します。

また、ほかの設定ファイルを読み込みには、Includeを使います。

Include conf/ssl.conf

初期設定の項目

ポート番号の設定

Listen 80

管理者のメールアドレスを指定する

ServerAdmin tanaka@example.com

サーバーの名前の情報を指定

ServerName www.example.com:80

ServerName を有効にする

UseCanonicalName On

ドキュメントルート

ウェブサーバーのルートディレクトリをドキュメントルートと呼びます。AlmaLinux の場合、ドキュメントルートは/var/www/htmlです。

インデックスファイルの設定

インデックスファイルの優先順位はDirectoryindexディレクティブで指定された左側にあるものが優先されます。

インデックスを設定するには、/etc/httpd/confを以下のように変更します。

Directoryindex index.htm index.html

ファイル一覧を表示しないようにするには、以下のように変更します。

/etc/httpd/conf

<Directory "/var/www/html">
  Options +FollowSymLinks -Indexes
</Directory>

以下のような書き方は、Apache2.4以降では構文エラーになります。

Options FollowSymLinks -Indexes

アクセス制限

IPアドレスを指定して、アクセスを許可・拒否を設定することができます。

Apache2.2 以前

<Directory "/var/www/html">
    Order allow, deny
    Allow from All
    Deny from 192.168.1.28
</Directory>

Order は Apache 2.2 以前のアクセス制御ディレクティブで、アクセス許可 (Allow) や拒否 (Deny) の評価順序を指定するためのものです。Apache 2.4 以降では廃止されており、代わりに Require を使います。

Apache2.4 以降

<Directory "/var/www/html">
    Require all granted
    Require not ip 192.168.1.28
</Directory>

RequireApache 2.4以降で導入されたアクセス制御のための認可ディレクティブです。誰がリソースにアクセスできるか(IPアドレス、ホスト、ユーザー、グループなど)を細かく指定できます。

Require オプションの主なオプション(条件)の一覧と意味は以下の表のようになります。

Require オプション 説明・使用例
Require all granted 全てのユーザー/IPにアクセスを許可(完全公開)
Require all denied 全て拒否(403を返す)
Require ip 192.168.1.10 指定したIPアドレスからのアクセスのみ許可。指定IP以外は403
Require not ip 192.168.1.10 指定したIP以外を許可(<RequireAll> 内で使用)
Require host example.com ホスト名にマッチするアクセスのみ許可
Require user alice HTTP認証されたユーザー名 alice のみ許可
Require group admins HTTP認証で admins グループに属するユーザーを許可
Require valid-user Basic認証後のみアクセス可
<RequireAll> ... </RequireAll> 全条件を満たす必要あり
<RequireAny> ... </RequireAny> いずれかを満たせばOK