Vamos configurar um servidor Apache para servir conteúdo do diretório /var/www/testing.fuzzalab.pt no domínio testing.fuzzalab.pt, com suporte a ligações seguras (SSL). O Apache será configurado para redirecionar automaticamente todas as ligações HTTP para HTTPS.

Passo 1: Criar o Ficheiro de Configuração do Apache

Cria ou edita o ficheiro de configuração no diretório /etc/apache2/sites-available/. Por exemplo:

sudo nano /etc/apache2/sites-available/testing.fuzzalab.pt.conf

Adiciona o seguinte conteúdo ao ficheiro:

# Configuração do VirtualHost para testing.fuzzalab.pt

<VirtualHost *:80>
    # Domínio principal
    ServerName testing.fuzzalab.pt

    # Redirecionar todas as ligações HTTP para HTTPS
    Redirect permanent / https://testing.fuzzalab.pt/
</VirtualHost>

<VirtualHost *:443>
    # Domínio principal
    ServerName testing.fuzzalab.pt

    # Localização dos ficheiros do site
    DocumentRoot /var/www/testing.fuzzalab.pt

    # Permissões para o diretório
    <Directory /var/www/testing.fuzzalab.pt>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    # Configuração de SSL
    SSLEngine on
    SSLCertificateFile      /etc/ssl/certs/testing.fuzzalab.pt.crt
    SSLCertificateKeyFile   /etc/ssl/private/testing.fuzzalab.pt.key
    SSLCertificateChainFile /etc/ssl/certs/testing.fuzzalab.pt.chain.pem

    # Protocolos e cifras seguras
    SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
    SSLHonorCipherOrder     on
    SSLCompression          off

    # Logs de acesso e erro
    ErrorLog ${APACHE_LOG_DIR}/testing.fuzzalab.pt_error.log
    CustomLog ${APACHE_LOG_DIR}/testing.fuzzalab.pt_access.log combined
</VirtualHost>
Explicação da Configuração
  1. Redirecionamento HTTP para HTTPS :

    • Todas as ligações HTTP (porta 80) são redirecionadas automaticamente para HTTPS (porta 443).
  2. DocumentRoot :

    • O diretório raiz do site foi definido como /var/www/testing.fuzzalab.pt.
  3. Permissões do Diretório :

    • O bloco Directory define permissões para o diretório /var/www/testing.fuzzalab.pt. As opções Indexes permitem listar os ficheiros se não houver um index.html ou similar, enquanto FollowSymLinks permite seguir links simbólicos.
  4. Configuração SSL :

    • Os caminhos dos certificados SSL (SSLCertificateFile, SSLCertificateKeyFile e SSLCertificateChainFile) devem ser ajustados conforme os ficheiros gerados pelo teu fornecedor de certificado.
  5. Logs :

    • Os logs de erro e acesso são armazenados separadamente para facilitar a depuração.

Passo 2: Criar o Diretório e Definir Permissões

Certifica-te de que o diretório /var/www/testing.fuzzalab.pt existe e tem as permissões corretas:

sudo mkdir -p /var/www/testing.fuzzalab.pt
sudo chown -R www-data:www-data /var/www/testing.fuzzalab.pt
sudo chmod -R 755 /var/www/testing.fuzzalab.pt

Passo 3: Obter Certificado SSL

Para ativar o SSL, precisas de um certificado válido. Podes usar o Let's Encrypt para obter um certificado gratuito:

sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d testing.fuzzalab.pt

O Certbot irá gerar automaticamente os certificados e atualizar a configuração do Apache.

Se preferires configurar manualmente, coloca os ficheiros do certificado nos caminhos especificados na configuração (/etc/ssl/certs/ e /etc/ssl/private/).

Passo 4: Ativar o Site e Reiniciar o Apache

Ativa o site no Apache:

sudo a2ensite testing.fuzzalab.pt.conf

Reinicia o Apache para aplicar as alterações:

sudo systemctl restart apache2

Verifica se a configuração está correta:

sudo apachectl configtest

Passo 5: Testar a Configuração

  1. Abre o navegador e visita http://testing.fuzzalab.pt. Deverás ser redirecionado automaticamente para https://testing.fuzzalab.pt.
  2. Certifica-te de que o conteúdo do diretório /var/www/testing.fuzzalab.pt está acessível.
Notas Finais
  • Certifica-te de que o DNS do domínio testing.fuzzalab.pt está configurado corretamente e aponta para o IP do teu servidor.
  • Se estiveres a usar um firewall, garante que as portas 80 (HTTP) e 443 (HTTPS) estão abertas.

Com esta configuração, o teu servidor estará pronto para servir conteúdo de forma segura no domínio testing.fuzzalab.pt.

Previous Post Next Post

Add a comment