Como instalar o Apache com host virtual no CentOS 8
- 1242
- 135
- Robert Wunsch DVM
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 httpdVerifique 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 httpdVerifique 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.comEncontre 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 ApacheEsta é 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 ApacheDa 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 ApacheTestando 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-nameVerifique 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.