我想构建一个“理想的”灯泡开发堆栈。
我的想法是,它是一个可以管理的可管理服务器,并提供全局配置的东西,如APC,Memcached,XDebug等。然后通过移动到每个项目的子集,我可以允许我的用户快速控制他们的各种项目的环境。
基本上我建议开发人员在他们自己的机器上运行自己的堆栈的典型系统,但是集中。通过这种方式,我希望避免像跨操作系统代码问题,数据库不一致,产生错误的安装略有不同等问题。
我很高兴在源代码的自定义构建中管理它,但是如果可能的话,通过某种包管理来管理它的很大一部分会很棒。我们通常使用CentOS,所以yum?
以前有没有人建造过这样的东西?是否有类似于我所描述的交钥匙?是否有任何有用的指南我应该阅读,以便建立这样的东西?
答案 0 :(得分:3)
好吧,我在以前的工作中运行开发LAMP设置的方式是这样的。运行MySQL和Apache的单个服务器。每个开发人员都在服务器上分配了一个IP地址(该计算机在同一个接口上运行多个IP,所有IP都位于同一子网上),因此每个开发人员至少可以拥有一个基于IP的虚拟主机,并且每个开发人员都可以使用他们想要(我们的网站使用SSL,因此我们需要单独的IP,无需使用SSL,您可以使用单个IP和基于名称的虚拟主机)。我们有本地DNS服务器以这种方式为每个开发人员提供通配符A记录* .john.dev.company IN A 10.1.1.123,其中10.1.1.123是分配给John的IP地址。通过这种方式,John可以根据需要定义尽可能多的基于名称的虚拟主机,只要它们都以john.dev.company结尾(如project1.john.dev.company),它们都将被正确解析。每个开发人员都有自己的apache配置文件及其虚拟主机,我们使用Include指令将所有这些文件提取到主Apache配置中。权限已设置,因此这些配置文件可由相应的开发人员编辑,并且每个开发人员都在其主目录中具有指向其配置的软链接。此外,每个开发人员都被允许使用sudo重启Apache。这种设置的缺点是偶尔一个特定的开发人员会通过搞砸他们的配置文件来崩溃整个服务器。我们使用了通用数据库,因为每个人都在处理单个项目,但设置多个单独的数据库并不困难。
答案 1 :(得分:0)
我对这个问题的看法,我不认为它涵盖了你的所有要求,但它非常接近: