Vagrant の入門に関するドキュメントを読みながら、自分の仮想マシンを実行しようとして、最初の仮想マシンを設定しました。私は VirtualBox で Vagrant を使用していますが、'vagrant destroy' を実行した後、次のエラーが発生し、再び実行できないようです: "apache2: サーバーの完全修飾ドメイン名を確実に特定できませんでした。ServerName に 127.0.1.1 を使用しています"
この問題を Google で検索してみたところ、ServerName を localhost に設定する必要があると思いましたが、VM 内でこれを行う方法が見つかりませんでした。
Vagrantfile と bootstrap.sh ファイルの両方で ServerName = localhost を設定しようとしました。
私の Vagrantfile:
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise64"
config.vm.box_version = "1.1.0"
config.vm.box_url = "https://vagrantcloud.com/hashicorp/precise64"
config.vm.provision :shell, path: "bootstrap.sh"
config.vm.network :forwarded_port, guest: 80, host: 4567
end
私のbootstrap.sh:
#!/usr/bin/env bash
apt-get update
apt-get install -y apache2
if ! [ -L /var/www ]; then
rm -rf /var/www
ln -fs /vagrant /var/www
fi
VM をセットアップした後、動作していたため、エラーが発生するとは予想していませんでした。
答え1
この問題を Google で検索してみたところ、ServerName を localhost に設定する必要があると思いましたが、VM 内でこれを行う方法が見つかりませんでした。
これは Apache エラーなので、通常は Apache 構成ファイルで行います。VMhttpd.conf
で eg (または同等のもの) を開き、ServerName
エントリを見つけます。次のように設定します。
ServerName www.example.com
この場合、www.example.com
は任意の名前 ( を含むwww.example.com
) にすることができます。つまり、入力するドメイン名は有効である必要はありません。 を保存しhttpd.conf
、Apache を再起動すると、表示される警告が抑制されるはずです。