O Apache 2 é responsável por gerenciar as solicitações recebidas por navegadores web e responde-las de forma adequada, encaminhando para os sites e aplicações que estão no servidor ou até mesmo executando scripts através da integração de módulos.
Os Virtual Hosts a maneira mais fácil e organizada para publicar seu site ou aplicação, pois caso você necessite utilizar domínios no mesmo servidor é só realizar o mesmo procedimento todos irão funcionar lado a lado sem conflitos, desde que estejam em endereços ou portas diferentes.
- Este tutorial foi realizado com o Ubuntu 18.04, no entanto, pode ser que funcione para outras distribuições baseadas em Debian.
Para instalar o Apache2, entre em seu servidor com a conta de super usuário e execute os comandos abaixo.
apt-get update && apt-get install apache2 nano
Após a instalação você terá que criar um novo usuário, que será responsável por gerenciar os arquivos de seu site. Neste exemplo usaremos o nome do usuário e site do tecdicas, então lembre-se de personalizar para suas necessidades!
adduser tecdicas
usermod -aG sudo tecdicas
su - tecdicas
Agora será criado o diretório onde seu site ou aplicação ficará:
sudo mkdir -p /var/www/tecdicas.com
sudo chown tecdicas:tecdicas /var/www/tecdicas.com
sudo chmod 775 /var/www/tecdicas.com
Em seguida será criado um novo Virtual Host, para isso, logue novamente como root usando su - root ou pressione Ctrl+D e crie o arquivo tecdicas.com.conf usando o comando abaixo:
touch /etc/apache2/sites-available/tecdicas.com.conf
Agora edite o arquivo com um editor de sua preferência, recomendamos o nano para esta tarefa.
nano /etc/apache2/sites-available/tecdicas.com.conf
Com o arquivo aberto, cole as seguintes linhas abaixo. Lembre-se de personalizar o seu e-mail e domínio!
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/tecdicas.com
ServerName tecdicas.com
ServerAlias www.tecdicas.com
<Directory /var/www/tecdicas.com/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Pressione Ctrl+X, digite Y e pressione ENTER para salvar (caso esteja usando o nano).
Com o Virtual Host criado, você já poderá ativar seu site usando o comando:
a2ensite tecdicas.com.conf
service apache2 reload
Agora que Apache2 já está configurado para utilizar o Virtual Host, você pode apontar o DNS de seu domínio para seu servidor e testar. Lembre-se de incluir ao menos um arquivo chamado "index.html" dentro da pasta raiz de seu site.
Testando as configurações
Logue novamente com o seu usuário criado anteriormente e crie um arquivo "index.html" para o teste, usando os seguinte comandos:
su - tecdicas
touch /var/www/tecdicas.com/index.html
nano /var/www/tecdicas.com/index.html
E cole o código abaixo e salve o arquivo.
<h1>Ola mundo</h1>
Em seguida você pode apontar o domínio em sua própria máquina usando o arquivo "hosts" (localizado em C:\Windows\System32\drivers\etc\hosts para usuários Windows e /etc/hosts para usuários Linux) de seu sistema para realizar os testes sem mexer com o DNS de seu domínio (tarefa que pode variar muito de acordo com o seu registrar). Ao realizar o processo, acesse o site e confira se está funcionando.
Ativação de módulos
Alguns sites necessitam de módulos para funcionar. Para ativar um módulo no Apache2, utilize o comando "a2enmod" e em seguida informe o nome do módulo. No exemplo a seguir ativaremos os módulos mais comuns requeridos por muitas aplicações PHP.
a2enmod headers
a2enmod rewrite
a2enmod expires
service apache2 restart
Instalando o PHP
O PHP (Hypertext Processor – Processador de Hipertexto) é uma linguagem de script para servidores criada por Rasmus Lerdorf em 1995, sendo uma das linguagens mais utilizadas para criação de páginas dinâmicas.
Para instalar o PHP, após a instalação e configuração do Apache2, basta executar o comando abaixo como super usuário.
apt install php
service apache2 restart
Feito isso, o PHP já estará pronto para ser usado com o Apache2.
Desativando um site
Para remover um site que não é mais necessário, apenas execute o comando
a2dissite tecdicas.com.conf
service apache2 reload
Caso tenha problemas durante o tutorial, verifique também o log de erros criado pelo Apache2 em busca de solução de problemas. Se o Apache2 não estiver iniciando, é um indicativo de que há configurações inválidas, como diretórios faltando ou caminhos errados.