anúncios

sábado, 29 de setembro de 2018

Configurando Vhost do Apache no CentOS

O que é Vhost?

Vhost é a capacidade de ter diversos sites ou sistemas no mesmo servidor de forma isolada. Assim é possível ter vários domínios ou subdomínios no mesmo servidor.
O presente howto tem como objetivo explicar os procedimentos de configurar Vhost do Apache no RHEL/CentOS, mas também funciona em distros derivadas do RHEL/CentOS, como o Fedora por exemplo.

Configuração do Vhost

Considerando que já tenha o ambiente com Apache, PHP e os módulos PHP necessários já instalado, caso ainda não tenha, então segue o howto de configuração do ambiente PHP 7 no Linux (CentOS/Fedora) .

Caso já tenha o ambiente PHP 7 no CentOS/Fedora, então segue os procedimentos abaixo:
Primeiro é necessário adicionar a linha seguinte no final do arquivo /etc/httpd/conf/httpd.conf
# vim /etc/httpd/conf/httpd.conf
IncludeOptional sites-enabled/*.conf

No CentOS/Fedora é necessário criar os diretórios sites-enabled e sites-available, pois esses diretórios são fundamentais dos arquivos Vhosts.

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

O nome app.conf coloca o nome que quiser, geralmente é comum colocar o nome do domínio/subdomínio do Vhost correspondente.

# vim /etc/httpd/sites-available/app.conf

Altere o arquivo para ficar como este, apenas altere o diretório de localização do seu site ou sistema.


< VirtualHost *:80>
ServerName app.local
DocumentRoot "/var/www/html/app/public"
ErrorLog ${APACHE_LOG_DIR}/app.error.log
CustomLog ${APACHE_LOG_DIR}/app.access.log combined
  < Directory "/var/www/html/app/public">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
  < /Directory>
< /VirtualHost>

Nota: A configuração do Vhost acima é de uma aplicação web, que funciona na rede interna, para rede externa, só alterar o ServerName para o nome de domínio válido no registro.br.

Habilitar o Vhost app.conf

# ln -s /etc/httpd/sites-available/app.conf /etc/httpd/sites-enabled/app.conf

Reiniciar o Apache2


# systemctl restart httpd.service

Liberação do serviço HTTP no Firewalld

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --reload


Adicionar o nome definido no ServerName do Vhost no arquivo hosts

Como neste caso o Vhost é na rede interna, então para simular o domínio é necessário adicionar no arquivo /etc/hosts o IP do servidor seguido do nome ServerName definido no arquivo Vhost.

# vim /etc/hosts
IPSERVIDOR    app.local

Para que uma máquina com Windows possa acessar a aplicação com o Vhost, o arquivo hosts é C:\Windows\System32\drivers\etc\hosts
Abrir com Bloco de Notas como Administrador o arquivo hosts no caminho mencionado.

Abre o browser e acesse http://app.local

Para criar outro Vhost, copie o arquivo do Vhost e troque o ServerName, DocumentRoot e Directory para o Vhost corresponde, habilita o novo Vhost, reiniciar o Apache e adicione no arquivo hosts.

Feito!

Nenhum comentário:

Postar um comentário