Назад | Перейти на главную страницу

Лучший способ установить несколько версий Apache, PHP и MySQL на одном хосте FreeBSD

Мне нужна среда для тестирования и разработки для Интернета с использованием 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:

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

Это должно сработать, хотя для его настройки потребуется некоторое усердие.

Хотя это может быть возможно с помощью отдельных файлов конфигурации, я рекомендую иметь полный экземпляр всего стека для каждого механизма тестирования, потому что он лучше всего воспроизводит реальную ситуацию, которую вы пытаетесь протестировать.

Вы можете настроить nginx прокси / механизм перезаписи для управления трафиком. Вы также можете настроить "виртуальные хосты", т.е. иметь один IP-адрес для каждой желаемой конфигурации. Или вы можете использовать оба варианта.