web-dev-qa-db-ja.com

VagrantでLAMPスタックを実行するVM(Windows 7ホストの場合)、完全な手順?

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

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

vagrant@lucid32:~$ knife cookbook site install Apache2

しかし得た

WARNING: No knife configuration file found

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

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

更新

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

Vagrant Windows Host, Linux VM v001 - Initial Questions After attempting setup

26
therobyouknow

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

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

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

  • 開始点と前提条件を明確に定義します
  • 私のように、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のバージョン管理規則はもっと簡単かもしれないと思います。 注:このガイドはVagrant 1を対象としています。 Vagrant 2は2013年半ばにまだドラフトでしたが、バージョン1のインストールベースは広く確立されていると言われています。したがって、Ubuntuのようにバージョン1-V1 LTS-長期サポート-に電話して、これが実現することを示したいと思います。まだ長い間。

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

Vagrant API version v1, v2 clarification and downloads

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

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

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

Windows 7 64ビットマシン(またはMacまたはLinuxマシン)でOracle VirtualBoxを使用して、仮想マシンとして実行されるLAMP(Linux OS、Apache Webサーバー、MySQLデータベース、PHP)スタックを備えた32ビットUbuntu LinuxOSを入手します。ただし、主にWindowsでテストされていますが、Macでも正常に動作するはずであり、このソリューションはプラットフォームに依存しないことを目的としています)。 PHP OKをテストしました(標準のphpinfo.phpファイルを使用して、MySQLが実行されていることを確認しましたが、まだテストしていません)。

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

注:Drupalオープンソースコンテンツ管理フレームワークを備えたLAMPスタックが必要な人(私のような)のための代替のほとんどすぐに使えるソリューションはここにあります: http:/ /drupal.org/project/vagrant 以下の私の前提条件だけに従って、上記のURLから.Zipをダウンロードし、そこにある指示に従って、コマンドラインから_vagrant up_を実行して開始できるはずです。 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セットアップを次に示します。

Solr検索エンジンをVMのローカルでLAMPスタックの一部として使用する場合は、以下を確認してください。

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

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

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

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

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

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では、ステップの正確なシーケンスを定義すると思います。繰り返しますが、ここにコメントして、必要に応じて修正してください。

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

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

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

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

指示

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

ホストのセットアップ作業は、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
_

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

_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が終了しました。その後、後で使用するためにVMを保持し、_vagrant halt_を使用してシャットダウンした場合(_vagrant destroy_でVMイメージを削除するのではなく)、Iこの遅延は、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-through-browser

_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

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

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

トラブルシューティング問題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=1198https://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_エラーメッセージ。

Remedy?Vagrantfile内のステートメント_config.vm.box =_などを含む行をチェックして(上記の私の例Vagrantfileを参照)、それがシステムに実際に存在するVagrantボックス(OSインストールイメージ)-コマンド_vagrant box list_を発行して、使用しているボックスを確認します。

私の指示に従った場合は、_lucid32_ボックスが必要です。 Vagrantfileに無関係な_config.vm.box =_などのステートメントがないことを確認してください。告白:私のVagrantfileに無関係な_config.vm.box = "base"_がありましたが、実際には数行上で_config.vm.box = "lucid32"_がすでに実行されていました。これを修正しました。

[〜#〜]よくある質問[〜#〜]

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

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

参照:

一般的なVagrantリソース:

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

http://community.opscode.com/questions/81http://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.htmlVagrantがVMへの変更を保存する場所はどこですか?

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

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

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

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

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でrootパスワードを設定する方法を追加しました
  4. Lucid32ボックス(インストールディスクに相当)をダウンロードして初期化するための欠落している手順を追加しました
  5. 私の https://github.com/therobyouknow/VagrantVMSetups この回答のVagrant構成セットアップを含むGitHubリポジトリへのリンクを追加しました-便宜上。
  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/ --online Vagrant configuratorスクリプトジェネレーターへのリンクを追加しました(とてもいいです!)。任意の.ISOLinuxディストリビューション(標準インストールディスク)からVagrant.boxファイルを生成するために使用されるVeeWeeツールへのリンクを追加しました
  9. 2013-10-14「彼らがしていないように見えること」の箇条書きを更新し、Vagrantのバージョン-このガイドではVagrant 1を使用しています(およびその理由)。 puphpet.comで使用されるStatedVagrant 2も、puphpet.comを使用してDrupal用のVagrant VMをセットアップするための私のドキュメントにリンクしています。
  10. 2013-10-21使用するVirtualBoxバージョンとVagrantの状態の組み合わせに更新:VirtualBoxバージョン4.2.12とVagrant1.2.2。他の特定の組み合わせでも機能する可能性がありますが、私はそれらをテストしていないので、後のバージョンを使用することの明確な利点が見られない限り、この組み合わせを使い続けています。明確な利点の1つは、プロビジョニングの速度です。 Vagrant VMセクションへの他のアプローチに見出しを置きます。これと他のソリューションはプラットフォームに依存せず、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セットアップを追加しました。
40
therobyouknow

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

$knife configure

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

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

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

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

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

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

2
BadAlgorithm