VirtualHost: mudanças entre as edições
(→Vídeos) |
|||
Linha 85: | Linha 85: | ||
* XX representa a porta que deseja (exemplo: 81,82,8080,etc..) | * XX representa a porta que deseja (exemplo: 81,82,8080,etc..) | ||
=== Redirect === | |||
* Em alguns casos precisamos fazer o redirecionamento, então para estes casos podemos utilizar o exemplo abaixo. | |||
<VirtualHost *:80> | |||
ServerName admin.seusite.com | |||
RedirectPermanent / http://seusite.com/wp-admin | |||
</VirtualHost> | |||
=== CentOS === | === CentOS === | ||
Edição das 21h06min de 12 de março de 2021
Sobre
Olá! Visitante, reunimos aqui, informações sobre a configuração de VirtualHost para webserver com o apache, esta configuração permite que apenas um único servidor web, armazene e disponibilize múltiplos sites para serem acessados, está é uma técnica bastante utilizada em Redes de Computadores e na administração de redes corporativas, uma vez que podemos disponibilizar através do mesmo servidor vários sistemas web,sites e intranet.
Requisitos
Instalação do LAMP em: (https://wiki.projetoroot.com.br/index.php?title=LAMP)
Vídeos
Configurações
Ubuntu Server/Debian
criar Vhosts (joao) com o conteúdo do default
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/joao.conf
Modificar a home do joao
nano /etc/apache2/sites-available/joao.conf
ServerAlias joao.local
Habilitar o joao - a2ensite
a2ensite joao.conf
Criar HTML de exemplo
<html> <a href=http://IP_Do_Server/html /a> Clique aqui para entrar em html <p> <a href=http://joao.local /a> Clique aqui para entrar em Joao <p> <a href=http://maria.local /a> Clique aqui para entrar em Maria <p> <a href=https://google.com.br /a> Clique aqui para pesquisar </html>
Desabilitar joao a2dissite
a2dissite joao
Autenticação
nano /etc/apache2/sites-available/default
<Directory "/var/www/joao/html"> Options FollowSymlinks Indexes AllowOverride AuthConfig Order allow,deny Allow from all </Directory>
Criar .htaccess
nano /var/www/joao/html/.htaccess
AuthName "Insira seu Usuario e Senha:" AuthType Basic Require valid-user AuthUserFile /etc/apache2/joao/acesso
Criar Arquivo de autenticação
touch /etc/apache2/joao/acesso
Alterar a permissão do arquivo
chown apache:apache(www-data:www-data) /etc/apache2/joao/acesso
Criar usuário para autenticação
htpasswd -c /etc/apache2/joao/acesso usuario
Alteração das portas padrões
- Editar o arquivo de conf (VirtualHost) que deseja alterar a porta e deixar como o exemplo:
Listen XX <VirtualHost *:XX>
- XX representa a porta que deseja (exemplo: 81,82,8080,etc..)
Redirect
- Em alguns casos precisamos fazer o redirecionamento, então para estes casos podemos utilizar o exemplo abaixo.
<VirtualHost *:80> ServerName admin.seusite.com RedirectPermanent / http://seusite.com/wp-admin </VirtualHost>
CentOS
- Criando estrutura de Vhosts
mkdir -p /var/www/dominio/html /var/www/dominio/log
- Criando página de exemplo
nano /var/www/dominio/html/index.html
<html> <head> <title>Página do Joao!</title> </head> <body> <h1>Successo! O site joao.local está funcionando com vhost!</h1> </body> </html>
- Criando local para armazenar as configs de vhosts
mkdir /etc/httpd/sites-available /etc/httpd/sites-enabled
- Ajustando conf do http para carregar vhost
nano /etc/httpd/conf/httpd.conf IncludeOptional sites-enabled/*.conf
- Criando conf de vhost para dominio
nano /etc/httpd/sites-available/joao.conf
<VirtualHost *:80> ServerName joao.local ServerAlias joao.local DocumentRoot /var/www/joao/html ErrorLog /var/www/joao/log/error.log CustomLog /var/www/joao/log/requests.log combined </VirtualHost>
- Criando link simbólicos para ativar o vhost
ln -s /etc/httpd/sites-available/joao.conf /etc/httpd/sites-enabled/joao.conf
- Para remover vhost
rm -rf /etc/httpd/sites-enabled/joao.conf
SELinux
- Definir uma política universal para o Apache
setsebool -P httpd_unified 1
- Verificar Contexto do SELinux na pasta
ls -dZ /var/www/joao/log/
Saída: unconfined_u:object_r:httpd_log_t:s0 /var/www/joao/log/
- Ajustar contexto para armazenar os logs
semanage fcontext -a -t httpd_log_t "/var/www/joao/log(/.*)?" restorecon -R -v /var/www/joao/log
- Verificar Contexto do SELinux na pasta
ls -dZ /var/www/joao/log/
Saída: unconfined_u:object_r:httpd_log_t:s0 /var/www/joao/log/
- Reiniciando o serviço httpd
systemctl restart httpd
- Verificar se o apache (httpd) criou arquivos de log
ls -lZ /var/www/joao/log/
-rw-r--r--. 1 root root system_u:object_r:httpd_log_t:s0 584 out 1 16:55 error.log -rw-r--r--. 1 root root system_u:object_r:httpd_log_t:s0 1742 out 1 16:56 requests.log
Alterar Portas
- Liberar no Fw
firewall-cmd --zone=public --permanent --add-port 81/tcp firewall-cmd --reload
- Editar Configuração do Apache (HTTPD)
nano /etc/httpd/conf/httpd.conf
Listen IP:PORTA
- SELinux
Listar Portas liberadas
semanage port -l
Liberar porta 81 (exemplo)
semanage port -a -t http_port_t -p tcp 81