Skip to main content

Actualización

Aviso de seguridad (octubre 2026)

PHP publicó parches para dos vulnerabilidades críticas con ejecución remota de código. Toda instalación propia del API debe actualizar PHP: con Docker, reconstruyendo la imagen; en Ubuntu 22.04, con apt. Procedimiento completo en Aviso de seguridad PHP.

Aviso de seguridad (27 de octubre de 2026)

Crear, consultar y eliminar empresas, los planes, los administradores y el correo general exigen ahora una clave de administración en el header X-Admin-Token. Después del git pull hay que crearla con php artisan api:admin-token y entregarla a las integraciones que administran empresas; si no, esas peticiones responden 403. Pasos por tipo de instalación en Aviso de seguridad: clave de administración del API.

  • Actualizar repositorio de gitlab de una versión antigua a la actual. Video aquí
  • Comandos para actualizar repositorio Pto. 1 y comandos para actualizar Pto.2. Aquí

Si la instalación corre en Docker​

La imagen PHP del API se construye en su propio servidor desde el Dockerfile del repositorio (desde el 21 de octubre de 2026, sobre la imagen oficial php:8.3.36-fpm-bookworm). Por eso, cada vez que el git pull traiga cambios en el Dockerfile o en la carpeta docker/, hay que reconstruir la imagen y no solo reiniciar los contenedores. Los comandos de composer y de php artisan se ejecutan dentro del contenedor:

cd /ruta/del/api && git pull origin master   # carpeta del código del API
cd /ruta/del/compose # carpeta donde está el docker-compose.yml (ver nota)
docker compose build --no-cache php_api scheduling_api
docker compose up -d php_api scheduling_api
docker restart nginx_api
docker compose exec php_api php -v # debe mostrar PHP 8.3.36
docker compose exec php_api composer install
docker compose exec php_api php artisan migrate --seed
docker compose exec php_api php artisan config:cache
El docker-compose.yml no siempre está en la carpeta del API

El git pull y la edición del .env se hacen en la carpeta del API, pero los comandos docker compose se ejecutan desde la carpeta donde está el docker-compose.yml, porque leen el archivo del directorio actual. Según cómo se instaló, ese archivo puede estar dentro de la carpeta del API o fuera de ella (en la carpeta padre o en otra ruta): ubíquelo antes de empezar. Si no sabe dónde quedó, docker compose ls muestra la ruta en la columna CONFIG FILES. Si prefiere no cambiar de carpeta, agregue -f /ruta/docker-compose.yml a cada comando. Más detalle en Aviso de seguridad PHP.

Los nombres de los servicios cambian según el instalador

Véalos con docker compose ps (o docker-compose ps, con guion, en instalaciones antiguas) y reemplácelos en los comandos: el contenedor PHP del API, el del programador de tareas y el de nginx. En algunas instalaciones llevan el dominio como sufijo, por ejemplo php_api_api_midominio_com.

El docker restart de nginx evita un 502 Bad Gateway que aparece cuando el contenedor PHP cambia de IP interna al recrearse. Más detalle en Aviso de seguridad PHP.