# Producción — pflores.linkedcorp.net ## Estado actual - Versión: `1.0.0` - Estado: `operativo` - Última validación: `2026-06-05` ## Acceso público - URL: `https://pflores.linkedcorp.net` - Admin: `https://pflores.linkedcorp.net/wp-admin` - PDF: `https://pflores.linkedcorp.net/?cv_pdf=1` ## Servidor de aplicación - Host: `192.168.222.3` - SSH: `deploy@192.168.222.3 -p 2203` - Ruta base: `/opt/apps/pflores.linkedcorp.net` - Credenciales SSH: ver `.token_gitea` bloque `# Produccion user` ## Estructura en servidor - Código fuente: `/opt/apps/pflores.linkedcorp.net/` - WordPress: `/opt/apps/pflores.linkedcorp.net/backend/wordpress/` - Plugins propios: `backend/wordpress/wp-content/plugins/pflores-cv-fields/` - Temas: `backend/wordpress/wp-content/themes/` - Config: `/opt/apps/pflores.linkedcorp.net/.env` (local, nunca versionar) - Script de deploy: `scripts/deploy_prod_web.sh` ## Servicio systemd - Servicio: `pflores-web.service` - Puerto: `0.0.0.0:8081` > ⚠ **El servicio DEBE escuchar en `0.0.0.0:8081`**, no en `127.0.0.1:8081`. > NPM viene de una IP externa y no puede alcanzar el loopback. Si queda en `127.0.0.1` el resultado es **502 Bad Gateway**. ```bash sudo systemctl status pflores-web sudo systemctl restart pflores-web sudo journalctl -u pflores-web -n 50 --no-pager ``` ## Nginx Proxy Manager - Domain: `pflores.linkedcorp.net` - Forward Hostname/IP: `192.168.222.3` - Forward Port: `8081` - Scheme: `http` - SSL: certificado `pflores.linkedcorp.net`, Force SSL activado - `X-Forwarded-Proto: https` — wp-config.php lo detecta automáticamente ## Base de datos (producción) - Host: `192.168.222.32` - Base: `paty.wordpress` - Usuario: `paty.wordpress` - Prefijo de tablas: `cv_` - Credenciales: ver `.token_gitea` bloque `# Base de datos` ## Plugins de terceros (no en git — reinstalar si es necesario) ```bash cd /opt/apps/pflores.linkedcorp.net/backend/wordpress/wp-content/plugins # CMB2 wget -q https://downloads.wordpress.org/plugin/cmb2.latest-stable.zip -O cmb2.zip python3 -c "import zipfile; zipfile.ZipFile('cmb2.zip').extractall('.')" && rm cmb2.zip # WP Mail SMTP wget -q https://downloads.wordpress.org/plugin/wp-mail-smtp.latest-stable.zip -O wpmail.zip python3 -c "import zipfile; zipfile.ZipFile('wpmail.zip').extractall('.')" && rm wpmail.zip ``` ## WordPress core (no en git — reinstalar si es necesario) ```bash cd /opt/apps/pflores.linkedcorp.net/backend/wordpress wget -q https://wordpress.org/wordpress-7.0.zip -O /tmp/wp.zip python3 -c "import zipfile,shutil,os; ..." ``` ## Verificación rápida ```bash # Desde el servidor de producción: curl -s -o /dev/null -w "HTTP %{http_code}" http://127.0.0.1:8081/ curl -sI http://127.0.0.1:8081/?cv_pdf=1 | grep Content-Type ``` ## Pendientes - [ ] Configurar SMTP en WP Mail SMTP - [ ] Confirmar que NPM apunta a `192.168.222.3:8081`