在单个 FreeBSD 主机上安装多个版本 Apache、PHP 和 MySQL 的最佳方法

在单个 FreeBSD 主机上安装多个版本 Apache、PHP 和 MySQL 的最佳方法

我想要一个使用 Apache、PHP 和 MySQL 的 Web 测试和开发环境。我需要能够使用多个版本的 PHP(5.2、5.3 等)和多个版本的 MySQL(5.0、5.1、5.5 等)测试单个 Web 应用程序。它应托管在 FreeBSD 服务器上。

我的想法是将每个版本编译成一个目录结构,并在单独的端口号上运行它们。例如:

opt/apache2.2-php5.2-mysql-5.0 
(httpd on port 8801, mysql on port 8802)
(directory contains each software, compiled and linked towards eachother)

opt/apache2.2-php5.3-mysql-5.1 
(httpd on port 8803, mysql on port 8804)
(and so on)

对于如何最好地设置此类环境,您有什么想法或建议吗?

更新(背景信息):该环境将用于教育。我有 x00 名开发 Web 应用程序的学生,他们有一个目录来存储所有代码(HTML、CSS、PHP、SQL 等)。我想为他们提供一种简单的方法,让他们能够在各种版本的 PHP 和 MySQL 上测试他们的应用程序。目前,没有必要拥有不同版本的 Apache httpd 服务器。

更新(无法使用 Ports 进行安装):我无法使用 Ports 来保持软件更新。我可能需要安装特定版本(例如 MySQL),以便使用此特定版本执行一些详细测试。似乎从源代码编译是唯一的选择。

答案1

使用 FreeBSD jails。这就像在单个 FreeBSD 安装上运行多个 FreeBSD 实例。

阅读 FreeBSD 手册中有关 FreeBSD jails 的信息:

http://www.freebsd.org/doc/en/books/handbook/jails.html

答案2

这应该是可行的,尽管需要一些努力来设置它。

虽然可以通过单独的配置文件实现,但我建议为每个测试安排提供整个堆栈的完整实例,因为它可以最好地复制您要测试的真实世界情况。

您可能需要设置nginx代理/重写引擎来管理流量。您可能还想设置“虚拟主机“,即每个所需配置都有一个 IP。或者您可能想要同时执行这两项操作。

相关内容