Melhor maneira de instalar múltiplas versões do Apache, PHP e MySQL em um único host FreeBSD

3

Eu quero um ambiente de teste e desenvolvimento para web usando Apache, PHP e MySQL. Eu preciso ser capaz de testar uma única aplicação web com várias versões do PHP (5.2, 5.3, etc) e várias versões do MySQL (5.0, 5.1, 5.5, etc). Ele deve ser hospedado em um servidor do FreeBSD.

Minha idéia é compilar cada versão em uma estrutura de diretórios e executá-los em portnumbers separados. Por exemplo:

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)

Quaisquer pensamentos ou sugestões sobre a melhor maneira de configurar este tipo de ambiente?

UPDATE (informações básicas): O ambiente seria para a educação. Eu tenho x00 alunos que desenvolvem webapplications e eles têm um diretório onde eles armazenam todo o seu código (HTML, CSS, PHP, SQL etc). Eu gostaria de dar a eles uma maneira fácil de testar seus aplicativos em várias versões do PHP e MySQL. Não há necessidade, neste estágio, de ter versões diferentes do servidor httpd do Apache.

UPDATE (não pode usar Portas para instalação): Não consigo usar portas para manter o software atualizado. Eu poderia precisar instalar uma versão muito específica, por exemplo, MySQL, para executar alguns testes detalhados usando esta versão em particular. Parece que compilar a partir da fonte seria a única alternativa.

    
por Mikael Roos 26.05.2010 / 17:16

2 respostas

3

Use as cadeias do FreeBSD. É como executar múltiplas instâncias do FreeBSD em uma única instalação do FreeBSD.

Leia sobre as cadeias do FreeBSD no manual do FreeBSD:

link

    
por 26.05.2010 / 17:40
1

Isso deve funcionar, embora algumas diligências sejam necessárias para configurá-lo.

Embora possa ser possível através de arquivos de configuração separados, eu recomendo ter uma instância completa de toda a pilha para cada organização de teste, porque ela irá replicar melhor a situação do mundo real que você está tentando testar.

Você pode configurar o mecanismo de proxy / reescrita nginx para gerenciar o tráfego. Você também pode configurar " hosts virtuais ", ou seja, ter um IP único para cada configuração desejada. Ou você pode querer fazer as duas coisas.

    
por 26.05.2010 / 17:43