私の Vagrantfile:

私の Vagrantfile:

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 を再起動すると、表示される警告が抑制されるはずです。

関連情報