52 lines
1.4 KiB
Markdown
52 lines
1.4 KiB
Markdown
# 🌐 Configuraciones Nginx — napi
|
|
|
|
Copia de referencia de los server blocks desplegados en **zzz** (`qu3v3d0.tech`).
|
|
|
|
---
|
|
|
|
## 📋 Sites activos
|
|
|
|
| Fichero | server_name | Root | Grupo |
|
|
|:--------|:------------|:-----|:------|
|
|
| **`napi-ddaw2.conf`** | `notas.qu3v3d0.tech` | `/var/www/napi` | DDAW2 (19 alumnos) |
|
|
| **`napi2-asir1.conf`** | `asir1.qu3v3d0.tech` | `/var/www/napi2` | ASIR1 Programación (21 alumnos) |
|
|
|
|
---
|
|
|
|
## 🔑 Funcionamiento común
|
|
|
|
Ambos sites comparten la misma arquitectura:
|
|
|
|
1. **Auth PAM** (`libnginx-mod-http-auth-pam`) — credenciales SFTP del alumno
|
|
2. **`$remote_user`** — Nginx usa el usuario autenticado para servir su `notas.md`
|
|
3. **`viewer.html`** — App estática que hace `fetch('/notas.md')` y renderiza con `marked.js` + `twemoji`
|
|
4. **SSL wildcard** — `*.qu3v3d0.tech` (certificado en `/etc/ssl/certs/qu3v3d0.tech.crt`)
|
|
|
|
```
|
|
Alumno → https://asir1.qu3v3d0.tech → Auth PAM → viewer.html
|
|
→ fetch('/notas.md') → Nginx alias → /var/www/napi2/data/$remote_user/notas.md
|
|
→ marked.js renderiza → alumno ve su feedback
|
|
```
|
|
|
|
---
|
|
|
|
## 🛠️ Gestión en zzz
|
|
|
|
```bash
|
|
# Ver configs activos
|
|
ls -la /etc/nginx/sites-enabled/
|
|
|
|
# Editar
|
|
sudo nano /etc/nginx/sites-available/napi2
|
|
|
|
# Test + reload
|
|
sudo nginx -t && sudo systemctl reload nginx
|
|
```
|
|
|
|
---
|
|
|
|
## 📅 DNS
|
|
|
|
DNS wildcard `*.qu3v3d0.tech` → `161.22.44.104` (zzz).
|
|
No hay que tocar DNS para añadir nuevos subdominios.
|