Como instalar o Apache HTTPD no Fedora 40 ou 39

O Apache HTTP Server (HTTPD) é um dos servidores web mais utilizados no mundo, conhecido por sua flexibilidade, desempenho robusto e amplas opções de configuração. Ele é capaz de servir conteúdo estático e dinâmico, e seu design modular permite uma ampla gama de recursos, como criptografia SSL/TLS, redirecionamento de URL, autenticação e muito mais. O Apache HTTPD é particularmente preferido em ambientes onde estabilidade, segurança e escalabilidade são críticas. É uma excelente opção para hospedar sites e aplicativos, desde pequenos projetos pessoais até soluções empresariais de grande escala.

No Fedora 40 ou 39, o Apache HTTPD pode ser facilmente instalado usando o AppStream do Fedora através do gerenciador de pacotes dnf. Este método fornece um processo de instalação simples com acesso à versão mais recente mantida nos repositórios oficiais do Fedora, garantindo que você tenha um servidor web seguro e atualizado. Este guia irá orientá-lo na instalação do Apache HTTPD usando o terminal de linha de comando, permitindo que você instale e configure seu servidor web no Fedora.

Atualize os pacotes do Fedora antes da instalação do Apache

Para começar, atualizar seu sistema Fedora garante que ele execute o software mais recente, o que é essencial para compatibilidade e segurança.

Abra seu terminal e execute o comando:

sudo dnf upgrade --refresh

Este comando combina o uso de sudo para direitos administrativos com dnf upgrade para atualizar todos os pacotes. A opção –refresh garante que você obtenha as informações mais recentes de seus repositórios. É importante deixar esse processo ser concluído antes de passar para a próxima etapa para manter a integridade do sistema e o bom funcionamento.

Instale o Apache (HTTPD) via comando DNF

Com seu sistema atualizado, instalar o Apache, também conhecido como HTTPD, é simples. O Fedora utiliza o gerenciador de pacotes DNF para tais tarefas.

No seu terminal, execute:

sudo dnf install httpd

Este comando busca e instala o Apache em seu sistema Fedora. DNF lida com dependências e configurações, simplificando a instalação. O processo geralmente é rápido, deixando o Apache pronto para uso após a conclusão.

Habilitar serviço Apache (HTTPD)

Depois que o Apache estiver instalado, a próxima etapa é iniciar e habilitar o serviço para garantir que ele seja executado na inicialização. Se não for ativado automaticamente, use estes comandos:

sudo systemctl start httpd
sudo systemctl enable httpd

“sudo systemctl start httpd” inicia o serviço Apache e “sudo systemctl enable httpd” configura-o para iniciar na inicialização. Essa abordagem em duas etapas garante que o Apache esteja ativo e disponível de forma persistente.

Como alternativa, você pode combinar estas etapas:

sudo systemctl enable httpd --now

O sinalizador –now com sudo systemctl enable httpd inicia o Apache imediatamente e o configura para iniciar na inicialização, agilizando o processo.

Verifique o status do serviço Apache (HTTPD)

Finalmente, verifique o status do Apache:

systemctl status httpd

Este comando fornece o status operacional do Apache. A saída inclui o estado atual do serviço e quaisquer mensagens de erro, essenciais para a solução de problemas. Verificar isso regularmente pode ajudar a manter uma configuração Apache estável e funcional em seu sistema Fedora.

Configurar regras do Firewalld para Apache

Abrindo portas para HTTP e HTTPS

Após instalar o Apache (HTTPD) no Fedora, é essencial configurar o Firewalld para permitir o tráfego nas portas 80 (HTTP) e 443 (HTTPS). Essas etapas são vitais para a segurança e acessibilidade do seu aplicativo web.

Abrindo a porta 80 (HTTP):

Execute o seguinte comando para abrir a porta 80, usada para tráfego HTTP:

sudo firewall-cmd --permanent --add-port=80/tcp

Este comando configura o Firewalld para permitir tráfego TCP de entrada na porta 80, comumente usada para tráfego da Web não criptografado.

Abrindo a porta 443 (HTTPS):

Para permitir tráfego seguro e criptografado, abra a porta 443 com este comando:

sudo firewall-cmd --permanent --add-port=443/tcp

A porta 443 é usada para tráfego HTTPS, fornecendo comunicação criptografada entre clientes e o servidor.

Aplicando as alterações do firewall:

Após definir as regras, aplique-as recarregando o Firewalld:

sudo firewall-cmd --reload

Recarregar o firewall garante que todas as alterações estejam ativas e tenham efeito imediato.

Considerações de segurança

Compreender as implicações de segurança dessas mudanças é crucial. Abrir apenas as portas necessárias minimiza possíveis vulnerabilidades, protegendo seu aplicativo contra acesso não autorizado e ameaças.

Verificando a acessibilidade do Apache

Para confirmar a configuração bem-sucedida, acesse a página inicial do Apache (HTTPD):

  1. Abra seu navegador.
  2. Navegue até http://localhost ou http:// .

Se configurado corretamente, a página padrão do Apache deverá aparecer, confirmando o status operacional do servidor.

Solução de problemas de acesso

Se você não conseguir acessar a página de destino, considere estas etapas:

  • Revise as regras de firewall para obter precisão.
  • Verifique o status do serviço Apache.
  • Examine as configurações do servidor em busca de erros.

Abordar esses aspectos irá ajudá-lo a identificar e resolver quaisquer problemas que impeçam o acesso ao Apache no Fedora.

Crie um host virtual no Apache

Criando e configurando diretórios para seu host virtual

Comece criando um diretório para seu host virtual no Fedora Linux. Este diretório atuará como raiz dos arquivos do seu site. Para um domínio como “example.com”, use o seguinte comando:

sudo mkdir /var/www/example.com

Substitua “example.com” pelo seu nome de domínio real. Este diretório conterá todos os arquivos do site, incluindo HTML, imagens e scripts. Para fins organizacionais e de segurança, é aconselhável criar diretórios separados para diferentes hosts virtuais.

Defina a propriedade e as permissões do diretório para que o Apache possa acessá-lo:

sudo chown -R apache:apache /var/www/example.com
sudo chmod -R 755 /var/www/example.com

O primeiro comando altera a propriedade do diretório para o usuário e grupo Apache, e o segundo define as permissões necessárias.

Crie um arquivo index.html neste diretório. Este arquivo é a primeira página que os visitantes veem. Use um editor de texto como o Nano para criar este arquivo:

sudo nano /var/www/example.com/index.html

Dentro do editor, você pode adicionar a seguinte estrutura HTML:

<html>
  <head>
    <title>Example Domain</title>
  </head>
  <body>
    <h1>Welcome to Example Domain</h1>
    <p>This is a sample page for the domain example.com.</p>
  </body>
</html>

Personalize este HTML para atender às necessidades do seu site. Salve e saia do editor usando Ctrl + X, seguido de Y e Enter.

Criando Host Virtual

Configurando diretórios para Apache

Primeiro, crie os diretórios disponíveis para sites e habilitados para sites:

sudo mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled

Esses diretórios ajudam a organizar as configurações do host virtual. Agora edite o arquivo de configuração do Apache:

sudo nano /etc/httpd/conf/httpd.conf

No final do arquivo, adicione:

#IncludeOptional conf.d/*.conf
IncludeOptional sites-enabled/*.conf

Salve e saia com Ctrl + O e Ctrl + X.

Configurando seu host virtual

Crie um arquivo de configuração para seu domínio:

sudo nano /etc/httpd/sites-available/example.com.conf

No arquivo, adicione a seguinte configuração, ajustando ServerName, ServerAlias ​​e DocumentRoot conforme necessário:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName example_domain
    ServerAlias www.example_domain
    DocumentRoot /var/www/example.com/
</VirtualHost>

Modificando permissões de acesso

Modifique as permissões de acesso do Apache para permitir o acesso público. Edite o arquivo de configuração principal:

sudo nano /etc/httpd/conf/httpd.conf

Adicione estas linhas no final:

<Directory /var/www/example.com/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Salve e saia com Ctrl + O e Ctrl + X.

Habilitando Host Virtual

Crie um link simbólico para ativar o host virtual:

sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/

Reinicie o Apache para aplicar as alterações:

sudo systemctl restart httpd

Após reiniciar o Apache, visite http://example_domain em seu navegador. Use o endereço IP do servidor se você não registrou um domínio. Você deverá ver a página de destino que criou anteriormente.

Gerenciar serviço Apache (HTTPD)0

Registros do servidor Apache

Os logs do servidor Apache são cruciais para monitoramento e solução de problemas. Eles estão em /var/log/httpd/ por padrão; os nomes de arquivos padrão são access.log para logs de acesso e error.log para logs de erros. No entanto, você pode personalizar esses nomes de arquivos no arquivo de configuração do host virtual.

Personalizando nomes de arquivos de log

Para alterar os nomes dos arquivos de log, edite o arquivo de configuração do host virtual. Aqui está um exemplo de nomes de log personalizados:

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /var/www/example.com
    
    # Change access log to custom-access.log
    CustomLog /var/log/httpd/custom-access.log combined
    
    # Change error log to custom-error.log
    ErrorLog /var/log/httpd/custom-error.log
</VirtualHost>

Esta configuração define custom-access.log e custom-error.log como os novos nomes de arquivos para logs de acesso e erros. Lembre-se de fornecer o caminho de arquivo correto ao configurar nomes de log personalizados.

Comandos Apache para gerenciamento de serviços

Gerenciar o serviço Apache envolve um conjunto de comandos que permitem controlar sua operação:

Parando o Apache:

Para parar o servidor Apache, use:

sudo systemctl stop httpd

Este comando interrompe o serviço Apache até que seja iniciado novamente.

Iniciando o Apache:

Para iniciar o servidor Apache, use:

sudo systemctl start httpd

Este comando ativa o serviço Apache, deixando-o pronto para servir conteúdo da web.

Reiniciando o Apache:

Para reiniciar o servidor Apache, use:

sudo systemctl restart httpd

A reinicialização é útil para aplicar alterações de configuração ou recuperar erros não críticos.

Recarregando o Apache:

Para recarregar o servidor Apache, use:

sudo systemctl reload httpd

O recarregamento aplica alterações de configuração sem interromper o serviço em execução.

Desativando o Apache na inicialização:

Para evitar que o Apache seja iniciado automaticamente na inicialização, use:

sudo systemctl disable httpd

Este comando remove o Apache da lista de serviços que iniciam na inicialização do sistema.

Habilitando o Apache na inicialização:

Para configurar o Apache para iniciar automaticamente na inicialização, use:

sudo systemctl enable httpd

Isso garante que o Apache seja iniciado sempre que o sistema for inicializado, fornecendo disponibilidade consistente de serviços da web.

Apache seguro com certificado SSL gratuito Let's Encrypt

Instale o Certbot para automação de certificados SSL/TLS

Comece instalando o Certbot, uma ferramenta para automatizar a aquisição e renovação de certificados SSL/TLS, garantindo a criptografia HTTPS para o seu site. Para instalar o Certbot, execute:

sudo dnf install certbot python3-certbot-apache

Gere certificado SSL/TLS para seu domínio

Após a instalação, gere um certificado SSL/TLS para o seu domínio com este comando:

sudo certbot --apache -d example.com

Substitua “example.com” pelo seu nome de domínio real.

Comando alternativo para geração de certificado SSL

Para uma configuração SSL abrangente, use o seguinte comando:

sudo certbot --dry-run --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com
  • –dry-run: testa a geração do certificado sem alterar o sistema.
  • –apache: indica que o certificado é para um servidor Apache.
  • –agree-tos: concorda com os termos de serviço do Let's Encrypt.
  • –redirect: Redireciona o tráfego HTTP para HTTPS.
  • –hsts: Habilita HTTP Strict Transport Security, garantindo apenas conexões HTTPS seguras.
  • –staple-ocsp: ativa o grampeamento OCSP para verificar o certificado SSL.
  • –email: Seu endereço de e-mail associado ao certificado.
  • -d: O nome de domínio do certificado, aqui “www.example.com”.

Configurando o Apache para usar o certificado SSL

Para configurar o Apache, abra o arquivo de configuração SSL:

sudo nano /etc/httpd/conf.d/ssl.conf

Neste arquivo, adicione as seguintes linhas, substituindo “example.com” pelo seu domínio:

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem

Verificando e renovando o certificado SSL

Após a instalação, seu site fará a transição de “HTTP://www.example.com” para “HTTPS://www.example.com”, garantindo uma comunicação criptografada e segura.

Configurando a renovação automática de certificado

Para manter o certificado SSL atualizado, configure um cron job para renovação do Certbot. Primeiro, teste o processo de renovação:

sudo systemctl restart httpd 

Este teste garante que o script de renovação funcione corretamente antes de agendá-lo como um cron job.

sudo certbot renew --dry-run

Renovação e gerenciamento de certificados SSL

Verificando o status do certificado SSL

Antes de automatizar o processo de renovação, é crucial compreender o status atual dos seus certificados SSL. Para verificar o status, incluindo as datas de expiração de todos os certificados gerenciados pelo Certbot, use este comando:

sudo certbot certificates

Este comando fornece uma lista de todos os certificados SSL manipulados pelo Certbot, juntamente com suas respectivas datas de validade. Essas informações são essenciais para confirmar se seus certificados estão ativos e para entender quando eles precisarão de renovação.

Automatizando a renovação de certificados SSL

Para garantir um serviço HTTPS ininterrupto, os certificados SSL devem ser renovados periodicamente. Automatizar esse processo é vital para manter um site seguro.

Instalando Cronie para Cron Jobs

Se Cronie, o gerenciador de tarefas cron, não estiver instalado em seu sistema Fedora, instale-o usando:

sudo crontab -e

Cronie permite que você agende tarefas como o script de renovação do Certbot para serem executadas em horários e intervalos especificados.

Editando a configuração do Cron Job

Após instalar o Cronie, agende a renovação do certificado SSL editando a configuração do cron job:

sudo dnf install cronie

Este comando abre o editor crontab, onde você pode adicionar tarefas agendadas.

Agendando o trabalho de renovação

No editor crontab, adicione a seguinte linha para agendar o comando de renovação para ser executado duas vezes ao dia:

0 6,18 * * * certbot renew --quiet

Este cron job está configurado para executar o comando certbot promote às 6h e às 18h todos os dias. A opção –quiet garante que o Certbot seja executado silenciosamente sem gerar resultados desnecessários.

Compreendendo o processo de renovação do Certbot

Certbot gerencia de forma inteligente o processo de renovação. Ele apenas tenta renovar certificados que estejam dentro de 30 dias após a expiração. Se um certificado não precisar de renovação, o Certbot não realizará nenhuma ação. Essa eficiência garante que seu servidor não fique sobrecarregado com processos desnecessários e que seus certificados SSL estejam sempre atualizados.

Configurar esse processo de renovação automatizado é uma prática recomendada para manter a criptografia HTTPS contínua, garantindo que seu site permaneça seguro e confiável para usuários e mecanismos de pesquisa.

Comandos e dicas adicionais

Diretórios e arquivos seguros no Apache

Garantir a segurança do seu servidor envolve definir permissões apropriadas para arquivos e diretórios. Configurações excessivamente permissivas podem expor seu servidor a riscos.

Configurando permissões seguras

Para diretórios e arquivos em /var/www/example.com/, use estes comandos:

sudo find /var/www/example.com/ -type d -exec chmod 755 "{}" \;
sudo find /var/www/example.com/ -type f -exec chmod 644 "{}" \;

Esses comandos definem diretórios como 755 (ler, gravar, executar para o proprietário e ler e executar para outros) e arquivos como 644 (ler e gravar para o proprietário, ler para outros), que são permissões seguras padrão.

Permissões especiais para aplicações específicas

Observe que alguns aplicativos, como o phpBB, podem exigir permissões 777 em determinadas pastas. Sempre ajuste as permissões com base nos requisitos do aplicativo.

Abordagem de segurança abrangente

Lembre-se de que definir permissões é apenas um aspecto da segurança. A implementação de certificados SSL e configurações de firewall adequadas são cruciais para uma proteção robusta do servidor.

Atualize o Apache (HTTPD) no Fedora

Manter o Apache atualizado é crucial para segurança e desempenho.

Atualizando o Apache

Para atualizar o Apache, junto com outros pacotes do sistema, use:

sudo dnf update --refresh

Este comando atualiza o banco de dados de pacotes e todos os pacotes instalados, incluindo o Apache.

Precauções pré-atualização

Sempre faça backup do seu sistema ou crie imagens antes de realizar atualizações para se proteger contra possíveis problemas.

Remover (desinstalar) Apache do Fedora

Em cenários onde o Apache precisa ser removido do sistema, siga estas etapas:

Desativando e Parando o Apache

Primeiro, desative e pare o serviço Apache:

sudo systemctl disable httpd --now

Este comando interrompe o serviço Apache e evita que ele seja iniciado automaticamente na inicialização.

Desinstalando o Apache

Para remover o Apache do seu sistema, execute:

sudo dnf remove httpd

Este comando desinstala o pacote Apache.

Limpando arquivos restantes

Após a desinstalação, remova todos os arquivos residuais do diretório de configuração do Apache:

sudo rm -R /etc/httpd/

Esta etapa garante que todos os arquivos relacionados ao Apache sejam completamente removidos do seu sistema.

Conclusão

Ao instalar o Apache HTTPD no Fedora através do AppStream, você obtém um servidor web poderoso e confiável que está bem integrado ao seu sistema Fedora. O gerenciador de pacotes dnf garante que sua instalação seja tranquila e que as atualizações sejam facilmente gerenciadas. Após a instalação, considere explorar as extensas opções de configuração do Apache para adaptar o servidor às suas necessidades específicas, seja para servir sites estáticos, executar aplicativos dinâmicos ou gerenciar ambientes web complexos.

Joshua James
Me siga
Últimos posts por Joshua James (exibir todos)

Deixe um comentário