4.

httpd.conf(設定ファイル)

編集

httpd.confとは?

httpd.conf は、Apache HTTP Server のメイン設定ファイルです。ポート・ドキュメントルート・モジュール読込・アクセス制御・ログ出力など、Apache の動作のほぼすべてをこのファイルから制御します。

大規模な設定は1ファイルにまとめるとメンテが大変なため、httpd-vhosts.conf (バーチャルホスト) や httpd-ssl.conf (SSL/TLS)、conf.d/ などに分割して Include で読み込むのが一般的です。

設置場所の例

OS / 配布主な配置先
RHEL / Rocky / Alma/etc/httpd/conf/httpd.conf、追加分は /etc/httpd/conf.d/*.conf
Debian / Ubuntu/etc/apache2/apache2.conf/etc/apache2/sites-available/*.conf
Alpine/etc/apache2/httpd.conf
Windows (XAMPP 等)C:\xampp\apache\conf\httpd.conf

主要なディレクティブ

ディレクティブ役割
ServerRootApache のインストール基準ディレクトリ
Listen待ち受けポート (例: Listen 80Listen 443)
User / GroupApache プロセス実行ユーザ・グループ
ServerNameサーバ名 (ホスト)
ServerAdmin管理者メールアドレス
DocumentRoot公開ルートディレクトリ
<Directory>ディレクトリ単位の制御 (許可・否定・オプション)
<Location> / <Files>URL/ファイル単位の制御
OptionsIndexes・FollowSymLinks・ExecCGI 等のディレクトリ機能
AllowOverride.htaccess で上書き許可する範囲
Requireアクセス許可制御 (Require all granted 等)
LoadModuleモジュール読込 (rewrite / ssl / proxy 等)
Include / IncludeOptional別の設定ファイルを読込
ErrorLog / CustomLogログ出力先・書式
LogLevelログレベル (warn / info / debug)
<VirtualHost *:80>バーチャルホスト定義

最小限のバーチャルホスト例

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example/public
    ErrorLog  /var/log/httpd/example_error.log
    CustomLog /var/log/httpd/example_access.log combined

    <Directory /var/www/example/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

関連する設定ファイル

ファイル役割
httpd-vhosts.confバーチャルホスト (同一サーバで複数ドメイン)
httpd-ssl.confSSL/TLS 設定 (証明書・暗号スイート)
httpd-mpm.confMPM (prefork / worker / event) の動作チューニング
.htaccessディレクトリごとの上書き設定 (再起動不要だが性能低下)

変更後の確認・反映

# 構文チェック (重要!本番反映前に必ず)
sudo apachectl configtest    # または httpd -t

# 再起動 (graceful: 既存接続を切らずに再読込)
sudo systemctl reload httpd   # RHEL系
sudo systemctl reload apache2 # Debian系

# 完全再起動 (構成が大きく変わったとき)
sudo systemctl restart httpd

運用上の注意

  • 本番設定の変更は必ず configtest で構文チェックしてから反映する
  • .htaccess での上書きはディレクトリ走査の負荷増になる。可能なら httpd.conf 側に書き、AllowOverride None
  • 不要なモジュール (LoadModule) は読み込まない (攻撃面の削減)
  • サーバ情報を漏らさないため ServerTokens ProdServerSignature Off
  • 大規模設定では設定ファイルを Git 管理し、デプロイ前にレビュー

関連

編集
Post Share
子ページ
  1. ファイルの場所
  2. .htaccessの有効化
同階層のページ
  1. インストール方法(Ubuntu)
  2. インストール方法(CentOS)
  3. ディレクトリ構造
  4. httpd.conf(設定ファイル)
  5. ドキュメントルートの変更方法
  6. .htaccess
  7. コマンド一覧
  8. エラー一覧
  9. VPSへの導入例(CentOS編)
  10. SSLの設定
  11. httpd.conf系のバーチャルホストの設定エラー有無確認方法
  12. .htaccessでベーシック認証
  13. configの文法チェック