【问题标题】:Set up Vagrant box exactly like production server像生产服务器一样设置 Vagrant box
【发布时间】:2014-12-06 08:29:27
【问题描述】:

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

这里的问题是:最简单的方法是什么?

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

服务器运行带有 Apache、MySQL 和 PHP 的 CentOS 6.5。

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

如果要走的路是第二种选择,我可以就如何做到这一点获得任何建议而不会遗漏任何东西吗?

【问题讨论】:

    标签: linux centos vagrant lamp dedicated-server


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我认为没有直接的方法可以将现有的服务器配置导出到 Vagrant 框中,本质上,这需要您将服务器克隆为 Vagrant 的providers 之一支持的 VM 格式(例如 @ 987654330@ 文件为Virtualbox)。

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

      1. 重复使用Vagrant Cloud 中的预定义CentOS 6.5 LAMP boxes 之一,以避免从头开始重新安装所有软件。
      2. 如果尚未安装 Virtualbox,请安装它,因为它是 Vagrant 的默认提供程序。
      3. 复制您的生产 apache conf/httpd.conf、conf/extra 和 modules(我认为这些是主要的),并将它们导入 Vagrant 框中的 apache 服务器。
      4. 使用 mysqldump 转储生产 MySQL 数据库。然后将模式和数据导入 Vagrant 框中的 MySQL 数据库。如果您的生产数据库对于您的开发需求来说太大,请使用--no-data 选项排除数据导出。 (我分享的那个链接上的表 4.9 提供了一个完整的选项列表。)
      5. 重新部署您的 PHP 应用程序。
      6. 一旦您对 Vagrant box 中的所有调整感到满意,请使用 Virtualbox 克隆新 VM 作为基准。

      如前所述,这些只是应用程序级别的设置和配置。您的生产服务器中可能还有其他与防火墙、SSH 密钥、用户权限等相关的配置,您可能需要也可能不需要在开发环境中复制这些配置。

      希望这会有所帮助。

      【讨论】:

      • 非常感谢您的回答。我有几个问题: 5. 这一步有什么用,我该如何完成? 6. 我不知道use Virtualbox to clone the new VM as a baseline 是什么意思。该基线是做什么用的?
      • #5 是指您需要部署到apache httpd 的任何应用程序。第 5 步有一些简单的说明here。至于#6,一旦你启动了你的 Vagrant 盒子,你可以在 Virtualbox 中看到它的实例。然后您可以按照这些instructions 创建您的盒子的快照。
      • 谢谢!那么对于 PHP 配置,假设安装了相同的模块,我可以只复制 PHP.ini 文件吗?
      • 是的。你应该可以把它复制过来。
      【解决方案3】:

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

      Create your own vagrant box

      如果您使用的不是 virtualbox(vmware、kvm 等)。您需要弄清楚如何为您的提供商做这件事。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多