🎯 この記事の目的
Apache の設定コマンド a2ensite を実際に使ってみて、
仮想ホスト(VirtualHost)を有効化するしくみを体験します。
「有効にする」「無効にする」でどう変わるか、すぐに分かる内容です。
🧰 前提条件
- Ubuntu / Debian 系のLinux環境(Raspberry PiでもOK)
- Apache2 がインストール済み
インストールされていない場合はこちら:
sudo apt install apache2 -y
ブラウザで http://localhost を開いて
Apache のデフォルトページが表示できればOKです。
🪜 手順
① 新しいサイト用のフォルダを作る
sudo mkdir /var/www/testsite
echo "これは testsite のページです" | sudo tee /var/www/testsite/index.html
ここでは testsite という名前のページを作ります。
② サイト設定ファイルをコピー
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf
③ 設定ファイルを編集
sudo nano /etc/apache2/sites-available/testsite.conf
中身を下のように書き換えます👇
<VirtualHost *:80>
ServerName test.local
DocumentRoot /var/www/testsite
</VirtualHost>
- ServerName … この仮想サイトのドメイン名
- DocumentRoot … 公開するフォルダの場所
④ サイトを有効化する (a2ensite)
sudo a2ensite testsite.conf
実行すると:
Enabling site testsite.
To activate the new configuration, you need to run:
systemctl reload apache2
と出ます。
⑤ Apache をリロード
sudo systemctl reload apache2
⑥ hosts ファイルに登録(Mac / Linux)
sudo nano /etc/hosts
最下行に追加:
127.0.0.1 test.local
⑦ ブラウザでアクセスして確認!
アドレスバーに:
http://test.local
と入力して開いてみましょう。
👉 「これは testsite のページです」と表示されたら成功 🎉
⑧ 無効化して違いを確かめる
sudo a2dissite testsite.conf
sudo systemctl reload apache2
もう一度 http://test.local にアクセスしてみてください。
→ ページが表示されなくなります。
これで、a2ensite と a2dissite の違いが体感できました。
💬 まとめ
| コマンド | 意味 | 主な操作 |
|---|---|---|
a2ensite |
サイト設定を有効化 | /etc/apache2/sites-enabled にリンクを作成 |
a2dissite |
サイト設定を無効化 | リンクを削除 |
systemctl reload apache2 |
設定反映 | Apacheを再起動せずに反映 |
📝 振り返り課題
a2ensiteはどのフォルダにリンクを作りますか?- 設定を有効にしたあと、なぜ「reload」が必要なのでしょうか?
ServerNameを複数登録すると何ができるでしょうか?
💻 今回使ったターミナルコマンド一覧
# Apache2をインストール
sudo apt install apache2 -y
# 新しいサイト用ディレクトリ作成
sudo mkdir /var/www/testsite
echo "これは testsite のページです" | sudo tee /var/www/testsite/index.html
# 設定ファイルをコピー
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf
# 設定ファイルを編集
sudo nano /etc/apache2/sites-available/testsite.conf
# サイトを有効化
sudo a2ensite testsite.conf
# Apacheをリロード
sudo systemctl reload apache2
# hostsファイルを編集
sudo nano /etc/hosts
# サイトを無効化(確認用)
sudo a2dissite testsite.conf
sudo systemctl reload apache2
