Мне нужна среда для тестирования и разработки для Интернета с использованием Apache, PHP и MySQL. Мне нужно иметь возможность протестировать одно веб-приложение с несколькими версиями PHP (5.2, 5.3 и т.д.) и несколькими версиями MySQL (5.0, 5.1, 5.5 и т.д.). Он должен быть размещен на сервере 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 студентов, которые разрабатывают веб-приложения, и у них есть каталог, в котором они хранят весь свой код (HTML, CSS, PHP, SQL и т. Д.). Я хотел бы дать им простой способ протестировать свои приложения на различных версиях PHP и MySQL. На данном этапе нет необходимости иметь разные версии httpd-сервера Apache.
ОБНОВИТЬ (не могу использовать порты для установки): я не могу использовать порты для обновления программного обеспечения. Мне может потребоваться установить очень конкретную версию, например MySQL, чтобы выполнить детальное тестирование с использованием этой конкретной версии. Похоже, что компиляция из исходников была бы единственной альтернативой.
Используйте тюрьмы FreeBSD. Это похоже на запуск нескольких экземпляров FreeBSD на одной установке FreeBSD.
Прочтите о тюрьмах FreeBSD в руководстве FreeBSD:
Это должно сработать, хотя для его настройки потребуется некоторое усердие.
Хотя это может быть возможно с помощью отдельных файлов конфигурации, я рекомендую иметь полный экземпляр всего стека для каждого механизма тестирования, потому что он лучше всего воспроизводит реальную ситуацию, которую вы пытаетесь протестировать.
Вы можете настроить nginx прокси / механизм перезаписи для управления трафиком. Вы также можете настроить "виртуальные хосты", т.е. иметь один IP-адрес для каждой желаемой конфигурации. Или вы можете использовать оба варианта.