Como instalar o Apache num VPS e criar um virtual host

No Ubuntu ou Debian, instala-se o Apache com sudo apt install apache2, escreve-se um ficheiro de site em /etc/apache2/sites-available/ com um VirtualHost que aponta para a sua pasta, activa-se com sudo a2ensite, testa-se com sudo apache2ctl configtest e recarrega-se. No AlmaLinux ou Rocky o pacote chama-se httpd. Num VPS não gerido a instalação e a manutenção são suas.

Um virtual host é a forma de o Apache servir sites diferentes conforme o nome que vem no pedido. Com um só site, ainda assim vale a pena criá-lo: deixa a configuração arrumada para quando vier o segundo.

Passo a passo no Debian e Ubuntu

1 Instale. sudo apt update e sudo apt install apache2. Abra as portas 80 e 443 na firewall, se a tiver (portas e firewall num VPS).
2 Crie a pasta do site e um ficheiro de ensaio: sudo mkdir -p /var/www/seudominio.tld/public.
3 Escreva o virtual host em sudo nano /etc/apache2/sites-available/seudominio.tld.conf<VirtualHost *:80>
ServerName seudominio.tld
ServerAlias www.seudominio.tld
DocumentRoot /var/www/seudominio.tld/public

<Directory /var/www/seudominio.tld/public>
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/seudominio.tld-error.log
CustomLog ${APACHE_LOG_DIR}/seudominio.tld-access.log combined
</VirtualHost>
4 Active o site e desactive o de boas-vindas. sudo a2ensite seudominio.tld.conf e sudo a2dissite 000-default.conf.
5 Ligue o módulo de reescrita se a aplicação usa endereços bonitos (WordPress, Laravel): sudo a2enmod rewrite.
6 Teste e recarregue. sudo apache2ctl configtest deve responder “Syntax OK”; depois sudo systemctl reload apache2.
7 Aponte o domínio ao IP do servidor e confirme: apontar um domínio para o seu VPS. Os registos de erro ficam em /var/log/apache2/.

O que muda no AlmaLinux e no Rocky

Debian e Ubuntu AlmaLinux e Rocky Linux
Pacote e serviço apache2 httpd (systemctl enable --now httpd)
Onde pôr o site sites-available + a2ensite um ficheiro .conf em /etc/httpd/conf.d/
Testar a configuração apache2ctl configtest apachectl configtest
Registos /var/log/apache2/ /var/log/httpd/
Utilizador do serviço www-data apache
“AllowOverride All” permite que o .htaccess mande no site. É o que o WordPress e a maior parte das aplicações PHP esperam, mas cada pedido passa a procurar esse ficheiro em cada pasta. Se controla a configuração do servidor, pode pôr as regras no próprio virtual host e deixar AllowOverride None. Para as regras de reescrita em si, veja o .htaccess em projectos PHP.
Um “403 Forbidden” logo no início é quase sempre falta do Require all granted ou uma pasta que o utilizador do Apache não consegue atravessar: permissões de ficheiros num VPS. No AlmaLinux ou Rocky pode ser o SELinux: SELinux e AppArmor.
Mudou só um ficheiro de site? reload chega e não corta ninguém. Reserve o restart para quando instala ou remove módulos.

Instalou e o servidor deixou de responder à rede? Diga-nos o que mexeu e vemos o que está do nosso lado.

Abrir um pedido de suporte

VEJA TAMBÉM

Instalar o nginx no Ubuntu

Nginx ou Apache: qual escolher

Vários sites no mesmo VPS

Até onde vai o nosso suporte

PRODUTO RECOMENDADO

Servidor VPS com acesso root

Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde 456,30 MT/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?