Hola @ignacio_es, este es un escenario muy común después de una migración. Los errores 500 y de 'permission denied' casi siempre apuntan a que el usuario bajo el cual se ejecuta el servidor web (Apache o Nginx con PHP-FPM) no tiene los derechos de escritura necesarios en las carpetas clave de PrestaShop. Esto es crítico para var/cache (donde se compilan las plantillas y la caché de Symfony), img/ (para las imágenes de productos) y download/ (para archivos descargables).
La solución más robusta y segura es establecer los permisos y la propiedad correctos. Desde la raíz de tu instalación de PrestaShop, puedes usar estos comandos en la terminal de tu VPS:
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;
sudo chown -R www-data:www-data .
Explicación:
sudo find . -type d -exec chmod 755 {} \;: Asigna permisos 755 (lectura y ejecución para todos, escritura para el propietario) a todos los directorios.
sudo find . -type f -exec chmod 644 {} \;: Asigna permisos 644 (lectura para todos, escritura para el propietario) a todos los archivos.
sudo chown -R www-data:www-data .: Establece el usuario y grupo www-data como propietarios recursivos de todos los archivos y directorios de tu tienda. IMPORTANTE: Si tu servidor usa un usuario y grupo diferente para PHP (por ejemplo, apache en CentOS, o un usuario específico del panel de control como miusuario:miusuario), deberás reemplazar www-data:www-data con el usuario:grupo correcto de tu entorno.
Después de ejecutar esto, borra manualmente la caché de PrestaShop si sigue dando problemas (borrando el contenido de var/cache/prod y var/cache/dev). Esto debería resolver tus problemas de permisos.