Como instalar o Apache com host virtual no CentOS 8

Como instalar o Apache com host virtual no CentOS 8

O Apache O WebServer é um servidor Web OpenSource e HTTP popular que continua a desfrutar de uma grande participação de mercado na indústria de hospedagem. Ele é enviado com cargas de recursos, incluindo aprimoramentos de módulos, suporte a multiprotocolo, configuração simplificada e suporte a vários idiomas para mencionar apenas alguns.

Leia também: Como instalar o nginx no CentOS 8

Neste guia, nós o guiaremos pela instalação do Apache servidor da web on CENTOS 8 e RHEL 8 com um ambiente de host virtual. No momento da redação deste tutorial, a versão mais recente do Apache é Apache 2.2.43.

Instalando o Apache Web Server

Para começar, primeiro atualize seu CENTOS 8 ou RHEL 8 Lista de pacotes do sistema usando o seguinte comando dnf.

$ sudo dnf atualização 

Depois que a atualização estiver concluída, instale Apache SERVER da web executando o seguinte comando.

$ sudo dnf install httpd 

Depois de instalado, você pode verificar a versão do Apache executando o comando rpm.

$ rpm -qi httpd 
Verifique a versão Apache

O comando imprime uma variedade de informações como a versão, data de lançamento, construção e arquitetura do pacote.

Para iniciar o serviço da web http apache, execute o comando SystemCTL.

$ sudo systemctl iniciar httpd 

Para confirmar se o serviço está em execução, execute.

$ sudo status Systemctl httpd 
Verifique o status do serviço Apache

Da saída, o 'ativo'O status em verde indica que o servidor da web do Apache está em funcionamento.

Para limpar qualquer dúvida de que o servidor da web está em execução, solicite uma página de teste da Apache navegando no endereço IP ou nome de domínio do seu servidor, conforme mostrado.

http: // server-ip 

Você pode obter o IP do servidor executando o comando ifconfig. Se o seu servidor estiver hospedado na nuvem, você poderá obter o IP público executando o comando curl.

$ curl ifconfig.eu ou $ curl -4 icanhazip.com 
Encontre o endereço IP do servidor CENTOS

Quando você navega no endereço IP do servidor, você deve ter a seguinte página da web exibida.

Verifique a página da web do Apache

Esta é uma confirmação certa de que o servidor da web está executando.

Gerenciando o Apache WebServer

Com Apache instalado e em execução, você pode usar o SystemCtl Ferramenta de inspeção para gerenciar o Apache.

Por exemplo, para parar o Apache, execute o comando:

$ sudo systemctl pare httpd 

Para iniciar o serviço mais uma vez, execute:

$ sudo systemctl iniciar httpd 

Se você fez alterações em algum de seus arquivos de configuração e precisa reiniciar para aplicar as alterações, execute o comando:

$ sudo systemctl reiniciar httpd 

Reiniciar o serviço geralmente causa uma interrupção de serviço. Uma alternativa melhor é simplesmente recarregar sem nenhuma interrupção com a conexão.

$ sudo systemctl recarregar httpd 

Para iniciar o servidor da Web Apache automaticamente ao inicializar ou reiniciar, execute o comando abaixo. Isso garantirá que o Apache inicie automaticamente sem a sua intervenção.

$ sudo systemctl ativar httpd 

Se você optar por não iniciar o serviço automaticamente na inicialização, execute:

$ sudo systemctl desativando httpd 

Configurando hosts virtuais Apache

Por padrão, o Apache Web Server está configurado para servir ou hospedar apenas um site. Se você deseja hospedar apenas um site, esta etapa não é necessária. Mas, caso você planeje hospedar vários domínios em seu servidor, precisará configurar hosts virtuais do Apache.

Um host virtual é um arquivo separado que contém configurações que permitem configurar um domínio separado do padrão. Para este guia, criaremos um host virtual para o domínio Crazytechgeek.informações.

O host virtual padrão está localizado no /var/www/html diretório. Isso funciona apenas para um único site. Para criar um host virtual separado para o nosso domínio, criaremos outra estrutura de diretório dentro do /var/www diretório como mostrado.

$ sudo mkdir -p/var/www/crazytechgeek.info/html 

Além disso, você também pode criar um diretório para armazenar arquivos de log.

$ sudo mkdir -p/var/www/crazytechgeek.info/log 

Em seguida, edite as permissões de arquivo. Use o $ Usuário variável de ambiente como mostrado.

$ sudo chown -r $ usuário: $ user/var/www/crazytechgeek.info/html 

Além disso, ajuste as permissões do diretório Webroot, como mostrado.

$ sudo chmod -r 755 /var /www 

Em seguida, crie uma amostra índice.html arquivo como mostrado.

$ sudo vim/var/www/crazytechgeek.info/html/índice.html 

Acertar a carta 'eu' No teclado e cola algum conteúdo de amostra, como mostrado, que será exibido no navegador da web ao testar o host virtual.

  Bem -vindo ao Crazytechgeek.informações!   

Sucesso! O Crazytechgeek.Info Host virtual está funcionando e perfeitamente trabalhando!

Salvar e sair do arquivo de configuração.

Com o arquivo de índice de amostra e o diretório do site criado, agora você pode prosseguir e criar o arquivo de host virtual. O arquivo host virtual conterá a configuração do site do seu domínio e instruirá o Apache como ele responderá às solicitações dos clientes.

O arquivo host virtual conterá a configuração do site do seu domínio e instruirá o Apache como ele responderá às solicitações dos clientes. Mas prosseguir, você precisa criar 2 diretórios: o Sites disponíveis e sites habilitados diretórios.

O arquivo de host virtual será armazenado no Sites disponíveis diretório enquanto o sites habilitados O diretório conterá o link simbólico para o host virtual.

Crie os dois diretórios como mostrado.

$ sudo mkdir/etc/httpd/sites-disponível $ sudo mkdir/etc/httpd/sites-habilitados 

Em seguida, modifique o principal arquivo de configuração do Apache Web Server e instrua o Apache onde localizar o host virtual dentro do diretório habilitado para sites.

$ sudo vim/etc/httpd/conf/httpd.conf 

Anexar a linha como mostrado no final do arquivo de configuração.

Incluir sites-opcionais ativados/*.conf 

Salvar e sair.

Agora crie um arquivo de host virtual como mostrado:

$ sudo vim/etc/httpd/sites-available/crazytechgeek.informações 

Cole o conteúdo abaixo e substitua Crazytechgeek.informações com seu próprio nome de domínio.

 Nome do servidor www.Crazytechgeek.informações Serveralias Crazytechgeek.informações Documentroot/var/www/Crazytechgeek.informações/html errorLog/var/www/Crazytechgeek.informações/log/erro.Log CustomLog/var/www/Crazytechgeek.informações/Log/Solicitações.log combinado  

Salvar e sair do arquivo.

Agora ative o arquivo de host virtual criando um link simbólico no sites habilitados diretório.

$ sudo ln -s/etc/httpd/sites -available/crazytechgeek.informações.conf/etc/httpd/sites-inabled/crazytechgeek.informações.conf 

Ajustando as permissões do Selinux para hosts virtuais

CENTOS 8 e RHEL 8 navios com Selinux que é um módulo de segurança para fortalecer a segurança do sistema Linux. Desde que você configurou um costume registro Diretório na etapa anterior, você precisa atualizar algumas políticas do Selinux para instruir o servidor da web do Apache a escrever no diretório.

Existem 2 abordagens no ajuste das políticas do Selinux Apache: Ajustando as políticas de ajuste universalmente e as políticas em um diretório. O último é preferido porque é mais preferido.

Ajustando as políticas do Selinux em um diretório

Edição Selinux Permissões para o diretório de log oferece controle absoluto sobre as políticas do servidor da web do Apache. Este método é bastante demorado e exige que você configure manualmente o tipo de contexto para diretórios adicionais especificados no arquivo de configuração do host virtual.

Antes de começar, primeiro confirme o tipo de contexto atribuído ao diretório de log por Selinux:

$ sudo ls -dlz/var/www/crazytechgeek.info/log/ 

A saída deve ser semelhante ao que temos abaixo.

Defina as políticas do Selinux no diretório de log do Apache

Da saída, o contexto definido é httpd_sys_content_t. Isso indica que o servidor da web só pode ler arquivos no diretório de log. Você precisa mudar este contexto para httpd_log_t Para permitir que o Apache gerar e adicionar entradas de log ao diretório.

Portanto, execute o comando:

$ sudo semanage fContext -a -t httpd_log_t "/var/www/crazytechgeek.info/log (///.*)?" 

Se você conseguir o erro abaixo de “Semanage: comando não encontrado”.

Isso implica que os pacotes que fornecem para o Semanage O comando não está instalado. Para corrigir este erro, você precisa instalar esses pacotes. Mas primeiro, verifique quais pacotes fornecem o comando semanage executando:

$ sudo dnf whatprovides/usr/sbin/semanage 

A saída nos fornece o pacote que fornece semanagem, que é Policicoreutils-python-Utils.

Agora instale o pacote como mostrado usando o gerenciador de pacotes DNF.

$ sudo dnf install policycoreutils-python-utils 

O comando para mudar o contexto agora deve funcionar.

$ sudo semanage fContext -a -t httpd_log_t "/var/www/crazytechgeek.info/log (///.*)?" 

Para salvar as mudanças e torná -las persistentes, emita o RestoreCon comando como mostrado:

$ sudo restaurEcon -r -v/var/www/crazytechgeek.info/log 

Você pode confirmar as alterações mais uma vez executando o comando:

$ sudo ls -dlz/var/www/crazytechgeek.info/log/ 
Verifique o tipo de contexto Selinux

Certifique -se de observar que o tipo de contexto mudou para httpd_log_t Como visto na saída.

Reinicie o Apache para que as alterações sejam aplicadas.

$ sudo systemctl reiniciar httpd 

Agora você pode confirmar se o Apache está salvando arquivos de log no diretório de log listando seu conteúdo como mostrado:

$ ls -l/var/www/crazytechgeek.info/log/ 

Você deve ver dois arquivos de log como mostrado: Log de erros e solicitar arquivos de log.

Verifique os arquivos de log do Apache

Testando o Apache Virtual Host

Por fim, você precisa ter certeza de que o servidor da Web Apache está servindo seu arquivo de host virtual. Para fazer isso, abra seu navegador e vá para o endereço IP ou o nome de domínio do seu servidor:

http: // domínio-name 
Verifique o host virtual do Apache para o site

Perfeito! Isso indica que tudo correu bem e nosso host virtual está sendo servido como esperado.

Conclusão

Neste guia, aprendemos a instalar o Apache servidor da web on CENTOS 8 e RHEL 8 e também como configurar um arquivo de host virtual para servir conteúdo para um domínio extra. Sinta -se à vontade para configurar vários arquivos de host virtual à medida que você achar adequado para acomodar domínios adicionais.

Se você deseja configurar uma pilha de hospedagem completa, recomendei que você instalasse uma pilha de lâmpadas no CentOS 8.