Capítulo 1. Configurando o servidor web Apache HTTP
1.1. Introdução ao servidor web Apache HTTP Copiar o linkLink copiado para a área de transferência!
Um web server é um serviço de rede que serve conteúdo para um cliente através da web. Isso normalmente significa páginas web, mas quaisquer outros documentos também podem ser ser servidos. Os servidores web também são conhecidos como servidores HTTP, pois utilizam o hypertext transport protocol (HTTP).
O Apache HTTP ServerA Apache Software Foundation, httpd, é um servidor web de código aberto desenvolvido pela Apache Software Foundation.
Se você estiver atualizando a partir de um lançamento anterior do Red Hat Enterprise Linux, você precisará atualizar a configuração do serviço httpd de acordo. Esta seção revisa alguns dos recursos recém-adicionados e o orienta através da atualização dos arquivos de configuração anteriores.
1.1.1. Mudanças notáveis no Servidor HTTP Apache Copiar o linkLink copiado para a área de transferência!
O Apache HTTP ServerEsta versão atualizada inclui várias características novas, mas mantém compatibilidade com a versão RHEL 7 no nível de configuração e Interface Binária de Aplicação (ABI) dos módulos externos.
As novas características incluem:
-
HTTP/2agora é fornecido pelo pacotemod_http2, que faz parte do módulohttpd. -
é suportada a ativação do soquete systemd. Consulte a página de manual
httpd.socket(8)para mais detalhes.
Múltiplos novos módulos foram adicionados:
-
mod_proxy_hcheck- um módulo de verificação de saúde por procuração -
mod_proxy_uwsgi- um proxy de interface Web Server Gateway (WSGI) -
mod_proxy_fdpass- fornece suporte para a passagem do soquete do cliente para outro processo -
mod_cache_socache- um cache HTTP usando, por exemplo, o backend memcache -
mod_md- um serviço de certificado do protocolo ACME SSL/TLS
-
Os seguintes módulos agora são carregados por padrão:
-
mod_request -
mod_macro -
mod_watchdog
-
-
Um novo subpacote,
httpd-filesystem, foi adicionado, que contém o layout básico do diretório para o Apache HTTP Server incluindo as permissões corretas para os diretórios. -
O suporte de serviço instantâneo,
httpd@.servicefoi introduzido. Veja a página de manualhttpd.servicepara mais informações.
-
Um novo
httpd-init.servicesubstitui o%post scriptpara criar um par de chaves autoassinadomod_ssl.
-
O provisionamento e renovação automatizada de certificados TLS usando o protocolo ACME (Automatic Certificate Management Environment) é agora suportado com o pacote
mod_md(para uso com provedores de certificados comoLet’s Encrypt). -
O Apache HTTP Server agora suporta o carregamento de certificados TLS e chaves privadas a partir de tokens de segurança de hardware diretamente dos módulos
PKCS#11. Como resultado, uma configuraçãomod_sslpode agora usarPKCS#11URLs para identificar a chave privada do TLS e, opcionalmente, o certificado TLS nas diretivasSSLCertificateKeyFileeSSLCertificateFile. Uma nova diretiva
ListenFreeno arquivo/etc/httpd/conf/httpd.confé agora suportada.De forma similar à diretiva
Listen,ListenFreefornece informações sobre endereços IP, portas ou endereços IP - e combinações de portas que o servidor ouve. Entretanto, comListenFree, a opção de soqueteIP_FREEBINDé ativada por padrão. Assim,httpdé permitido vincular a um endereço IP não local ou a um endereço IP que ainda não existe. Isto permite quehttpdescute em um socket sem exigir que a interface de rede subjacente ou o endereço IP dinâmico especificado esteja em alta no momento em quehttpdestiver tentando ligar-se a ele.Note que a diretiva
ListenFreeestá atualmente disponível apenas na RHEL 8.Para mais detalhes em
ListenFree, consulte a tabela a seguir:Expand Tabela 1.1. Sintaxe, status e módulos da diretriz ListenFree Sintaxe Status Módulos ListenFree [IP-address:]número de porta [protocolo]
MPM
evento, trabalhador, prefork, mpm_winnt, mpm_netware, mpmt_os2
Outras mudanças notáveis incluem:
Os seguintes módulos foram removidos:
-
mod_file_cache mod_nssUse
mod_sslcomo um substituto. Para detalhes sobre a migração demod_nss, veja Seção 1.10, “Exportar uma chave privada e certificados de um banco de dados NSS para utilizá-los na configuração de um servidor web Apache”.-
mod_perl
-
-
O tipo padrão do banco de dados de autenticação DBM utilizado pelo Apache HTTP Server no RHEL 8 foi alterado de
SDBMparadb5. -
O módulo
mod_wsgipara o Apache HTTP Server foi atualizado para Python 3. As aplicações WSGI agora são suportadas somente com Python 3, e devem ser migradas a partir de Python 2. O módulo multi-processamento (MPM) configurado por padrão com o Apache HTTP Server mudou de um modelo multi-processo, bifurcado (conhecido como
prefork) para um modelo multi-rosca de alto desempenho,event.Qualquer módulo de terceiros que não seja seguro para a rosca precisa ser substituído ou removido. Para alterar o MPM configurado, edite o arquivo
/etc/httpd/conf.modules.d/00-mpm.conf. Consulte a página de manualhttpd.service(8)para mais informações.- Os mínimos UID e GID permitidos aos usuários pelo suEXEC são agora 1000 e 500, respectivamente (anteriormente 100 e 100).
-
O arquivo
/etc/sysconfig/httpdnão é mais uma interface suportada para definir variáveis de ambiente para o serviçohttpd. A página de manualhttpd.service(8)foi adicionada para o serviço systemd. -
A interrupção do serviço
httpdagora usa uma "parada graciosa" por padrão. -
O módulo
mod_auth_kerbfoi substituído pelo módulomod_auth_gssapi.
1.1.2. Atualização da configuração Copiar o linkLink copiado para a área de transferência!
Para atualizar os arquivos de configuração do Apache HTTP Server usada no Red Hat Enterprise Linux 7, escolha uma das seguintes opções:
-
Se
/etc/sysconfig/httpdfor usado para definir variáveis de ambiente, crie um arquivo drop-in do sistema em seu lugar. - Se algum módulo de terceiros for utilizado, certifique-se de que seja compatível com um MPM rosqueado.
- Se for utilizado suexec, garantir que as identificações de usuário e grupo atendam aos novos mínimos.
Você pode verificar a configuração para possíveis erros usando o seguinte comando:
apachectl configtest
# apachectl configtest
Syntax OK