Instrucciones de instalación y despliegue ¶
En local ¶
Requisitos ¶
- Versión de php 7.1 o superior
- Servidor Apache2
- Composer
- PostgreSQL 9.6
- Sistema Operativo GNU/Linux
Obtener código ¶
Para desplegar en local primero obtenemos el código fuente desde github hacia nuestro sitio virtual apache previamente configurado.
Instalar dependencias de composer. ¶
composer install
Desplegar base de datos. ¶
Para generar la base de datos o recrearla de forma limpia:
make dbfull
Para solo reinsertar tablas en la bd existente:
`bash
make db
`
Variables de la aplicación ¶
Configurar/setear las variables de la aplicación como por ejemplo el almacenamiento de amazon, correo, nombre etc etc.
Se puede tomar como ejemplo el archivo .env.example localizado en la raíz del proyecto.
Configurar host virtual apache con nombre de dominio ¶
Configurar el servidor apache con un nombre de dominio resolviendo al directorio web del proyecto.
En la nube ¶
El despliegue en la nube se ha planteado utilizando heroku por lo que será necesario disponer de cuenta en esta plataforma.
Una vez dentro de heroku creamos una aplicación
Instalar cliente de heroku ¶
wget -qO- https://cli-assets.heroku.com/install-ubuntu.sh | sh
Loguear en el equipo con el cliente instalado ¶
Desde el directorio del repositorio
heroku login
Vincular aplicación ¶
Hay dos opciones:
- Crear aplicación desde consola
- Crear aplicación desde la web y vincularla con un directorio
Desde la web:
- Elegir un nombre que será parte del dominio de la aplicación como por ejemplo: https://miaplicación.heroku.com
- Elegir región Europa
- Añadir Recursos: En Resources, nos vamos a addons y añadimos la base de datos llamada Heroku PostgreSQL y seleccionamos el plan.
- Métodos de despliegue
- En la pestaña deploy seleccionamos uno de los tres métodos. Por defecto al crear desde la terminal se crea una rama remota heroku pero es más interesante utilizar el método GitHub.
Desde este momento al conectar con GitHub cada vez que hagamos un push se puede desplegar automáticamente si debajo elegimos la rama y y pulsamos sobre: Enable automatics deploy
Asociar aplicación con heroku, le decimos a Heroku cual es la aplicación que tenemos.
Listamos las aplicaciones:
heroku apps
Asignamos el remoto para la aplicación:
heroku git:remote --app nombreaplicación
heroku psql
Conecta al psql con heroku y podemos ejecutar comandos o añadir extensiones: create extension pgcrypto;
También podemos inyectar
heroku psql < db/nombredv.sql
heroku config
También podemos inyectar la base de datos con:
make dbheroku
Configurar YII ¶
Para que funcione tenemos que crear una variable de entorno llamada YII_ENV y asignarle valor de producción:
heroku config:set YII_ENV=prod
Además se necesitar setear las variables establecidas en el archivo .env.example configurando cada parámetro adecuado a nuestras necesidades.