/var/www. これは仮想ホストで実行できます。
各プロジェクトは .dev で終わる必要があります
それぞれデータベースを持つ 1 つのプロジェクトをサポートする各ビルドを作成するという考えに耐えられません。
Puppet や Chef で頭や尻尾を作ることができません。私はむしろそれを避けますが、レポから複製して喜んでいます。
アドバイスが必要か、正しい方向に向けてくれます。
ありがとう
以下の更新情報を参照してください
Web 開発ワークフローを改善する方法を探しています。現在、Theming Projects などで LAMP、Webmin、Filezilla などのさまざまなツールやアプリを使用しています。そして、Vagrantと呼ばれるこの素晴らしいツールの存在を発見し、自分のプロジェクトでそれをテストした後、私はそれに恋をし、現在のローカル Web 開発環境に統合することにしました。そして、私はさらに掘り下げて、選択したベースボックスを使用してVagrantでマルチ Vhostsセットアップを作成およびセットアップする方法の可能性を探しました。Google を検索すると多くの結果が返されますが、stackoverflow からのリンクをクリックすることにし、この質問にたどり着きました。に記載されているリンクをたどったUbuntu 12.04 Precise Pangolin 32-bit
Dimitri Kouvdis
Github Repoであるの答え。私はそれをテストし、同様の問題にDimitri Kouvdis
遭遇しました。しかし、彼のコメントのおかげで、それはすでに解決されています。しかし、複数の仮想サポートを備えた理想的な Vagrant Box を探している間に、Github からいくつかのリポジトリを検索してテストし、自分に合ったリポジトリを見つけました。Puppet と Chef を使用して独自の開発サーバーをプロビジョニングする方法がまだわからないため、これらのリポジトリを探し出したのはそのためです。
onema / vagrant-lamp-development
https://github.com/onema/vagrant-lamp-development
Github リポジトリをテストするDimitri Kouvdis
と、いくつかの問題が発生しました。その間、作業を停止し、Github から同様のリポジトリを検索することにしました。いくつか見つけて、Nino Paolo のレポ ( https://github.com/paolooo/vagrant-lamp )を含むいくつかをテストしました。中に特にいくつかの問題が発生しましたvagrant up
。onemaのレポを見つけて正常にセットアップするまで、別のレポを検索することにしました。最終的に、このソリューションを使用して、Web 開発の実践環境で現在のワークフローに統合することにしました。onema
のレポが好きになりました。
上で述べたように、Github Repo ページにある指示を読んでそれに従うことで、セットアップは簡単です (特に私のような初心者や自己学習者にとって)。- https://github.com/onema/vagrant-lamp-development . ダウンロードしたzip ファイルを使用するか、ファイルをローカル ドライブgit clone https://github.com/onema/vagrant-lamp-development
にコピーするために使用するかを選択できます。Vagrant
git
、基本的な Vagrant と VirtualBox のセットアップを実行して、ファイルをローカル ドライブにダウンロードします。Github Pageから手順を読み、さらに以下の手順を実行します。私のセットアップではVagrantile
、少し編集しました。line: 70
origVagranfle
ファイルの に、コメント#
を付けて NFS を無効にしました。
config.vm.synced_folder "~/Sites", "/vagrant", nfs: true
ということで、今はこんな感じ…
#config.vm.synced_folder "~/Sites", "/vagrant", nfs: true
そして、コメントアウト...
#config.vm.synced_folder "~/Sites", "/vagrant"
line: 140
元からVagrantfile
ということで、今はこんな感じ…
config.vm.synced_folder "~/Sites", "/vagrant"
これを行っているのは、私のマシンで 中にvagrant up
、理解できない NFS 関連のエラーがいくつかスローされるためです。
ここで、この例のために、およびそのレポ ページの例から、フォルダーを作成し、名前を付ける必要がありますSites
。これは、ユーザー アカウントのフォルダー ルートまたはホーム フォルダーに配置する必要があります。/home/your-user-account-home-folder/Sites
私の場合、(その大文字のSに注意してください)
/home/gary/Sites
A.
サンプルの dev-site/vhost を作成し、という名前の新しいフォルダーを作成し、wordpress.dev
これを vhost のドキュメント ルートとしてwordpress.dev
作成します。次に、ここにプロジェクト ファイルを追加します。以下の例を参照してください。
/home/gary/Sites/wordpress.dev
B.
次に、新しく作成した vhost の簡単なスプラッシュ ページを作成して、ブラウザーから開発サイトにアクセスしたときに、構成が宛先の vhost ルート フォルダーにリダイレクトされていることを確認できるようにします。もちろん、設定が正しければ、スプラッシュ ページが表示されます。これが私のスプラッシュページの作り方です。
ファイルを作成し、index.php
その中にいくつかのコードを入れました。
<?php echo "Success!!! Your wordpress.dev looks fine"; ?>
したがって、仮想ホストに正常に到達すると、メッセージが表示されますSuccess!!! Your wordpress.dev looks fine
次に、Vagrant Box の IP アドレスをファイルに追加し、開発サイトをそれにhosts
マッピングします。
注:は Vagrant Box のデフォルトで構成された IP アドレスです。これを好みに合わせて変更し、ファイルを更新することができます。
私の場合、次のように言います。wordpress.dev
192.168.50.4 wordpress.dev
192.168.50.4
hosts
A
10.10.10.10 wordpress.dev
- 私のホストファイルでは、
config.vm.network "private_network", ip: "10.10.10.10"
私のVagrantfileのB。
この設定は、内部を調べてVagrantfile
この行のすぐ下に移動 # Host-Only networking required for nfs shares
することで見つけることができます。
次に、そこから設定を変更し、IP と一致するようにファイルを
ip:
更新します。hosts
もう一度編集Vagrantfile
して vhost 設定を追加し、開発サイト フォルダーを指すように、これらのコード ブロックを次のように追加します。
:wordpress => {
:name => "wordpress",
:host => "wordpress.dev",
:aliases => ["wordpress.dev"],
:docroot => "/wordpress.dev"
}
コードを orig に追加すると、次のVagrantfile
ようになります。
:vhost => {
:localhost => {
:name => "localhost",
:host => "localhost",
:aliases => ["localhost.web", "dev.localhost-static.web"],
:docroot => ""
},
:wordpress => {
:name => "wordpress",
:host => "wordpress.dev",
:aliases => ["wordpress.dev"],
:docroot => "/wordpress.dev"
}
したがって、Vagrantfile
次のようになります。,
のすぐ上w
のコンマ:wordpress
と閉じ中括弧の右側に注意してください}
。別の vhost を追加するときは、wordpress
の閉じ中括弧の右側に別のコンマを追加する必要があります。}
Vagrant.configure("2") do |config|
config.vm.box = "precise32"
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
config.vm.host_name = "localhost"
config.vm.provision "chef_solo" do |chef|
chef.cookbooks_path = "cookbooks"
chef.add_recipe "vagrant_main"
#####################################
# MONGODB
# https://github.com/edelight/chef-cookbooks
#####################################
chef.add_recipe "mongodb::10gen_repo"
chef.add_recipe "mongodb::default"
#####################################
# REDIS
# https://github.com/phlipper/chef-redis
#####################################
chef.add_recipe "redis"
chef.json.merge!({
:mysql => {
:server_root_password => "root",
:server_debian_password => "root",
:server_repl_password => "root"
},
#####################################
# YOU WILL NEED TO ADD THESE DOMAINS
# TO THE LIST OF HOSTS IN YOUR LOCAL
# ENVIRONMENT FOR THESE TO BE PROPERLY
# ROUTED
#####################################
:vhost => {
:localhost => {
:name => "localhost",
:host => "localhost",
:aliases => ["localhost.web", "dev.localhost-static.web"],
:docroot => ""
},
:symfony => {
:name => "symfony",
:host => "symfony.web",
:aliases => ["symfony"],
:docroot => "/symfony/web"
},
:wordpress => {
:name => "wordpress",
:host => "wordpress.dev",
:aliases => ["wordpress"],
:docroot => "/wordpress.dev"
}
}
})
end
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3306, host: 3307
##########################################################################
# UNCOMMENT IF NFS IS DISABLED
##########################################################################
config.vm.synced_folder "~/Sites", "/vagrant"
##########################################################################
# NFS
# Enable if you have performance issues with large projects.
# see the following links for more info:
# http://forum.symfony-project.org/viewtopic.php?t=52241&p=167041#p147056
# http://docs.vagrantup.com/v2/synced-folders/nfs.html
# http://www.phase2technology.com/blog/vagrant-and-nfs/
###########################################################################
# Host-Only networking required for nfs shares
config.vm.network "private_network", ip: "10.10.10.10"
#config.vm.synced_folder "~/Sites", "/vagrant", nfs: true
config.vm.provider :virtualbox do |vb|
# # Don't boot with headless mode
# vb.gui = true
#
# # Use VBoxManage to customize the VM. For example to change memory:
vb.customize ["modifyvm", :id, "--memory", "512"]
end
end
ctrl + alt + t
を開いて入力し、 cd vagrant-lamp-development
ディレクトリをvagrant-lamp-development
フォルダーに変更して入力します。vagrant up
新しい Vhosts を追加するには、内部に新しいフォルダーを作成して/home/your-home-folder/Sites/new-project-folder
から...
手順 3B、4A、5 を繰り返します。
Vagrantfle
VM ボックスの実行中に Vhosts の変更または追加を行った場合は、端末に.. と入力
vagrant provision
して変更を有効にします。
Vagrantfile
VM Box がOFFのときに仮想ホストの変更または追加を行った場合は、端末に... と入力
vagrant up --provision
して変更を有効にします。
注:このVagrantfile
ガイドで使用されている は をダウンロードします。設定を から に変更する64-bit Precise Pangolin Basebox Base Box
ことで に変更できます。私の場合は、32 ビットのベース ボックスを既にダウンロードしていたので、これを行いました。32ビットに変更したので、再度ダウンロードする必要はありません。
変化する...
32-bit Precise Pangolin Basebox
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
に
Vagrant.configure("2") do |config|
config.vm.box = "precise32"
config.vm.box_url = "http://files.vagrantup.com/precise32.box"
Supports Multiple Vhosts
新規追加方法はこちらvhosts
.json
目的の開発サイト名に一致する新しいファイルを作成します。例: wordpress.dev
in
vagrant-lamp/data_bags/sites
だから、次のようになります...
vagrant-lamp/data_bags/sites/wordpress.json
新しく作成されたファイルを編集しwordpress.json
、以下を追加します (例のみ)。
{
"id": "wordpress",
"host": "wordpress.dev",
"aliases": [
"www.wordpress.dev"
]
}
wordpress.dev
insideという名前の新しいフォルダーを作成します。次のvagrant-lamp/public
ようになります...
vagrant-lamp/public/wordpress.dev
ファイルを編集hosts
して追加およびマップする192.168.33.10``wordpress.dev
ため、次のようになります...
192.168.33.10 wordpress.dev
これで準備完了です... vagrant を起動してvagrant up --provision
、ボックスがオフになって
いる場合は と入力します。手順を実行したときにボックスがオンになっている場合は、vagrant provision
代わりに入力します。
この後、ブラウザを起動して設定をテストし、http://wordpress.dev
.
そこにいくつかのインデックスファイルを配置してください。
皆さん、私の Linux Mint 13 (Ubuntu 12.04 ベース) 開発ボックスが壊れました。そのため、OSを最初から再インストールする必要がありました(私の悪い...偽のRAIDを使用しており、バックアップがありません)。今回はUbuntu 14.0.4 LTSベースのLinux Mint 17を使用しました。
そのため、すべてを最初から再インストールし、Web 開発環境をすばやくセットアップしました。しかし、vagrant を使用した以前の作業セットアップが機能しなくなったことが判明しました。そこで、Ubuntu 14.04 LTS で動作する別の Web 開発環境をセットアップする方法についての解決策を探しました。そして幸運なことに、別のGithubレポを使用して動作するセットアップを見つけましたCPT Server
これがあなたがそれを設定する方法です。
vagrant up
それでおしまい!最初の起動には時間がかかります。
config/config.yaml を編集して、ファイルの一番下の部分に移動するだけです。行を探して、vhost:
次のように新しい仮想ホストを挿入します。
ServerName: mydevsite.dev
ServerAlias: mydevsite.dev
DocumentRoot: /var/www/mydevsite.dev
ServerAdmin: webmaster@localhost
次に、内部に新しいフォルダーを作成しwww
、ServerName または DocumentRoot フォルダーに一致する名前を付けます。mydevsite.dev
vagrant の実行中に新しいホストを追加した場合は、これを実行します。vagrant provision
vagrant ボックスの実行中に config.yaml の上部を変更する場合は、次のようにします。vagrant reload --provision
ホスト マシンのホスト ファイルを更新することを忘れないでください。仮想ホストが vagrant の IP を指すようにします。
それだけです。
最もシンプルで直接的な Vagrant セットアップ
https://github.com/fideloper/Vaprobash
仮想ホストの作成のクイック スタートについては、「Apache Virtual Hosts Configuration」ビデオをご覧ください。
インストールする前に、好みのDBタイプのコメントを外すことを忘れないでください:)
おまけ: Sequel Pro で db に数秒で接続できる唯一の vagrant セットアップ