Apache HTTPサーバーの設定と管理

〜 Webサーバーを自在に構築・制御するための基礎〜


目次

📌 概要

Apache HTTPサーバー(httpd)は、Linuxにおける定番のWebサーバーです。本記事では、以下の内容をカバーします:

  • Apacheのインストールと基本設定
  • ログ・アクセス制限・ユーザー認証
  • モジュール対応(PHPなど)
  • 仮想ホスト・リソース制限・リダイレクト

🏗️ 1. Apache HTTPサーバーの基本

🔧 主なコマンドとファイル

項目説明
httpd, apache2Apache本体(ディストリビューションにより異なる)
httpd.conf, /etc/apache2/apache2.confメイン設定ファイル
apachectl, apache2ctlサーバーの起動・停止制御コマンド
# 起動・停止・再起動(例:apachectl)
sudo apachectl start
sudo apachectl stop
sudo apachectl restart

📁 2. ログファイルの確認

ApacheのログはWebサーバーの動作確認・トラブルシュートに不可欠です。

ログ種類ファイルパス(例)内容
アクセスログ/var/log/httpd/access_logクライアントのアクセス記録
エラーログ/var/log/httpd/error_logエラーや警告の記録

🔐 3. アクセス制限と認証設定

🔎 アクセス制限(IPやホストで制御)

<Directory "/var/www/html/private">
Require ip 192.168.1.0/24
</Directory>
  • モジュール: mod_authz_host

👤 ベーシック認証の設定

1. パスワードファイルの作成

htpasswd -c /etc/httpd/.htpasswd user1

2. .htaccess またはディレクティブで制限

<Directory "/var/www/html/secure">
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /etc/httpd/.htpasswd
Require valid-user
</Directory>
  • モジュール: mod_auth_basic

⚙️ 4. モジュールとスクリプト言語の設定

Apacheはモジュールをロードすることで拡張できます。PHPなどを使いたい場合はmod_phpなどを利用。

sudo a2enmod php8.1     # Debian系
sudo systemctl restart apache2

🧠 5. リソース制限の設定

多くのリクエストやクライアントが来てもサーバーがパンクしないよう、接続数を制御可能。

例:prefork MPM の設定(httpd.conf)

<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 0
</IfModule>

🌍 6. 仮想ホストの設定

1つのサーバーで複数のWebサイトを運用可能。

<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/example
ErrorLog logs/example-error.log
CustomLog logs/example-access.log combined
</VirtualHost>

🔁 7. リダイレクトの設定

URLを他のページへ転送できます。SEOやHTTPS強制などに利用。

Redirect /old-page.html https://example.com/new-page.html

✅ まとめ

機能キーワード・ファイル・コマンド
インストール・起動httpd, apache2, apachectl
設定httpd.conf, .htaccess
ログ確認access_log, error_log
アクセス制限Require, mod_authz_host
認証設定htpasswd, mod_auth_basic
仮想ホスト<VirtualHost>, ServerName
モジュールmod_php, a2enmod
リダイレクトRedirect, mod_alias
リソース制限MaxRequestWorkers, StartServers など
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次