设置Vagrant框就像生产服务器一样

时间:2014-10-11 06:26:56

标签: linux centos vagrant lamp dedicated-server

我正在尝试学习如何使用Vagrant,以便为现有的生产服务器设置一个应该完全(如果可能)的开发环境。

这里的问题是:实现这一目标的最简单方法是什么?

我是开发人员,我可以完全访问生产服务器,但它不是由我管理的。我只是知道我在服务器周围设置网站,使用cPanel,一些WHM等等...

服务器使用Apache,MySQL和PHP运行CentOS 6.5。

有没有办法可以“导出”该服务器配置及其拥有的所有应用程序,模块,版本等...并使用它来创建一个Vagrant Box?或者是手动分析所有内容并将其写下来的问题?

如果要走的路是第二种选择,我可以在不遗漏任何内容的情况下获得有关如何做到这一点的任何建议吗?

3 个答案:

答案 0 :(得分:2)

这应该可以解决您的问题: http://www.vmware.com/products/converter

我们的想法是将您现有的生产服务器导出到可以在虚拟框中导入的图像:

答案 1 :(得分:1)

我认为没有直接的方法可以将现有的服务器配置导出到Vagrant框中,这实际上要求您将服务器克隆为Vagrant的{{{{{{{{ 3}}(例如providersOVA文件。)

AFAIK,您可能不得不手动执行此操作。我将采用的方式(至少在应用程序级别)是:

  1. 重复使用Virtualbox中预定义的CentOS 6.5 LAMP boxes之一,以避免从头开始重新安装所有软件。
  2. 如果尚未安装Vagrant Cloud,则安装Virtualbox,因为它是Vagrant的默认提供商。
  3. 制作生产apache conf/httpd.confconf/extramodules的副本(我认为这些是主要的),然后将它们导入到Vagrant框中的apache服务器中。< / LI>
  4. 使用mysqldump转储生产MySQL数据库。然后将模式和数据导入到Vagrant框中的MySQL数据库中。如果生产数据库太大而无法满足您的开发需求,请使用--no-data选项排除数据导出。 (我共享的链接上的表4.9提供了一个完整的选项列表。)
  5. 重新部署您的PHP应用程序。
  6. 一旦您对Vagrant框中的所有调整感到满意,请使用Virtualbox将新VM克隆为基准。
  7. 如上所述,这些只是应用程序级别的设置和配置。生产服务器中可能还有其他与防火墙,SSH密钥,用户权限等相关的配置,您可能需要或不需要在开发环境中复制这些配置。

    希望这有帮助。

答案 2 :(得分:0)

您可以创建该VM的流浪盒,然后使用vagrant init部署该框。以下文章介绍了如何为virtualbox VM执行此操作。本文还创建了VM,在您的情况下,vm已经存在。

Create your own vagrant box

如果您使用的是virtualbox以外的其他内容(vmware,kvm等)。你需要弄清楚如何为你的提供者做这件事。