Preparar proyecto de Yii2 con MySQL para desplegar en Heroku
Este tutorial te guiará a través de los pasos necesarios para configurar y desplegar un proyecto Yii2 en Heroku, utilizando una base de datos MySQL y asegurando que todas las configuraciones sean correctas para un entorno de producción.
1. Crear una cuenta en Heroku
Registrarse en Heroku: Si no tienes una cuenta, ve a Heroku.com y regístrate.
Instalar Heroku CLI: Descarga e instala Heroku CLI para manejar tu aplicación desde la terminal.
2. Configurar el proyecto Yii2 en el repositorio existente
Configurar .gitignore: En la raíz de tu proyecto Yii2, asegúrate de que el archivo .gitignore excluya las siguientes carpetas y archivos innecesarios:
Esto evitará que archivos innecesarios o confidenciales se suban al repositorio.
Añadir el Procfile para Heroku: En la raíz de tu proyecto, crea un archivo llamado Procfile que Heroku usará para saber cómo ejecutar tu aplicación. Este archivo debería contener:
web: vendor/bin/heroku-php-apache2 web/
¿Por qué vendor/bin/heroku-php-apache2 web/?
Compatibilidad con dependencias: Este comando asegura que Heroku use la versión específica de Apache que viene con el buildpack PHP de Heroku, instalada a través de Composer en la carpeta vendor/bin.
Gestión de dependencias: Garantiza que las versiones de las herramientas utilizadas están alineadas con las dependencias de tu proyecto, mejorando la consistencia y la estabilidad del entorno de producción.
Aislamiento y control: Al usar esta ruta, se asegura que los cambios en el entorno subyacente de Heroku no afecten a la ejecución de tu aplicación, manteniendo un entorno predecible.
Configurar el archivo composer.json: Asegúrate de que todas las dependencias de tu proyecto están listadas y agrega un script para ejecutar migraciones de base de datos automáticamente después de instalar las dependencias:
Siguiendo estos pasos, podrás preparar exitosamente tu aplicación Yii2 para desplegarla en Heroku, con la garantía de que todas las configuraciones necesarias para un entorno de producción están correctamente implementadas.
Deploy de Aplicaciones en Heroku: Paso a Paso Práctico