HTTP / 2 no CentOS 7 no Apache com PHP7

7

Após algumas pesquisas, não consigo encontrar resposta para: Como atualizar o Apache / httpd para a versão mais recente para usar o protocolo HTTP / 2 no meu VPS. Estou usando o PHP7 & meu servidor baseado no Apache - CentOS 7.

Nenhuma atualização de pacote no repositório de padrões do CentOS.

[root@vps270238 ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov 19 2015 21:43:13

Eu realmente quero manter minhas configurações reais e hosts virtuais.

    
por Damian Bartelmus 05.05.2016 / 02:53

2 respostas

9

Você precisa do Apache 2.4.18 ou superior para ativar o HTTP / 2, embora alguns recomendem um mínimo de Apache 2.4.23 como muitas mudanças no mod_http2 desde então (discutido mais abaixo). Isso também requer algum software de terceiros (nghttp2 e uma versão recente do openssl)

Os repositórios padrão do Centos são baseados no Red Hat, que prioriza a estabilidade e não os recursos mais recentes. Por isso, muitas vezes ficam atrasados nas versões (embora mantenham-se atualizados com os patches de segurança - mesmo que deixem o número da versão igual para isso).

Além disso, o módulo mod_http2 ainda está sendo muito modificado ( quase diariamente se você olhar para os seus lançamentos !), então é ainda bastante vanguardista - embora não tenha tido problemas de estabilidade nos meses em que o rodei.

Por essa razão, eu pessoalmente acho que a melhor maneira de usar o http / 2 no Apache é compilar a versão mais recente a partir do código-fonte. Isso não é isento de riscos, é claro. Para começar, você perde a proteção do fácil de atualizar os patches de segurança mencionados acima, então pode ser necessário atualizar com mais frequência para ficar em cima deles (não é ruim, na minha opinião). Além disso, você deve verificar o código-fonte antes de instalá-lo (especialmente para um aplicativo como o Apache, que é executado, pelo menos inicialmente, como root). Então não é uma decisão a ser tomada de ânimo leve.

Dizendo que, se você deseja continuar, a instalação a partir do código-fonte não é tão difícil quanto parece. Tenho uma postagem no blog sobre como fazer e também uso o Centos. Eu não uso PHP, então não tenho certeza se você precisa de alguma opção de compilação extra para isso.

Note também que, por padrão, o Apache irá instalar em / usr / local / apache2. Isso é bom, pois permite que você mantenha sua instalação original (caso você precise reverter), mas significa que você precisa copiar qualquer configuração em / usr / local / apache2 / conf, parar o Apache antigo (inclusive em qualquer script de inicialização) e reinicie o novo Apache a partir do novo local.

    
por 05.05.2016 / 09:09
0

Dica rápida. Use nginx como proxy reverso e ative o httpd / 2 a partir dele. E você manterá todos os seus vhosts e htaccess.

    
por 05.05.2016 / 06:46