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

Alb*_*ert 8 linux lamp centos dedicated-server vagrant

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

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

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

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

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

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

iva*_*sim 1

我认为没有直接的方法将现有服务器配置导出到 Vagrant 盒子中,这本质上需要您将服务器克隆为 Vagrant 提供程序之一支持的 VM 格式例如VirtualboxOVA的文件)。

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

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

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

希望这可以帮助。