Instalando o Apache2 e PHP 7.2 com Virtual Host no Ubuntu 18.04

Servidores Linux 16 de Novembro de 2019 às 15:15

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.

Renan Cavalieri

Analista de Sistemas e autor do tecdicas