26

VagrantVM標準の問題lucid32.boxを実行しています。これにLAMPを設定するための完全な手順は何でしょうか?

私はナイフ(シェフの一部)を見て、次のことを試みました:

vagrant@lucid32:~$ knife cookbook site install apache2

しかし得た

WARNING: No knife configuration file found

ナイフ構成ファイルを設定するにはどうすればよいですか?また、その中に何を含める必要がありますか?

私は答えをオンラインでたくさん検索してきましたが、それらの出発点/前提条件を説明していない部分的な解決策に圧倒されています。

アップデート

他の誰も望んでいないように思われるので、私はこれに自分で答えることを目指します。これが私の現在の理解です-私は後で私の未知数/質問に赤で対処することを目指しています。

Vagrant Windowsホスト、LinuxVMv001-セットアップを試みた後の最初の質問

4

2 に答える 2

43

OK、私はオリジナルの質問ポスターとしてこれに完全に答えることに決めました。(以前に貢献してくれたすべての人に感謝します。)

VagrantとOracleVirtualBoxを使用したWindows64ビットホストでのLAMPVMのエンドツーエンドのセットアップ

私が最初にこの質問をしたのは、Webにはたくさんの指示やガイドがありますが、それらが行っていないように見えるのは次のとおりだからです。

  • 開始点と前提条件を明確に定義します
  • 私のように、VMをホストするための有能なWindowsマシンを備えた企業環境にいる人たちに指示を与えてください。代わりに、Linuxベースのホストマシンを想定しています。
  • 設定されているファイルがどこにあるかを明確にします。ホスト上で?ゲストOSでは?(これは、ホストOSとゲストOSの両方がLinuxベースかUnixベースかを判断するのが特に困難です。表示されているコマンドラインスニペットは、すべて同じように見えるため、明らかに手がかりを与えません。)
  • 使用されているVagrantのバージョンを記述します。2つのメインバージョンがあります。APIバージョン1は、v1.1.0より前のすべてのリリースです(ただし、含まれていません)。もう1つはAPIバージョン2-v1.1.0以降のリリースです。したがって、バージョニング規則はJavaに似ています。このAPIバージョンは重要です。たとえば、v1 APIスクリプトは、使用するバージョンを示す句をスクリプトの先頭に配置しない限り、VagrantソフトウェアのAPIv2では機能しません。

    個人的には、Vagrantのバージョン管理規則はもっと簡単かもしれないと思います。注:このガイドはVagrant1を対象としています。バージョン1のインストールベースは広く確立されていると言われていますが、Vagrant 2は2013年半ばにまだドラフトでした。したがって、Ubuntuのようにバージョン1-V1 LTS-ロングタームサポート-に電話して、これがまだ長い間。

これは、どのAPIがVagrantソフトウェアのどのバージョンにあるかを明確にするための図です。

Vagrant APIバージョンv1、v2の説明とダウンロード

ここでVagrantを使用するセットアップの例では、V1.1.0より前(つまり、vagrantup.comのダウンロードからのVagrant API 1)を使用することをお勧めしますが、上記のようにVagrant2APIバージョンのVagrantソフトウェアを使用できるはずです。ただし、スクリプトの先頭に「ディレクティブ」を追加して、Vagrant 1用であることをVagrantに通知する必要があります。そうしないと、スクリプトが失敗してエラーメッセージが表示されます。TODO:そのディレクティブを取得して、ここに配置して支援します。

(Vagrantの作成者であるMitchell Hashimoto-O'Reillyの本の今後の版については、上記に注意してください:Vagrant:Up and Running:http ://shop.oreilly.com/product/0636920026358.do )

この回答のこれらの指示は何をすべきか:

Windows 7 64ビットマシン(またはMacまたはLinuxマシン、ただし、主にWindowsでテストされていますが、Macでも正常に動作するはずであり、このソリューションはプラットフォームに依存しないことを目的としています)。PHP OKをテストしました(標準のphpinfo.phpファイルを使用して、MySQLが実行されていることを確認しましたが、まだテストしていません)。

VagrantVMで実行されるLAMPスタックをセットアップする他の方法

注:Drupalオープンソースコンテンツ管理フレームワークを備えたLAMPスタックが必要な場合(私のように)、すぐに使用できる代替ソリューションは次のとおりです 。http : //drupal.org/project/vagrant以下の私の前提条件だけに従って、上記のURLから.zipをダウンロードし、そこにある指示に従って実行することができますvagrant upコマンドラインからVMを起動し、VMがビルドされて起動するのを待ちます(イメージを設定すると、その後の起動が速くなるため、これの一部は1回限りです)。git、drush(私は思う)、パフォーマンスプロファイリングツールなど、他の多くの開発者向けのものを「無料で」(つまり、それらをインストールする手間を省くために)入手できます。その後、[サーバーアドレス]/install.phpに移動してDrupalをインストールします。これは問題なくうまく機能しているようです-私はそれを試しましたが、広範囲にテストしていません。エラーメッセージが表示された場合は、xhprofのインストールを無効にする必要がある場合があります。詳細については、http://drupal.org/node/1940668を参照てください。

もう1つのオプションは、次の構成ツールを使用することです。https ://puphpet.com/- これは、Vagrantセットアップを構成するための視覚的なポイントアンドクリック方式です。これはVagrant2で機能します(少なくともVagrant 1.2.2では更新します)。更新:実際、私はこれを正常に機能させ、Drupalをローカルで実行するためのセットアップに基づいています-ここにある私のガイドを参照してください:https ://drupal.org/node/2055947

アップデート

MacとWindowsでうまく機能することがわかった他のすぐに使えるV​​agrantセットアップを次に示します。

LAMPスタックの一部としてVM内のローカルでSolr検索エンジンが必要な場合は、以下を確認することをお勧めします。

これらの選択肢は素晴らしいですが、私の説明は、そのようなセットアップの動作を理解するのに役立つか、より単純でより基本的なLAMPスタックが必要な場合に役立ちます。

あなたが行う方法を見つけるために必要な小さなエキストラ(ここにそれらを含めようとします)

セットアップ後のマシンへのログイン-これは、標準のSSHベースのログインを介して行われます。無料のツールputty.exeとputtygen.exeが必要になります。現時点では、SSHを使用してログインする方法をここに提供していませんが、将来的にログインしようとします。この回答の最後に参考文献があります。

ログインはユーザーで行われることに注意してくださいvagrant

(以下のセットアップ手順に従った後)rootユーザーを使用するには、アカウントを「ロック解除」してパスワードをリセットできるようにする必要があります。

ルートアカウントのロックを解除します。

vagrant@lucid32:~$ sudo passwd -u root
passwd: password expiry information changed.

次に、rootパスワードを変更します。

vagrant@lucid32:~$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

(入力時にパスワードは表示されません。)

rootにログインして、新しいパスワードをテストします。

vagrant@lucid32:~$ su root
Password:
root@lucid32:/home/vagrant#

クレジット:https ://scottlinux.com/2011/07/22/reset-or-change-user-password-in-linux/ (記事:「Linuxでのユーザーパスワードのリセットまたは変更」-これは、やれ。)

エラーはありますか?

試してみてください。問題がある場合は、回答にコメントを追加してください。修正を試みます。最後のトラブルシューティングも参照してください。

今後の課題

現在Puppetを使用しています。作業方法を広げるために、Puppetの代わりにChefを使用してください。これらは両方とも競争相手ですが、アプローチが異なるので、私は信じています。Puppetを使用すると、あなたが望むことを言うと言われ、Puppetはそこに到達するために任意の決定を下す可能性があります。一方、Chefでは、ステップの正確なシーケンスを定義すると思います。繰り返しますが、ここにコメントして、必要に応じて修正してください。

これらの手順の前提条件:

  • Windows764ビット
  • インストールされたVirtualBox
  • インストールされたVagrant
  • RubyとPuppetはVagrantに付属しているように見えるため、別々にインストールする必要はありません。正直なところ、私いくつかの問題を修正するためにこれらをインストールしましたが、それらの問題は別のものであることがわかりました。そこで、RubyとPuppetをアンインストールして再実行(vagrant upなど)しても機能するので、RubyとPuppetを個別にインストールする必要はないと思います。

  • 使用するVagrantとVirtualBoxのバージョンの推奨される組み合わせ:VirtualBoxバージョン4.2.12とVagrant 1.2より前(前述のとおり)。他の特定の組み合わせも機能する可能性がありますが、私はそれらをテストしていません。したがって、後のバージョンを使用することの明確な利点が見られない限り、この組み合わせを使い続けます。明確な利点の1つは、プロビジョニングの速度です。ここで説明する組み合わせは、少なくとも非常に複雑なVMをセットアップするためのpuphpet.comルートで機能するため、ここに記載されている単純なセットアップで機能するはずです。

(クレジット:これらの手順は http://ox86.tumblr.com/post/23734821654/painless-development-environments-with-virtualboxに基づいてい ます...しかし、正確なコピーではありませ。私には機能しませんでした。)

説明書

(上記の前提条件があることを確認してください。)

ホストのセットアップ作業は、Windowsユーザーフォルダ内のホストマシンで行われます。たとえば、私にとってはこれはC:\Users\rdavis

mkdir lamp-project
cd lamp-project
mkdir configs
cd ..
cd lamp-project
mkdir manifests

(以下から:http ://docs.vagrantup.com/v1/docs/getting-started/index.html )

ディストリビューションインストールイメージ(この場合はUbuntu Lucid(10.04))をダウンロードします。このイメージは、マシンにOSをインストールするために従来使用していたインストールディスク(CDまたはDVD)と実質的に同等です。

C:\Users\rdavis\lamp-project>vagrant box add lucid32 http://files.vagrantup.com/lucid32.box

(ちなみに、vagrantup.comには他にも人気のあるディストリビューションがいくつかありますが、ディストリビューション.ISOから.boxファイルを生成する場合は、VeeWeeというツールがあります:https ://github.com/ jedi4ever / veewee

初期化:

C:\Users\rdavis\lamp-project>vagrant init lucid32

(注:vagrant initすでにlucid32を初期化したため、これらの命令を作成するときに使用しましたが、初めて、上記のコマンドを実行する必要があります。)

C:\Users\rdavis\lamp-project>vagrant init
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

C:\Users\rdavis\lamp-project>

編集C:\Users\rdavis\lamp-project\Vagrantfile -直後に以下を挿入しますVagrant::Config.run do |config|

config.vm.box = "lucid32"
config.vm.provision :puppet do |puppet|
    puppet.manifests_path = File.expand_path("../manifests", __FILE__)
end
config.vm.forward_port 80, 8080
config.vm.share_folder "configs", "/configs", File.expand_path("../configs", __FILE__)

したがって、Vagrantfileは次のようになります。

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

Vagrant::Config.run do |config|

config.vm.box = "lucid32"
config.vm.provision :puppet do |puppet|
    puppet.manifests_path = File.expand_path("../manifests", __FILE__)
end
config.vm.forward_port 80, 8080
config.vm.share_folder "configs", "/configs", File.expand_path("../configs", __FILE__)

 # All Vagrant configuration is done here. The most common configuration
 # options are documented and commented below. For a complete reference,
 # please see the online documentation at vagrantup.com.

 # Every Vagrant virtual environment requires a box to build off of.
 # config.vm.box = "lucid32" 
 # (this is already done above, but if you have a box called 'base' which is an Ubuntu lucid32 then you can use: config.vm.box = "base". This info may be helpful if you get error: "The box 'base' could not be found.")

 # The url from where the 'config.vm.box' box will be fetched if it
 # doesn't already exist on the user's system.
 # config.vm.box_url = "http://example.com/path/to/above.box"

 # Boot with a GUI so you can see the screen. (Default is headless)
 # config.vm.boot_mode = :gui

 # Assign this VM to a host-only network IP, allowing you to access it
 # via the IP. Host-only networks can talk to the host machine as well as
 # any other machines on the same network, but cannot be accessed (through this
 # network interface) by any external networks.
 # config.vm.network :hostonly, "192.168.33.10"

 # Assign this VM to a bridged network, allowing you to connect directly to a
 # network using the host's network device. This makes the VM appear as another
 # physical device on your network.
 # config.vm.network :bridged

 # Forward a port from the guest to the host, which allows for outside
 # computers to access the VM, whereas host only networking does not.
 # config.vm.forward_port 80, 8080

 # Share an additional folder to the guest VM. The first argument is
 # an identifier, the second is the path on the guest to mount the
 # folder, and the third is the path on the host to the actual folder.
 # config.vm.share_folder "v-data", "/vagrant_data", "../data"

 # Enable provisioning with Puppet stand alone.  Puppet manifests
 # are contained in a directory path relative to this Vagrantfile.
 # You will need to create the manifests directory and a manifest in
 # the file base.pp in the manifests_path directory.
 #
 # An example Puppet manifest to provision the message of the day:
 #
 # # group { "puppet":
 # #   ensure => "present",
 # # }
 # #
 # # File { owner => 0, group => 0, mode => 0644 }
 # #
 # # file { '/etc/motd':
 # #   content => "Welcome to your Vagrant-built virtual machine!
 # #               Managed by Puppet.\n"
 # # }
 #
 # config.vm.provision :puppet do |puppet|
 #   puppet.manifests_path = "manifests"
 #   puppet.manifest_file  = "base.pp"
 # end

 # Enable provisioning with chef solo, specifying a cookbooks path, roles
 # path, and data_bags path (all relative to this Vagrantfile), and adding
 # some recipes and/or roles.
 #
 # config.vm.provision :chef_solo do |chef|
 #   chef.cookbooks_path = "../my-recipes/cookbooks"
 #   chef.roles_path = "../my-recipes/roles"
 #   chef.data_bags_path = "../my-recipes/data_bags"
 #   chef.add_recipe "mysql"
 #   chef.add_role "web"
 #
 #   # You may also specify custom JSON attributes:
 #   chef.json = { :mysql_password => "foo" }
 # end

 # Enable provisioning with chef server, specifying the chef server URL,
 # and the path to the validation key (relative to this Vagrantfile).
 #
 # The Opscode Platform uses HTTPS. Substitute your organization for
 # ORGNAME in the URL and validation key.
 #
 # If you have your own Chef Server, use the appropriate URL, which may be
 # HTTP instead of HTTPS depending on your configuration. Also change the
 # validation key to validation.pem.
 #
 # config.vm.provision :chef_client do |chef|
 #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
 #   chef.validation_key_path = "ORGNAME-validator.pem"
 # end
 #
 # If you're using the Opscode platform, your validator client is
 # ORGNAME-validator, replacing ORGNAME with your organization name.
 #
 # IF you have your own Chef Server, the default validation client name is
 # chef-validator, unless you changed the configuration.
 #
 #   chef.validation_client_name = "ORGNAME-validator"
end

次に、C:\ Users \ rdavis \ lamp-project\manifestsにファイルdefault.ppを作成して配置します。

$config_path = "/configs"
$vagrant_base_path = "/vagrant"
Exec { path => "/bin:/usr/bin:/usr/local/bin" }
group { "puppet": ensure => present }
exec { "apt-get update": command => "apt-get update" }
class apache {

    exec { "enable-mod_rewrite":
        require => Package["apache2"],
        before => Service["apache2"],
        command => "/usr/sbin/a2enmod rewrite"
    }
    package { "apache2":
        ensure => present
    }

    service { "apache2":
        ensure => running,
        require => Package["apache2"]
    }
}
class php {
    package { "libapache2-mod-php5": ensure => present }
    package { "php5": ensure => present }
    package { "php5-cli": ensure => present }
    package { "php5-dev": ensure => present }
    package { "php5-mysql": ensure => present }
    package { "php-pear": ensure => present }
    exec { "pear upgrade":
        command => "/usr/bin/pear upgrade",
require => Package["php-pear"],
    }
}
class mysql {
  package { "mysql-server":
    require => Exec["apt-get update"],
    ensure => present,
  }
  service { "mysql":
    enable => true,
    ensure => running,
    require => Package["mysql-server"],
  }
  exec { "Set MySQL server root password":
        require => Package["mysql-server"],
        unless => "/usr/bin/mysqladmin -uroot -proot status",
        command => "/usr/bin/mysqladmin -uroot password root",
  }
}
include apache
include php
include mysql

役立つメモ(オプション)、上記のバージョンのVagrantfileおよびdefault.pp(およびその他のVagrant補助ファイルとフォルダー構造)は、GitHubリポジトリのVagrantVMSetups(https://github.com/therobyouknow/VagrantVMSetups )から入手できます-フォルダー を参照してjustlampください-これlamp-projectこの回答で使用されている内容と同じです。)

次に、Vagrantを実行します。

C:\Users\rdavis\lamp-project>vagrant up

これにはしばらく時間がかかる場合があることに注意してください(5〜15分)-しかし、それに耐えてください。これで、LAMPVMが正常に実行されるはずです。これで、現在の作業タスクでVMを使用できます。vagrant haltその後、VMを後で使用できるように保持し、 (VMイメージを削除するのではなく)を使用してシャットダウンした場合vagrant destroy、この遅延は1回限りの初期セットアップ時間になると思います。その後のVMの起動(を使用vagrant up)は、私が思うに速くなるはずです。

トラブルシューティング:

問題1のトラブルシューティング:引用符が正しくない/正しくない-実行後にホストマシンにエラーメッセージが表示されるvagrant up

背景:これは、手順の元となったWebページのコードスニペットを貼り付けたために発生しました。コードスニペットには、オープンとクローズの引用符がありました。これは、Vagrantが使用するインタープリター/パーサー(または実際、私が思うほとんどのスクリプトインタープリターとコンパイラー)によって適切な引用符として解釈されません。

症状:次 のような出力:

There is a syntax error in the following Vagrantfile. The syntax error
message is reproduced below for convenience:

C:/Users/rdavis/lamp-project/Vagrantfile:6: invalid multibyte char (US-ASCII)
C:/Users/rdavis/lamp-project/Vagrantfile:6: syntax error, unexpected $end

またはこれ:

Could not parse for environment production: Could not match ?/configs? at /tmp/vagrant-puppet/manifests/default.pp:1 on node lucid32.hsd1.ca.comcast.net.

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

またはこれ:

There was an error executing the following command with VBoxManage:

["list", "hostonlyifs"]

対処法:適切な二重引用符を使用してください。開閉引用符は使用しないでください。

問題2のトラブルシューティング:実行後のホストマシンでの次のエラーメッセージvagrant up

←[1;35merr: /Stage[main]/Apache/File[/etc/apache2/sites-enabled/000-default]: Could not evaluate: Could not retrieve information from environment production source(s) file:/configs/000-default at /tmp
/vagrant-puppet/manifests/default.pp:11←[0m

対処法:これは表示されないはずです。使用された元のスクリプトには、を含むパスへの参照が含まれていました000-default。それを参照しているすべての行と構成を削除しました。

問題3のトラブルシューティング: PHPファイルは、実行および表示されるのではなく、ダウンロードとして扱われます(ファイルのダウンロードはブラウザーで行われます)。

PHPはゲストVMマシンで有効にする必要があります。

対処法:これを行う必要がある場合とない場合があります。

このヒントは機能しました:(PHPを有効にして、ファイルがダウンロードとして表示されないようにするため): https ://serverfault.com/questions/243435/getting-php-to-work-with-apache-to-run-php-files -ブラウザを介して

vagrant@lucid32:/etc/php5/cli$ a2enmod php5
Module php5 already enabled
vagrant@lucid32:/etc/php5/cli$ sudo apache2ctl restart

別のヒント:

PHPを有効にする必要があります。提案:http: //galleryproject.org/node/55011

は:編集php.ini これらは共有拡張子(.soファイル)です。php.iniでそれらを有効にしてから、PHPを再起動する必要があります。

私自身、結局php.iniを編集する必要はありませんでした。ちなみに、これは/etc/php5/cli/php.ini次の場所にあります:このlucid32VMの場合。

問題4のトラブルシューティング:バージョンの不一致に関するVirtualBoxの追加に関する警告メッセージへの対処

[default] The guest additions on this VM do not match the install version of
VirtualBox! This may cause things such as forwarded ports, shared
folders, and more to not work properly. If any of those things fail on
this machine, please update the guest additions and repackage the
box.

Guest Additions Version: 4.2.0
VirtualBox Version: 4.2.4

問題はないようですが(VMの正常な実行が停止することはありません)、対処したい場合は次のようにします。

http://automation.binarysage.net/?p=1198 https://unix.stackexchange.com/questions/58216/automate-installation-of-virtualbox-guest-additio ns-via-command-line

https://serverfault.com/questions/243435/getting-php-to-work-with-apache-to-run-php-files-through-browser

(Linuxのようなユーザーの場合:http://www.pauloamgomes.net/blog/installing-vagrant

問題5のトラブルシューティング: The box 'base' could not be found."実行後に表示されるエラーメッセージvagrant up

療法?(上記の私の例を参照)のステートメントconfig.vm.box =などを含む行をチェックして、システムに実際に存在するVagrantボックス(OSインストールイメージ)を参照していることを確認します-コマンドを発行して、どのボックスがあるかを確認します。VagrantfileVagrantfilevagrant box list

あなたが私の指示に従ったなら、あなたはlucid32箱を持っているはずです。config.vm.box =に無関係ななどのステートメントがないことを確認してくださいVagrantfile。告白:実際に数行上がすでに行われたときconfig.vm.box = "base"、私の中には無関係なものがありました。これを修正しました。Vagrantfileconfig.vm.box = "lucid32"

よくある質問

  • Q:Vagrantボックスとは何ですか?A:OSインストールディスクと同等であると見なすことができます。これは、VMの基盤であり、開始点であり、OSです。バイナリファイルです。

  • Q:Vagrantパッケージとは何ですか?A:VMのスナップショットとVagrantがVagrantFileから実行した構成は、セットアップを他の人に配布するための自己完結型の手段を提供します。

参照:

一般的なVagrantリソース:

Vagrantコマンドは正確に何をしますか? -素敵な説明

http://community.opscode.com/questions/81 http://deanstrezovski.com/setting-up-a-cagrant-lamp-stack/ http://www.jasongrimes.org/2012/06/managing-lamp -environments-with-chef-vagrant-and-ec2-1-of-3 / Vagrantプロジェクトディレクトリを既存のVirtualBoxVMに関連付けるにはどうすればよいですか? http://docs.vagrantup.com/v1/docs/getting-started/index.html

Vagrant Boxの詳細:

http://docs.vagrantup.com/v1/docs/boxes.html VagrantはVMへの変更をどこに保存しますか?

SSHキーベースのログイン(外部からVMボックスにログインする-つまり、ホストマシンまたは別のマシンから):

http://www.howtoforge.com/ssh_key_based_logins_putty_p2 http://docs.vagrantup.com/v1/docs/getting-started/ssh.html

http://en.wikipedia.org/wiki/Ssh-agent

Windows SSHベースのVMへのログインの場合:

PuTTY:無料のtelnet/sshクライアントwww.chiark.greenend.org.uk/~sgtatham/putty/

puttygen:

www.chiark.greenend.org.uk/~sgtatham/putty/download.html

この回答のバージョン履歴/更新

  1. 標識と見出しのクリーンアップ
  2. 実行を追加しvagrant up、時間がかかる場合があること
  3. VMでルートパスワードを設定する方法を追加しました
  4. lucid32ボックス(インストールディスクに相当)をダウンロードして初期化するための欠落している手順を追加しました
  5. 便宜上、この回答のVagrant構成セットアップを含むhttps://github.com/therobyouknow/VagrantVMSetupsGitHubリポジトリへのリンクを追加しました。
  6. 実際には上記の数行がすでに行われているときにVagrantfile、余分なものを削除するように変更されました。これは、エラーが発生した場合に役立ちます。また、同じことを説明する新しいトラブルシューティング項目を追加しました。config.vm.box = "base"config.vm.box = "lucid32"The box 'base' could not be found."
  7. DrupalベースのLAMPVMが必要な場合に、すぐに使用できる代替ソリューションを追加しました。http://drupal.org/project/vagrantこれに関する上記の注を参照してください。
  8. 2013-07-10:このガイドを書く理由へのわずかな文法調整。O'ReillyのVagrant本が出版されたことを更新しました。https://puphpet.com/へのリンクを追加-オンラインVagrantconfiguratorスクリプトジェネレーター(とてもいいです!)。任意の.ISOLinuxディストリビューション(標準インストールディスク)からVagrant.boxファイルを生成するために使用されるVeeWeeツールへのリンクを追加しました
  9. 2013-10-14「彼らがしていないように見えること」の箇条書きを更新し、Vagrantのバージョン-このガイドではVagrant 1を使用しています(およびその理由)。puphpet.comで使用されるStatedVagrant2は、puphpet.comを使用してDrupal用のVagrantVMをセットアップする私のドキュメントにもリンクしています。
  10. 2013-10-21使用するVirtualBoxバージョンとVagrantの状態の組み合わせに更新:VirtualBoxバージョン4.2.12とVagrant1.2.2。他の特定の組み合わせは機能する可能性がありますが、私はそれらをテストしていません。したがって、後のバージョンを使用することの明確な利点が見られない限り、この組み合わせを使い続けます。明確な利点の1つは、プロビジョニングの速度です。VagrantVMセクションへの他のアプローチに見出しを置きます。これと他のソリューションはプラットフォームに依存せず、PC、Mac、またはLinuxで動作するはずだと言うように更新されました。
  11. 2013-10-23は、このガイド(つまり、v1.2より前(Vagrant 2より前))および別のアプローチであるpuphpet.com(v1.2.2-対照的にVagrant2リリース)に使用するVagrantバージョンを更新します。 )。
  12. 2013-12-03は、VagrantAPIのバージョン管理とどのAPIバージョンがどのVagrantソフトウェアバージョンに含まれるかについてのメモを修正しました。いくつかの代替の包括的なVagrantセットアップを追加しました。
于 2013-02-25T13:17:59.240 に答える
3

VMで、次を実行する必要があります。

$knife configure

すべてのデフォルトを受け入れます。

これを実行すると、〜/ .chef/knife.rbに構成ファイルが作成されます。

ダイアグラムの場合:vagrantフォルダーには、そのプロジェクトのVagrantfileが含まれています。実際の.ovfファイルと.vmdkファイルは、別のVagranfileとともに、/%USERPROFILE%/.vagrant.d/に存在します。

Vagranfileは、Vagrantの構成ファイルであり、優先順位が設定された複数の場所に存在します。プロジェクトフォルダ内のVagranfileが優先されます:Vagrantfileドキュメント

複数のVMを使用したより複雑なVagrantプロジェクトのセットアップなど、すべてがローカルホストからのものである可能性があります。

編集:「knifeconfigure」コマンドをVMで実行する必要があることを明確にし、誤ったWindowsパス参照を削除します。

于 2013-02-14T17:50:16.837 に答える