理想的开发环境

我们有一个基于Linux的开发服务器,我们从基于Windows的桌面(通过ssh,scp,samba(映射networking驱动器)等)连接到服务器,

我们在perl中使用apache2,mod_perl和MySQL进行web开发,我们的代码库在SVN源代码控制下。

允许所有(目前是5)开发人员独立开发的最佳方法是什么?

在过去,我经历过运行Apache的多个实例(可以通过攻击Apache的源代码和编译来实现)

但也许最好是使用虚拟化,并有效地给每个开发者自己的开发服务器(虽然看起来有点矫枉过正)

如果我只运行apache的一个实例,将传入的请求redirect到正确的代码库的最好方法是什么? 港口? 子域名? 客户端的IP地址?

谢谢

虚拟机对于这种事情非常有用 – 每个开发人员都可以工作,而不用担心别人的方式,而且他们可以在系统configuration变化的情况下玩耍,以便在必要时支持新的代码。 使用主虚拟机映像或configurationpipe理可以轻松维护生产环境。

我实际上会推荐使用Apache内置的VirtualHost函数。 通过使用基于名字的虚拟主机,你可以运行一个完全不同的根代码库的Apache实例。 他们将不得不有每个用户拥有自己的域名,但这不应该是一个问题。 你会最终得到像这样的东西:

mark.dev.example.com james.dev.example.com julia.dev.example.com 

由于您已经有了SVN服务器设置,您可以为每个用户创build一个独立的存储库,当它们在那里完成工作时,它们可以合并回主干线。 你也可以使用SSL来完成SSL,但是如果你想使用相同的证书,它需要是一个通配符或者包含所有的附加地址。

从版本1.x和版本2.x,您都可以从apache网站获得有关基于名称的虚拟主机的更多信息

你也可以给开发者自己的MySQL数据库,而不需要运行额外的数据库(我假设你的软件可以指定连接到主机的数据库的名字)。