3

私は浮浪者とシェフを理解しようとしています。opscode cookbook apache2 を git からダウンロードした場合、最新のタグをチェックアウトし、Vagrantfile で次のことを行います。

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant::Config.run do |config|
  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.vm.forward_port 80, 8080

  config.vm.provision :chef_solo do |chef|
    chef.cookbooks_path = "chef/cookbooks"
    chef.add_recipe("apt")
    chef.add_recipe("apache2")
    chef.add_recipe("apache2::mod_rewrite")
  end
end

...Apacheがインストールされて動作しているVMになりますが(掘り下げた後、/var/wwwはドキュメントルートではなく、実際には/etc/apache2/htdocsです)

ドキュメント ルートを構成するために、Vagrantfile に行を追加する必要がありますか?

どんな助けでも大歓迎です!

ゲスト Ubuntu 12.04

4

4 に答える 4

2

いいえ。Vagrantfile では、仮想マシン (メモリ、ホスト名、ポートなど) と実行する必要があるレシピ (プロビジョニング部分) を構成します。ただし、Apache ドキュメント ルートを変更するには、Apache レシピを変更する必要があります。attributes/default.rbを確認して、必要なパスを変更します。

于 2013-08-22T08:24:44.030 に答える
1

Linux ディストリビューションによって異なります。Debian/Ubuntu の DocumentRoot のデフォルト/var/wwwは RHEL/CentOS/Oracle/Fedora/SUSE のデフォルトは/var/www/htmlで、Arch Linux のデフォルトは/srv/httpです。

タグ 1.7.0 を使用しているとします。

あなたはできる

  1. (より簡単に) attributes/default.rbで編集default['apache']['docroot_dir']します
  2. カスタム JSON データ(chef-solo 実行の node.jsにVagrantfile相当) を使用して、デフォルト値をオーバーライドします。

:正しい配布関連ブロックを編集していることを確認してください

于 2013-08-22T13:36:20.833 に答える