Es posible que en algún momento de tu vida te hayas planteado empezar un blog, pero la mayoría de las veces no sabes dónde crearlo, como instalarlo, qué plataforma elegir, etc..
En este artículo voy a explicar cómo crear un blog, desde cero y paso a paso con Ghost y aprender a instalarlo en un servidor cloud como es DigitalOcean
¿Qué es Ghost?
Ghost es un sistema de blogging basado en Node.js. Es un firme rival de Wordpress, aunque éste último es un CMS más potente en cuanto a funcionalidades extras a base de plugins. Pero en cuanto a sistema de escritura Ghost a mi parecer, le gana la batalla a Wordpress.
Ventajas de Ghost frente Wordpress
- Ghost es más liviano, su carga de página es más rápida que un Wordpress por defecto
- La modificación de los Themes es más sencilla que en Wordpress
- No necesita plugins para SEO o mejorar el rendimiento.
- Existe buena documentación y una gran comunidad
Desventajas de Ghost frente a Wordpress
- Necesitas un Servidor propio o virtual, o una plataforma que soporte Node.js. Con Wordpress puedes usar cualquier hosting que soporte PHP.
- Únicamente sirve para blogging. Es complicado montar un eCommerce con Ghost frente a Wordpress
- Es más reciente que Wordpress que ya tiene una larga trayectoria
Instalar Ghost en DigitalOcean
Digital Ocean es un servicio que te permite crear máquinas virtuales para tener tu propio servidor en la nube. Algo así como hace Amazon Web Services, pero solo enfocado a crear un servidor.
Una de las características que ofrece Digital Ocean son las imágenes preinstaladas de varias tecnologías. Podemos tener MongoDB, Node.js, Redis, etc... instalado en un click y por supuesto tenemos Ghost también.
Crear cuenta en DigitalOcean.
Nos dirijimos a la web de DigitalOcean (Si te registras desde este link te obsequian con USD 10$ en el servicio, 2 meses gratis) y nos registramos con un email y una contraseña. DigitalOcean te enviará un email para confirmar tu cuenta, revisa tu bandeja de entrada y confirma el correo :)
Después nos pedirá la información de facturación. Podemos pagar con tarjeta de crédito o con Paypal.
Crear un droplet para nuestro blog
Ahora ya podemos crear nuestro Droplet. Elegimos un nombre para nuestro servidor, por ejemplo blog
y el tamaño más pequeño de USD $5 al mes. Este tamaño es más que suficiente para nuestro blog. Posee 512 Mb de RAM, 20 GB de SSD y un 1TB de transferencia mensual. Actualmente mi blog alcanza las 40.000 visitas mensuales y sigo utilizando ese Droplet sin problema.
Seguidamente elegimos la región. Si tu blog está orientado a España o Europa, es conveniente que esté ubicado en una región cercana como puede ser Amsterdam, Londres o Frankfurt. Si está orientado al público asiático, te recomiendo que elijas Singapur y si está destinado o tu mayor tráfico vendrá de países de latinoamérica o USA, elige entonces las regiones de New York, San Francisco o Toronto. En mi caso para este ejemplo voy a elegir Londres.
La siguiente opción es elegir la imagen. En la sección aplicaciones podemos elegir Ghost v0.7.0 y además de Ghost y Node, lleva también el sistema operativo incluido. Elegimos esa.
La última sección es elegir si queremos usar una clave privada para conectarnos mediante SSH al servidor o si preferimos hacerlo por contraseña. Es recomendable usar clave privada, es más seguro que una contraseña y más cómodo para nosotros.
Ya tenemos nuestro droplet creado.
Una vez creado, ya tenemos todo funcionando. Si vemos en el panel de control DigitalOcean nos da una IP privada que será donde tengamos corriendo la aplicación. En mi ejemplo es la IP 178.62.97.7
.
Si en un navegador web voy a esa dirección podré ver Ghost corriendo: http://178.62.97.7
Administrando nuestro blog desde el panel de Ghost
Para poder entrar al panel de administración de Ghost, debemos ir a la URL /ghost
de tu servidor. En este caso http://178.62.97.7/ghost
.
Al ser nuestra primera visita, crearemos el usuario administrador del blog, con nuestro nombre, email y una contraseña. También podemos subir una fotografía de perfil.
Como Ghost soporta multiusuario, podemos invitar a otros usuarios como redactores del blog. Si no, podemos saltarnos este paso.
Una vez creadas las cuentas de usuario accedemos al editor. La parte izquierda es el editor en si, en formato Markdown, y la derecha es cómo se verá realmente en el HTML final.
El formato Markdown es muy cómodo para editar textos y darles estilos. A continuación puedes ver una lista de los comandos más habituales.
Obtener un nombre de dominio
Vale, tenemos ya nuestro blog creado, pero recordar una dirección IP no es algo que nos guste mucho, queremos nuestro propio nombre de dominio, que se vende mejor y es más facil de recordar que unos números.
Una de las mejores opciones es Namecheap, un servicio que te permite comprar nombres de dominio a un precio bastante asequible.
Simplemente elige el nombre que más te guste y Namecheap te buscará los que estén libres.
Puedes pagar con tarjeta de crédito o con saldo de Paypal, igual que en DigitalOcean.
Lo siguiente es conectar el nombre de dominio con nuestro servidor web creado en DigitalOcean. Esto lo hacemos a través de los DNS de Namecheap.
Nos dirigimos a nuestro perfil en Namecheap Y en Dashboard pulsamos en el botón Manage del dominio que acabamos de registrar. Dentro de esta opción, vamos a la pestaña AdvancedDNS
Pulsamos en el botón Add Record
y añadimos un nuevo registro de tipo A, que son los que nos permiten indicarles una dirección IP. Rellenamos el formulario con los datos y la IP que nos proporcionó DigitalOcean y como host ponemos *
para que todos los subdominios vayan al mismo dominio. (Así las URLs con www redirigirán al dominio principal)
Salvamos y esperamos un tiempo (entre 20 minutos y 1hora) a que la información se propague por los servidores de nombres (DNS). Ahora es momento de hacer unas últimas configuraciones.
Configuraciones
En el menú Settings/General
puedes cambiar el nombre del blog y la descripción
También puedes cambiar tu foto de perfil en team/tu_usuario
así como tu biografía y más datos
Y en Seetings/Navigation
puedes añadir páginas estáticas para diferentes secciones de tu web como pueden ser un Acerca de Mi, Contacto, etc..
URL de nuestro dominio
Debemos indicarle a Ghost cuál es el nombre de dominio que hemos registrado, lo hacemos en el fichero /var/www/ghost/config.js
en el servidor, que contiene la configuración básica de la aplicación blog. Dentro de la propiedad production.url
production: {
url: "http://mihipsterblog.com",
...
}
Servicio de mail
El mismo fichero del mail. La configuración del servicio de mail sirve para recuperar la contraseña y por si Ghost ha de enviarte algún aviso via correo electrónico. Puedes configurarlo con Gmail o servicios como Mandrill, Mailgun, etc..
production: {
url: 'http://mihipsterblog.com',
mail: {
transport: 'SMTP',
options: {
service: 'Mailgun',
auth: {
user: 'correo@miblog.com',
pass: '123456789'
}
}
}
}
En la documentación de ghost tienes más información al respecto.
Temas personalizados
El aspecto del blog o theme, puede ser modificado. Tienes a tu disposición una gran cantidad de themes creados gratuitamente por la comunidad y también de pago pero a unos precios bastante asequibles comparados con Wordpress.
Los themes van alojados en la carpeta /var/www/ghost/content/themes
y la estructura que siguen suele ser la siguiente:
/nombre_theme
├── /assets
| └── /css
| ├── screen.css
| ├── /fonts
| ├── /images
| ├── /js
├── default.hbs
├── index.hbs [Necesario]
└── post.hbs [Necesario
└── package.json [Muy necesario]
Para poder cambiar el theme, debemos subir los ficheros a esa carpeta. Una opción muy común es utilizar curl
desde el servidor a un repositorio de github y descomprimirlo en dentro de la carpeta /var/www/ghost/content/themes
y después en el panel de control elegir el theme recién instalado.
Para que Ghost reconozca el theme recién instalado, deber reiniciar el servicio desde la terminal. Eso lo puedes hacer con el comando
$ sudo service ghost restart
Y voilá ya tienes tu blog ultra-hipster en Ghost corriendo y listo para que publiques tu contenido. Y si tienes dudas, tienes a tu disposición la documentación oficial de Ghost bastante completa.