Pular para o conteúdo

Parte 2 - Criando um servidor web com apache e múltiplas versões do PHP

Introdução

Na Parte 1 da serie, Criando um servidor web com apache e múltiplas versões do PHP, abordamos a crescente demanda por aplicações legadas convivendo com sistemas modernos, essa situação exige ambientes flexíveis, capazes de executar versões distintas do PHP sem comprometer estabilidade, desempenho e segurança. Marco, para muitos administradores de infraestrutura, essa necessidade costuma gerar ambientes confusos e mal documentados. Porém, quando a configuração é feita com precisão, o resultado é extremamente vantajoso: mais controle, mais compatibilidade e menos retrabalho.

O objetivo desta publicação é conduzir você, profissional de TI, pela instalação e inicialização de duas versões do PHP – 7.4 e 8.2 – utilizando Apache2 com FPM. Cada ação será apresentada de maneira clara, explicada e orientada para que você saiba exatamente o que está fazendo e por quê.

Instalação do PHP 8.2 e seus módulos essenciais

Antes de aplicar qualquer configuração de múltiplas versões, é importante garantir que a versão mais recente esteja corretamente instalada. Essa etapa assegura compatibilidade com aplicações modernas, além de desempenho aprimorado.

Execute a seguinte ação:

sudo apt install -y php8.2 \
​​php8.2-fpm \
​php8.2-fpm \
​libapache2-mod-php8.2 \
​php8.2-soap \
​​php8.2-{redis, \
​​zip, \​​​
​​bcmath, \
​xmlrpc, \ 
​​ldap, \ 
​​apcu, \ 
​​cli, \ 
​mysql, \ 
​​imap, \
​​intl, \ 
cgi, \
​​bz2, \
​​zip, \
​mbstring, \
​​gd, \
​curl, \
​xml, \
​​common, \
​opcache, \
imagick}​​​​  


Instalação do módulo FCGI para o Apache

Para que múltiplas versões do PHP funcionem corretamente no mesmo servidor, o Apache precisa do mod_fcgid, responsável por intermediar chamadas entre o servidor web e instâncias distintas do PHP-FPM. Sem este módulo, o Apache não conseguiria redirecionar requisições para diferentes versões do PHP de forma isolada.

Execute a seguinte ação:

	​sudo apt install -y libapache2-mod-fcgid


Instalação do PHP 7.4 e seus módulos complementares

A versão 7.4 permanece amplamente utilizada por sistemas legados, especialmente em aplicações corporativas que ainda não migraram para versões superiores do PHP. A convivência dessa versão com a 8.2 no mesmo servidor exige que ambas estejam instaladas com seus módulos completos, assegurando funcionamento estável e previsível.

Execute a seguinte ação:

sudo apt install -y php7.4 \
​​php7.4-fpm \
​php7.4-fpm \
​libapache2-mod-php7.4 \
​php7.4-soap \
​​php7.4-{redis, \
​​zip, \​​​
​​bcmath, \
​xmlrpc, \ 
​​ldap, \ 
​​apcu, \ 
​​cli, \ 
​mysql, \ 
​​imap, \
​​intl, \ 
cgi, \
​​bz2, \
​​zip, \
​mbstring, \
​​gd, \
​curl, \
​xml, \
​​common, \
​opcache, \
imagick}​​​​


Atualização do sistema e reinicialização automática

Após adicionar múltiplas versões do PHP e seus módulos, é imprescindível garantir que todos os componentes do sistema estejam alinhados com as versões mais recentes fornecidas pelos repositórios. Essa prática reduz inconsistências e previne falhas inesperadas em serviços dependentes.

O comando abaixo realiza uma atualização completa e, caso o kernel ou componentes críticos exijam uma reinicialização, ele fará isso automaticamente. Trata-se de um procedimento seguro e recomendado para ambientes que acabaram de receber novas dependências.

Execute a seguinte ação:

sudo apt update && apt upgrade -y \
&& [ -f /run/reboot-required ] && reboot -f


Inicialização e habilitação dos serviços PHP-FPM

Agora que o sistema está atualizado, precisamos garantir que o PHP 7.4 e o PHP 8.2 estejam em operação. O PHP-FPM é o responsável por tratar requisições de forma independente, permitindo que duas versões funcionem paralelamente sem conflito.

O comando abaixo faz três movimentos importantes:

  1. Inicia os serviços PHP-FPM das duas versões.
  2. Configura ambos para iniciarem automaticamente no boot.
  3. Exibe o status de todas as instâncias PHP presentes no sistema, permitindo verificar rapidamente se algo está fora do esperado.

Execute a seguinte ação:

sudo systemctl start php7.4-fpm php8.2-fpm && \
​ systemctl enable php7.4-fpm php8.2-fpm && \
​ systemctl status php*


Ativação dos módulos essenciais no Apache

Para que o Apache consiga delegar corretamente as requisições a cada versão do PHP-FPM, alguns módulos precisam estar habilitados. Cada um deles cumpre uma função específica:

actions permite definir handlers personalizados que encaminham requisições para diferentes interpretadores.

rewrite possibilita reescrita de URLs, essencial em aplicações modernas.

fcgid faz a ponte entre Apache e processos externos como o PHP-FPM.

alias permite criar caminhos lógicos para diretórios e aplicações.

proxy_fcgi realiza a comunicação direta com o FastCGI do PHP-FPM.

setenvif auxilia na definição de variáveis de ambiente baseadas em condições específicas.

A combinação desses módulos cria a base necessária para gerenciar ambientes complexos com múltiplas versões do PHP funcionando simultaneamente.

Execute a seguinte ação:

sudo a2enmod actions rewrite fcgid alias proxy_fcgi setenvif && \
​ systemctl restart apache2


Por que essa configuração vale muito a pena: vantagens reais para você e sua infraestrutura

Com a conclusão de todo o processo — instalação das versões 7.4 e 8.2 do PHP, módulos essenciais, FPM, Apache configurado para múltiplas versões — você agora dispõe de um ambiente robusto, flexível e preparado para diferentes cenários de aplicação. Eis os ganhos concretos:

  • Compatibilidade garantida com sistemas legados que exigem PHP 7.4 sem comprometer o uso de versões modernas como 8.2 em novos projetos.
  • Redução drástica de retrabalho: não será necessário montar múltiplos servidores só para rodar versões diferentes do PHP.
  • Facilidade para migrações graduais: você pode manter sistemas antigos operando com segurança, ao mesmo tempo em que desenvolve novos sistemas com a versão mais recente.
  • Maior controle e previsibilidade: com PHP-FPM e Apache bem configurados, há isolamento entre versões, evitando conflitos de dependências ou extensões.
  • Agilidade na manutenção e atualizações: a estrutura modular facilita upgrades, rollback e ajustes sem impacto massivo.

Esse tipo de configuração traz resultados imediatos e estratégia de longo prazo, ideal para equipes de TI que buscam eficiência operacional, flexibilidade e confiabilidade.

Importante: A instalação apresentada neste tutorial descreve apenas o procedimento básico para implantação do PHP8.2 e PHP7.2. É fundamental destacar que ambientes de produção exigem configurações adicionais que não foram abordadas aqui, especialmente no que envolve segurança, hardening, otimização de desempenho, integração com outros serviços, aplicação de boas práticas corporativas e personalizações alinhadas às necessidades específicas de cada cliente.

A ausência dessas etapas pode gerar vulnerabilidades, indisponibilidade ou falhas operacionais que impactam diretamente a continuidade do negócio. Por isso, reforço a necessidade de contar com um profissional qualificado para avaliar o cenário, estruturar a arquitetura apropriada e aplicar configurações avançadas de forma segura e eficiente.


Precisa de Consultoria?

Caso a sua empresa esteja planejando implantar, modernizar ou revisar a arquitetura de hospedagem das aplicações, disponibilizo uma análise técnica gratuita para avaliar a estrutura atual, identificar riscos operacionais e propor melhorias alinhadas às boas práticas de infraestrutura.

Entre em contato agora

Compartilhar esta publicação
Marcadores
Nossos blogs