Tutorial de Heroku
Este es un tutorial para Heroku en español para desarrollar aplicaciones PHP con bases de datos.
Crea una cuenta gratuita en Heroku si no dispones de ella.
Si usas Debian/Ubuntu, quizás necesites ejecutar los comandos con permisos de administrador (entrando con su
o ejecutando sudo
) (ejecutando sudo
es más recomendable).
1. Instala XAMPP, Composer, Git y Heroku CLI
- Instala XAMPP en la ruta que viene por defecto (
C:\xampp
en Windows u /opt/lampp/
en Debian/Ubuntu).
- En Debian/Ubuntu, justo después, ejecuta
sudo rm -rf /opt/lampp/htdocs/*
y luego sudo chown -R usuario:usuario /opt/lampp/htdocs
donde usuario es tu nombre de usuario. Así podrás trabajar en htdocs con tu usuario y no siendo administrador.
- Instala Composer en Windows (mediante el instalador) o en Debian/Ubuntu (con
sudo apt-get install composer
).
- Instala Git en Windows (mediante el instalador) o en Debian/Ubuntu (con
sudo apt-get install git
).
- Instala Heroku CLI: Windows o en Debian/Ubuntu con
curl https://cli-assets.heroku.com/install.sh | sh
.
Verifica que todo funciona correctamente, para ello:
- Inicia el servidor XAMPP.
- Comprueba PHP en la terminal ejecutando
php --version
en Windows u /opt/lampp/bin/php --version
en Debian/Ubuntu.
- Comprueba Composer en la terminal ejecutando
composer --version
en Windows o en Debian/Ubuntu.
- Comprueba Git en la terminal ejecutando
git --version
en Windows o en Debian/Ubuntu.
- Comprueba Heroku CLI en la terminal ejecutando
heroku --version
en Windows o en Debian/Ubuntu.
2. Crea y configura una aplicación web Heroku
Los pasos para crear una aplicación web en blanco en Heroku son los siguientes:
2.1. Crea una aplicación Heroku
- Entra en el panel principal: http://dashboard.heroku.com.
- Pulsa en New, Create new app. Ponle un nombre, selecciona una región y pulsa en Create app.
2.2. Clona tu aplicación Heroku
En tu terminal, haz lo siguiente:
- Ve a
C:\xampp\htdocs\
en Windows u /opt/lampp/htdocs/
en Debian/Ubuntu.
- Ejecuta
heroku git:clone -a myapp
donde myapp es el nombre de tu aplicación Heroku.
2.3. Instala y configura Composer y configura Procfile
En tu terminal, haz lo siguiente:
- Ve a
C:\xampp\htdocs\myapp
en Windows u /opt/lampp/htdocs/myapp
en Debian/Ubuntu donde myapp es el nombre de tu aplicación Heroku.
- Desde esa misma carpeta, crea un fichero de texto denominado
composer.json
y escribe lo siguiente:
{
"require": {
"php": "^7.3"
}
}
- Desde esa misma carpeta y desde tu terminal, ejecuta
composer update
en Windows o Debian/Ubuntu.
- Desde esa misma carpeta, borra la carpeta
vendor
.
- Desde esa misma carpeta, crea un fichero de texto denominado
Procfile
(nótese que no tiene extensión) y con el siguiente contenido: web: heroku-php-apache2
.
2.4. Deja preparada tu aplicación web Heroku para desarrollar
Desde la carpeta de tu aplicación Heroku y en la terminal, ejecuta los comandos en el siguiente orden:
git status
git add .
git commit -m "Mi primer commit"
(si es tu primer commit te avisará que tienes que configurar tu nombre y tu correo).
git push heroku master
Si todo ha ido correctamente ya tienes configurada y preparada tu aplicación web Heroku lista para empezar a desarrollar.
Importante, si has perdido los datos en tu disco duro local o cambias de PC no te preocupes. Como tienes configurada y preparada tu aplicación web solo tienes que recuperarla con heroku git:clone -a myapp
donde myapp es el nombre de tu aplicación Heroku.
3. Desarrolla tu aplicación web en Heroku
Desde la carpeta de tu aplicación Heroku, crea un fichero de ejemplo index.php con el siguiente contenido:
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml' lang='en'>
<head>
<meta charset='utf-8' />
<title>PHP blank page</title>
</head>
<body>
<h1>A blank PHP page</h1>
<p><?php echo 'Text generated with PHP.'; ?></p>
</body>
</html>
Desde la terminal y desde esa misma carpeta, ejecuta los comandos en el siguiente orden:
git status
git add .
git commit -m "Página en blanco en PHP"
git push heroku master
Por último, comprueba tu aplicación en http://myapp.herokuapp.com/
donde myapp es el nombre de tu aplicación Heroku.
4. Base de datos en Heroku con PostgreSQL
Configuración de la base de datos en Heroku
- Entra en el panel principal: http://dashboard.heroku.com.
- Pulsa en tu aplicación y después pulsa en la pestaña Resources.
- Añade el siguiente add-on a tu aplicación: Heroku Postgres.
- Entra en el panel de datos: http://data.heroku.com.
- Pulsa en la base de datos asociada tu aplicación y después pulsa en la pestaña Overview.
- Anota la versión de tu base de datos porque será la versión (solo necesitas cumplir los dos primeros números) que necesitarás instalar de PostgreSQL.
- Pulsa en la pestaña Settings y después en Database Credentials guarda los credenciales de tu base de datos para poder conectarte desde Heroku.
Trabajar en local usando una base de datos local:
- Entra en la página oficial de PostgreSQL e instala la versión X.X correspondiente a la versión usada en Heroku (ver punto 6 del apartado anterior).
- Anota la contraseña que has puesto durante la instalación para el superusuario postgres (superusuario por defecto) porque lo usuarás más adelante.
- Descomenta la línea
;extension=php_pgsql.dll
en C:\xampp\php\php.ini
.
- Entra en pgAdmin, inicia el servidor local (PostgreSQL X.X), crea una base de datos e iníciala también. Mantén pgAdmin ejecutándose al igual que XAMPP.
- Ya puedes trabajar en PHP y PostgreSQL en local con los siguientes credenciales de la base de datos:
$host = 'localhost'; $dbname = 'tu_base_de_datos'; $user = 'postgres'; $password = 'contraseña que pusiste para el superusuario postgres';
Trabajar en local usando una base de datos Heroku:
- Comprueba que has realizado los tres primeros puntos del apartado anterior.
- Crea un servidor usando los credenciales proporcionados por Heroku. Consejo: si no quieres ver todas las bases de datos del servidor añade en Advanced → DB restriction tu base de datos.
- Ya puedes trabajar en PHP y PostgreSQL con los credenciales de la base de datos proporcionada por Heroku.
Ejecutar scripts SQL y ver/modificar datos en pgAdmin:
- Para ejecutar scripts SQL en pgAdmin pulsa con el botón derecho del ratón en tu base de datos y luego en Query tool.
- Para ver/modificar datos en pgAdmin pulsa con el botón derecho en una tabla de tu base de datos (las tablas están dentro de Schemas) y luego en View/Edit Data.
Volver.
Curso creado por Manuel Ignacio López Quintero bajo esta licencia.