linux – 在Vagrant中使用简单LAMP的多个vhost
我试图通过Vagrant创建一个简单的LAMP,它可以支持存储在/ var / www中的多个网站.这可以用vhosts完成.
每个项目都应以.dev结尾 无法创建每个构建,每个构建支持一个项目,每个项目都有一个数据库. 我不能用木偶或厨师做头或尾.我宁愿避免这种情况,但很乐意从回购中克隆它. 我需要一些建议或指出正确的方向. 谢谢 解决方法
Vagrant LAMP多个vhosts – 更新!
请参阅下面的更新信息 我一直在寻找如何改进我的网站开发工作流程的方法.我目前正在使用各种工具和应用程序,如主题项目中的LAMP,Webmin和Filezilla等.然后我发现了这个名为Vagrant的神奇工具的存在,在用我的项目测试之后我爱上了它并决定将它集成到我当前的本地web开发环境中.所以我进一步挖掘并搜索了如何使用我选择的基础盒Ubuntu 12.04 Precise Pangolin 32位创建和设置Vagrant的Multi Vhosts设置的可能性.搜索Google会返回很多结果,但我决定点击stackoverflow中的链接并找到了这个问题.我按照Dimitri Kouvdis的答案提到的链接,这是一个Github Repo.我测试了它并遇到了与Dimitri Kouvdis也遇到的非常类似的问题.但现在已经解决了,感谢他的评论,我让它成功了.但是在我寻找具有多个虚拟支持的理想Vagrant Box的过程中,我搜索并测试了几个来自Github的回购,直到我找到了合适的一个,我找到了一个.我之所以追捕这些回购,是因为我还不知道如何使用Puppet和Chef来配置我自己的开发服务器,这就是原因. 我找到了另一个为我工作的Github Repo 感谢这个回购 onema / vagrant-lamp-development https://github.com/onema/vagrant-lamp-development 测试Github Repo Dimitri Kouvdis曾提到,我遇到了几个问题,在那段时间我停止了工作,并决定从Github搜索类似的回购.我发现了几个并测试了其中一些,包括Nino Paolo的Repo(https://github.com/paolooo/vagrant-lamp).在流浪中我特意再次遇到了几个问题.我再次决定寻找另一个,直到我找到并成功设置onema的回购.我最终决定在我的Web开发实践环境中使用并将此解决方案集成到我当前的工作流程中.我开始喜欢onema的回购,因为; >它易于设置,因为说明易于遵循,特别适合像我这样的新手和自学者. 如何设置 – 对于像我这样的初学者和自学者 正如我上面提到的那样,通过阅读并遵循从Github Repo页面找到的指令,设置很容易(特别是对于新手和像我这样的自学者). – https://github.com/onema/vagrant-lamp-development.您可以选择使用下载的zip file或选择使用git clone https://github.com/onema/vagrant-lamp-development将Vagrant文??件复制到本地驱动器. 这就是我设置它的方式(在我的* nix机器中,Ubuntu 12.04 x64); >使用下载的zip文件或git将文件下载到本地驱动器,然后执行基本的Vagrant和VirtualBox设置.阅读Github Page的说明,并执行以下步骤. 所以,它现在看起来像这样…… #config.vm.synced_folder“?/ Sites”,nfs:true 然后评论出来…… #config.vm.synced_folder“?/ Sites”,“/ vagrant” line:来自orig Vagrantfile的140 所以,它现在看起来像这样…… config.vm.synced_folder“?/ Sites”,“/ vagrant” 我这样做是因为在我的机器中,在流浪中,它会抛出几个与我无法理解的NFS相关的错误. > A.创建示例dev-site / vhost并创建一个名为wordpress.dev的新文件夹,并将其作为vhost wordpress.dev的文档根目录,然后在此处添加项目文件.见下面的例子; /home/gary/Sites/wordpress.dev <?php echo“成功!!!你的wordpress.dev看起来很好”; ?>所以当你成功到达你的vhost时,你会受到成功!!!你的wordpress.dev看起来很好 > A 10.10.10.10 wordpress.dev – 在我的主机文件中,而 >再次编辑您的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",:docroot => "/wordpress.dev" } 所以你的Vagrantfile现在看起来像下面这个;注意逗号,正好在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",:docroot => "" },:symfony => { :name => "symfony",:host => "symfony.web",:aliases => ["symfony"],:docroot => "/symfony/web" },:wordpress => { :name => "wordpress",: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 >您现在已准备好启动Vagrant Box,打开终端窗口 >要添加新Vhost,只需在/ home / your-home-folder / Sites / new-project-folder中创建一个新文件夹,然后…… >重复步骤3B,4A,5 更改… 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" DONE! 其他Vagrant LAMP回购我已经测试过工作 – 但不一定支持多个虚拟主机 > r8/vagrant-lamp支持多个虚拟主机 其他Vagrant LAMP回购 > Vagrant LAMP Repo 如果你想使用R8的Vagrant-LAMP Repo – For Multi Vhosts目的 r8/vagrant-lamp 以下是添加新虚拟主机的方法 >创建一个匹配所需开发站点名称的新.json文件,例如:vagrant-lamp / data_bags / sites中的wordpress.dev { "id": "wordpress","host": "wordpress.dev","aliases": [ "www.wordpress.dev" ] } >在vagrant-lamp / public中创建一个名为wordpress.dev的新文件夹,它看起来像…… 更新:从Github添加了新的存储库. 伙计们,我的Linux Mint 13(基于Ubuntu 12.04的)开发盒破了.这就是为什么我不得不重新安装我的操作系统(我的坏…使用假RAID和没有备份).但是这一次,我使用的是基于Ubuntu 14.0.4 LTS的Linux Mint 17. 所以我从头开始重新安装了所有东西,并快速设置我的Web Dev环境.但事实证明,我以前使用vagrant的工作设置不再有效.所以我搜索了如何设置另一个可以与Ubuntu 14.04 LTS一起使用的Web开发环境的解决方案.幸运的是,我找到了一个使用另一个名为CPT Server的Github repo的工作设置 安装程序 所以这就是你如何设置的. >克隆此回购:cptserver 而已!首次启动需要很长时间. 添加新的虚拟主机很容易 只需编辑config / config.yaml并转到文件的最底部.查找vhost:行并插入新的虚拟主机,如下所示: ServerName: mydevsite.dev ServerAlias: mydevsite.dev DocumentRoot: /var/www/mydevsite.dev ServerAdmin: webmaster@localhost 然后在www中创建一个新文件夹,并将其命名为与ServerName或DocumentRoot文件夹mydevsite.dev匹配 如果你在vagrant运行时添加了一个新主机,那么就这样做吧;流浪者提供 不要忘记更新主机的hosts文件,将vhost指向vagrant的ip. 就是这样了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |