2026年9月14日
2026年9月14日
ApacheのServerNameとServerAliasの違いと使い分け
はじめに
この記事では、Apache HTTPサーバーで使用するServerNameとServerAliasの違いと使い方について解説します。これらの設定は、Webサイトの管理やSSL証明書のインストールなど、様々な用途で重要となります。
症状・背景
1. 複数ドメインの管理
複数のドメイン名(例:example.comとwww.example.com)を同じサーバーに配置する場合、それぞれのドメインに対して適切な設定を行う必要があります。ServerNameは主要なドメイン名を指定し、ServerAliasはその他のドメイン名を追加することができます。
2. SSL証明書のインストール
HTTPS化のためにSSL証明書を使用する場合、サーバーが適切に認証されるためには正確なドメイン名が必要です。ServerNameで主なドメイン名を指定し、ServerAliasで追加のドメイン名を指定することで、一括管理が可能になります。
3. ドメインリダイレクト
一部のユーザーは特定のドメイン(例:example.com)から別のドメイン(例:www.example.com)にリダイレクトしたい場合、ServerNameとServerAliasを正しく設定することで、必要なルーティングが実現できます。
手順・設定方法
ステップ1: .confファイルを開く
# Apacheの主設定ファイル(通常は/etc/httpd/conf/httpd.conf)を編集します。
sudo vi /etc/httpd/conf/httpd.conf
ステップ2: ServerNameとServerAliasを追加または修正
# 主なドメイン名を指定
ServerName example.com
# 追加のドメイン名を指定
ServerAlias www.example.com
ステップ3: 設定を保存してサーバーを再起動
# .confファイルを保存して退出
:wq
# Apacheを再起動して変更を適用します。
sudo systemctl restart httpd
ステップ4: SSL証明書のインストール(オプション)
# SSL証明書をインストールし、ServerNameと一致させることが推奨されます。
sudo cp /path/to/certificate.crt /etc/httpd/conf/ssl.crt/server.crt
# サーバーが使用する鍵ファイルも追加します。
sudo cp /path/to/private.key /etc/httpd/conf/ssl.key/server.key
ステップ5: 設定を保存してApacheを再起動
# SSL証明書の設定を反映するために、Apacheを再起動します。
sudo systemctl restart httpd
注意事項
- セキュリティ上の注意: 正確なドメイン名を
ServerNameに指定し、必要に応じてServerAliasを使用することで、SSL証明書のエラーを避けることができます。不正なドメイン名が設定されると、サイトは安全に接続できなくなる可能性があります。 - パフォーマンス/運用上の注意:
ServerNameとServerAliasの設定は一意である必要があります。複数のドメイン名を同じServerAliasに指定することは推奨されません。
まとめ
1. ServerName: 主なドメイン名を指定します。
2. ServerAlias: 追加のドメイン名やリダイレクト先のドメイン名を追加します。
3. SSL証明書管理: 複数のドメイン名を管理する場合は、ServerNameとServerAliasを使用して一括管理が可能です。
4. SSL証明書インストール: 正確なドメイン名に合わせてSSL証明書をインストールすることで、接続エラーを避けることができます。
関連記事: