手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 Apache の基本設定

Ubuntu 26.04 サーバー管理ガイドに戻る

Ubuntu 26.04 で Apache を使う場合、最初に押さえるべきことは、パッケージの導入、ServerName、DocumentRoot、default site、設定ファイルの検証、サービス状態の確認です。

この記事では Apache の基本設定だけを扱います。TLS、WAF、リバースプロキシは Apache の上に積む構成なので、基本設定ができた後に別の記事として整理する方が見通しがよくなります。

Apache の位置づけ

Apache は Web サーバーとして静的ファイルを配信するだけでなく、TLS 終端、リバースプロキシ、認証、WAF などの土台にもなります。まずは標準的な HTTP サイトとして動かし、設定検証とログ確認ができる状態を作ります。

  • apache2 パッケージをインストールする
  • ServerName を明示する
  • DocumentRoot の Directory 設定を整理する
  • default site を確認する
  • apache2ctl で構文確認する
  • systemd で起動と自動起動を管理する

インストールする

sudo apt update
sudo apt install -y apache2

サービス状態を確認する

systemctl status apache2 --no-pager
systemctl is-enabled apache2
ss -lntp | grep apache2 || true

ServerName を設定する

Apache は ServerName が未設定でも動きますが、警告を避けるためにサーバーの FQDN を明示しておくと管理しやすくなります。

sudo tee /etc/apache2/conf-available/servername.conf >/dev/null <<'EOF'
ServerName web01.example.local
EOF
sudo a2enconf servername

DocumentRoot の設定を確認する

標準の DocumentRoot は /var/www/html です。Directory 設定を明示して、どの範囲を公開するのかを分かりやすくしておきます。

sudo tee /etc/apache2/conf-available/www-options.conf >/dev/null <<'EOF'
<Directory /var/www/html/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
EOF
sudo a2enconf www-options

セキュリティ関連の基本設定

最低限、バージョン情報や署名を出しすぎない設定にしておきます。これは強固な防御というより、基本的な露出を減らすための設定です。

sudo tee /etc/apache2/conf-available/security.conf >/dev/null <<'EOF'
ServerTokens Prod
ServerSignature Off
TraceEnable Off
EOF
sudo a2enconf security

default site を確認する

まずは port 80 の default site を確認します。ここでは DocumentRoot を /var/www/html とし、追加の HTTP 用設定を include できる形にします。

sudo install -d -m 0755 -o root -g root /etc/apache2/http-custom-config.d
sudo tee /etc/apache2/sites-available/000-default.conf >/dev/null <<'EOF'
<VirtualHost *:80>
    ServerAdmin webmaster@example.local
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    IncludeOptional /etc/apache2/http-custom-config.d/*.conf
</VirtualHost>
EOF
sudo a2ensite 000-default

デフォルト index を整理する

検証環境では標準の index.html が残っていても問題ありませんが、実運用では意図しないデフォルトページを出さないように整理しておきます。

sudo rm -f /var/www/html/index.html
echo "Apache is running" | sudo tee /var/www/html/index.html

設定を検証する

Apache の設定変更後は、サービス再起動前に必ず構文確認します。

sudo apache2ctl -t
sudo apache2ctl -S

サービスを再起動する

sudo systemctl restart apache2
sudo systemctl enable apache2
systemctl status apache2 --no-pager

動作確認する

curl -I http://127.0.0.1/
curl http://127.0.0.1/

ログを確認する

Apache の切り分けでは、systemd のログと Apache の access/error log の両方を見ます。

journalctl -u apache2 --since "1 hour ago" --no-pager
sudo tail -n 50 /var/log/apache2/error.log
sudo tail -n 50 /var/log/apache2/access.log

次に分けて考える構成

基本設定ができたら、用途に応じて TLS、WAF、リバースプロキシ、PHP-FPM 連携へ進みます。これらは Apache の基本設定の上に積む構成なので、記事も分けた方が読みやすいです。

  • TLS: 証明書と HTTPS VirtualHost を扱う
  • WAF: ModSecurity などで通信を検査する
  • リバースプロキシ: backend へ転送する
  • PHP-FPM 連携: PHP アプリケーションを実行する

まとめ

Ubuntu 26.04 の Apache 基本設定では、インストール、ServerName、DocumentRoot、default site、セキュリティ基本設定、構文確認、サービス確認を一連の作業として扱うことが重要です。ここまで整えておくと、TLS、WAF、リバースプロキシへ進むときの土台が安定します。

Ubuntu 26.04 サーバー管理ガイドに戻る

Ubuntu 26.04 Apache の基本設定

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る