小编Mic*_*l X的帖子

是否有一种简化的方法可以从现有的 CentOS 5.10 服务器导出设置以进行本地 Vagrant 配置?(人偶、厨师、贝壳或其他)

我最近开始学习如何使用 Vagrant 来启动本地开发环境。(在对各种 WAMP 堆栈选项感到沮丧之后)到目前为止,Vagrant 很棒……学习曲线很小,但从长远来看看起来很有希望。

在尝试使我的 VM 看起来像我的在线服务器的乏味过程之后……在我看来,Vagrant 缺少了一个部分。现在的过程似乎或多或少像手动试错。第一次快速设置或轻松保持与上游服务器同步的理想选择。

诚然,我可能不确切知道我在寻找什么......因此问题。

是否有一种简化的方法可以从现有的 CentOS 5.10 服务器导出设置以进行本地 Vagrant 配置?(人偶、厨师、贝壳或其他)

这样的事情是我所设想的......

(连接到在线服务器...)

  1. 检测 repo 差异并根据需要启用、禁用、添加本地。
  2. 检测包,并同步本地匹配。(从本地安装或删除)
  3. 获取 httpd.conf,调整本地(如果需要)并同步。
  4. 获取 php.ini,调整本地(如果需要)并同步。
  5. 获取 MySQL 设置,调整本地(如果需要)并同步。
  6. 获取时区并同步。
  7. [您对应该同步的其他内容的建议在这里欢迎...]

理想情况下,这将在配置期间运行,并且基本上保持本地版本与在线版本同步。这将消除不断手动调整本地设置以保持同步的需要。如果某些内容在线更改(由主机或内部)......它会自动传播。(当然,理想情况下,您可以标记设置以根据您的需要调整行为)

或者,我想如果我可以在不打包各种用户特定数据的情况下打包在线服务器,那也可以。但是,据我所知,这似乎不太可能……而且效率肯定不会很高。

警告

就我个人而言,我使用的是带有 cPanel 的 CentOS 5.10 服务器。cPanel 似乎在服务器端做了很多不一定立即显而易见的事情。一个例子是许多包名称以 cPanel 开头,看起来是专有的,但同时与我可能想要同步的内容相关。(例如cpanel-php53)据我目前所知,这些不能轻易同步......因此需要采取变通办法。另一个例子可能与预期的路径不同,但我不太确定,因为我对 CentOS 和 cPanel 的默认安装不够熟悉,无法确定任何特性。

到目前为止我所做的...

在我决定询问是否有更好的方法可以与 Vagrant 更紧密地合作之前,我做了一些事情。这并不可怕,但并不真正“精简”或全面。以下是详细信息...

  1. 我学会了如何yum repolist all在两台机器上运行以及如何使用 来查看文件系统中的 repos cd /etc/yum.repos.d; ll;,但没有学习如何使用此信息自动同步 repos。

  2. 我写了一个 shell 脚本来让本地的包与远程的包非常接近。然而,虽然它做得很好,但它并不完美,我想知道是否有更好的方法。问题...

    • 我不确定是否允许删除本地独有的软件包。(另外,抛出一些错误)
    • 除了从安装列表中完全删除每个包之外,我还没有弄清楚如何补偿以“cpanel”为前缀的包,这些包似乎是我真正想要的(PHP、MySQL 等)的替代品。
    • 这不能作为 Vagrant 供应商运行,因为它本质上需要用户输入。同样,运行此程序并删除“本地独有”的软件包将消除先前在配置期间运行的 yum 安装。

 

#!/usr/bin/env bash

# This script …
Run Code Online (Sandbox Code Playgroud)

shell centos puppet chef vagrant

4
推荐指数
1
解决办法
222
查看次数

标签 统计

centos ×1

chef ×1

puppet ×1

shell ×1

vagrant ×1