UC00627 · Instalar e configurar servidores Web
Aulify · Componente Tecnológica

Instalar e configurar servidores Web

Nginx/Apache, virtual hosts, HTTPS, segurança
UC00627 · 25 horas · 2,25 pontos Nível 4 · TSCR · Ano 3
Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Resultados de aprendizagem

  1. Instalar um servidor web (Nginx/Apache).
  2. Configurar sites e virtual hosts.
  3. Implementar HTTPS (TLS).
  4. Aplicar segurança e diagnóstico.
Servir uma página é fácil. Servi-la rápida, segura e disponível é a competência.
Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web
Bloco 1 · Conceitos

Como serve a web

Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Componentes

Cliente ── HTTP(S) ──► Servidor Web ──► Conteúdo
                          │
                    (estático: ficheiros)
                    (dinâmico: PHP/Python/Node)
                          │
                       Base de dados
  • Estático — HTML/CSS/JS servidos diretamente.
  • Dinâmico — app gera resposta (PHP-FPM, WSGI, Node).
  • Servidor web pode ser reverse proxy para a app.
Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Servidores web

Servidor Notas
Nginx Rápido, leve, ótimo reverse proxy/estáticos
Apache Muito flexível (.htaccess, módulos)
Caddy HTTPS automático, simples
IIS Windows Server
LiteSpeed Comercial, performante

Stack clássica: LAMP (Linux+Apache+MySQL+PHP) / LEMP (Nginx).

Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web
Bloco 2 · Instalação

Pôr a servir

Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Instalar Nginx (Ubuntu)

sudo apt update
sudo apt install nginx -y
sudo systemctl enable --now nginx

# Firewall
sudo ufw allow 'Nginx Full'

# Testar
curl -I http://localhost

Conteúdo por defeito em /var/www/html. Configs em /etc/nginx/.

Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Estrutura de configuração

/etc/nginx/
├── nginx.conf            # principal
├── sites-available/      # sites definidos
│   └── exemplo.conf
└── sites-enabled/        # ativos (symlink)
sudo ln -s /etc/nginx/sites-available/site.conf \
           /etc/nginx/sites-enabled/
sudo nginx -t          # testar sintaxe
sudo systemctl reload nginx
Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Virtual host (server block)

server {
    listen 80;
    server_name exemplo.pt www.exemplo.pt;
    root /var/www/exemplo;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Permite vários sites no mesmo servidor (por nome ou porta).

Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web
Bloco 3 · Conteúdo dinâmico

Apps por trás

Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

PHP (PHP-FPM)

sudo apt install php-fpm -y
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Reverse proxy (app Python/Node)

location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

A app (Gunicorn/Node) corre numa porta local; o Nginx é a "porta da frente" (TLS, estáticos, cache).

Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web
Bloco 4 · HTTPS

Cifrar tudo

Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

TLS com Let's Encrypt

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d exemplo.pt -d www.exemplo.pt
  • Certificado gratuito, válido 90 dias, renovação automática.
  • Certbot configura o redirect HTTP→HTTPS.
  • Testar renovação: sudo certbot renew --dry-run.
Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Boas práticas TLS

  • TLS 1.2/1.3 apenas (desativar 1.0/1.1).
  • HSTS — força HTTPS no browser.
  • Redirect 80 → 443.
  • Cipher suites fortes.
  • Avaliar em SSL Labs (objetivo: A/A+).
Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web
Bloco 5 · Segurança e operação

Servir bem

Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Hardening

  • Atualizações em dia (servidor + módulos).
  • Firewall — só 80/443 (e SSH).
  • Esconder versão (server_tokens off).
  • Headers de segurança (CSP, X-Frame-Options, etc.).
  • Menor privilégio — utilizador www-data, permissões corretas.
  • Logs em /var/log/nginx/ revistos.
  • Fail2ban contra abuso/brute-force.
Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Performance e disponibilidade

  • Cache (estáticos, proxy_cache), gzip/brotli.
  • HTTP/2 ou HTTP/3.
  • CDN para estáticos.
  • Load balancing (upstream) + vários backends.
  • Monitorização (uptime, latência, 5xx).
  • Backups de conteúdo e configuração.
Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web

Diagnóstico

sudo nginx -t                       # sintaxe
systemctl status nginx
sudo tail -f /var/log/nginx/error.log
curl -I https://exemplo.pt
ss -tulpn | grep -E ':80|:443'

502/504 → backend (app) em baixo. 403 → permissões. 404 → root/try_files.

Aulify · Componente Tecnológica · Cursos Profissionais
UC00627 · Instalar e configurar servidores Web
Aulify · UC00627 · Fim

Rápido, seguro, sempre de pé.

📧 geral@aulify.pt
Aulify · Componente Tecnológica · Cursos Profissionais