3 de enero de 2017

Crear un blog con Wordpress y Heroku totalmente gratis

Wordpress es un CMS fantástico, o al menos eso piensa toda esa gente que hace que un tercio de las web de todo el mundo estén funcionando con Wordpress. Lo único malo de Wordpress es que si quieres un blog gratis tienes que irte a wordpress.com y ahí pierdes mucha libertad.

Evidentemente siempre puedes irte a wordpress.org, descargarte el código y montarte tu propio blog, en tu propio server y con tu base de datos y de hecho es lo que hacen la mayoría de los profesionales. Lo malo de esto es que no es gratis. Todos los hostings populares o te cobran pasta o te insertan su propia publicidad. Vamos, que no mola. Ahora bien, ¿y si se pudiera instalar un wordpress desde cero en un hosting completamente gratuito?

Pues puede hacerse en la infraestructura de Heroku by the face. Heroku te da un dyno y una instancia de postgres, que es justo lo que necesitas para empezar a jugar. Esta claro que son servicios de capacidad limitada (por ejemplo la base de datos en el momento de escribir esto está limitada a 10.000 filas), pero son gratis.

Sólo necesitas algún software instalado previamente en tu máquina git, postgres y el toolbelt de heroku (todo ello herramientas gratuitas) y saber hacer copypaste.

El primer paso de todos va a ser clonar el proyecto wordpress-heroku, que va a ser el software que se va a encargar de hacerlo todo:

$ git clone git@github.com:bkvirendra/wordpress-heroku.git

Nos movemos al directorio recién creado por git:
 
$ cd wordpress-heroku

Y creamos la app (lo que lanzará el dyno):
 
heroku create

En este punto la consola nos devolverá el nombre que tiene la app. En el caso de mi blog, que está montado con este sistema, el nombre es gentle-taiga-77556.

El siguiente paso es crear una instancia de base de datos. En este caso tiene que Postgres ya que Heroku no soporta mysql.
$ heroku addons:add heroku-postgresql:dev
La consola nos dirá el add-on (la base de datos) ha sido añadida a tu cuenta de Heroku y que está vacía. Nos dirá el nombre de la base de datos, que en mi caso es postgresql-animated-11111.

Los nombres de la aplicación y la base de datos hay que usarlos ahora al conectarlas entre sí. En mi caso el comando es:
 
$ heroku pg:promote postgresql-animated-11111 --app gentle-taiga-77556

El siguiente paso es ir al fichero de configuración de php wp-config.php y editarlo (debería encontrarse en el directorio en el que ya estamos). Hay que modificar las líneas 48 a 55 y ponerles los valores pertinentes. Puedes usar un conjunto aleatorio de aquí y así es sólo copypastear.

define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

Ahora sólo queda comitear el código modificado en el fichero de configuración:

$ git add .
$ git commit -m “first wordpress commit”
$ git push heroku master

¡Y ya está! Puedes acceder a tu wordpress con el nombre de tu app + herokuapp.com (en mi caso http://gentle-taiga-77556.herokuapp.com).

Por cierto, cuando te conectes por primera vez al blog tendrás que proporcionarle un nombre, un password para el admin y un correo electrónico.

Como el dyno de juguete que tenemos no tiene mucho disco duro asignado, en cuanto podamos deberíamos asociar una cuenta S3 de Amazon Web Service al blog de forma que todas las imágenes se suban allí. Esto no es gratis, pero su coste es ridículo (del orden de unos pocos céntimos al mes).

También habrá que vigilar el crecimiento de la base de datos, que sinceramente yo ahora mismo no sé cómo de rápido crecerán las filas, pero recordemos que sólo tenemos 10.000 by the face. A partir de esas 10k Heroku empieza a facturar. Para que os hagáis una idea, la base de datos de este blog con esta primera entrada, tiene ya 189 rows (aunque 140 filas o así se corresponden con parámetros general). Los post en sí sólo ocupan una row más, pero muchas cosas como las imágenes subidas a la galería, las categorías y etiquetas o los mensajes cuentan para esto, así que al loro.

Fuentes: www.techlila.com y www.ianposton.com.

No hay comentarios:

Publicar un comentario

Printfriendly