Para ver los comentarios debes habilitar Javascript ;).

Configurar Ghost en Ubuntu

Este primer post lo voy a dedicar a explicar los pasos que he seguido crear este blogg. Para ello, explicaré cómo instalar y configurar Ghost en un servidor Ubuntu 12.04 LTS.

Nivel de dificultad Tiempo estimado de puesta en práctica Coste
Bajo 2 horas 5€/mes

¿Qué es Ghost?

Es una plataforma Open Source para crear blogs. Está desarrollada con NodeJS y tiene una interfaz de usuario limpia y clara.

Los contenidos se escriben en formato Markdown, por lo que podemos escribir de forma rápida sin prestar mucha atención al formato.

Comenzamos!

Hosting

Lo primero que necesitas es disponer de una máquina donde realizar probar todo. Puedes hacerlo sobre una máquina local propia o contratar algún servicio de cloud.

  • Ghost(Pro): los creadores del proyecto ofrecen un hosting (de pago) completamente administrado. Si lo que quieres es olvidarte de configuraciones, actualizaciones, etc… y sólo quieres bloguear, esta es tu opción.

  • Amazon EC2: Amazon ofrece la posibilidad de probar sus servicios cloud de forma gratuita durante un año. Puede ser una opción interesante si te apetece probar gratis durante 12 meses Ghost y AWS.

  • Digital Ocean: Este proveedor ofrece máquinas virtuales preparadas para trabajar con Ubuntu 12.04 y Ghost. Te puede interesar si quieres tener algo más de control sobre la instancia y cacharrear un poco.

Instalar Ghost

Parto de la base que ya tienes el sistema operativo configurado y listo para comenzar a trabajar. Para instalar Ghost, hay que seguir los siguientes pasos:

  • Me descargo el paquete

    $ > curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
  • Lo descromprimo

    $ > unzip -uo ghost.zip -d /home/koldo/ghost
  • Instalo Ghost

    $ > npm install --production

Actualizar la IP del host. Para ello:

  • Editamos el fichero de configuración de Ghost:
$ > sudo vi config.js

, y configuramos Ghost con nuestros datos:

// ### Production
// When running Ghost in the wild, use the production environment
// Configure your URL and mail settings here
production: {
    url: 'http://<URL_DE_TU_DOMINIO>',
    mail: {},
    database: {
        client: 'sqlite3',
        connection: {
            filename: path.join(__dirname, '/content/data/ghost.db')
        },
        debug: false
    },
    server: {
        // Host to be passed to node's `net.Server#listen()`
        host: '<IP_DE_TU_SERVIDOR>',
        // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
        port: '<PUERTO>'
    }
},
  • Añado al variable de entorno para indicar el entorno que se va a ejecutar

    $ > export NODE_ENV=production
  • Cuando instala Ghost, ejecutar el siguiente comando para arrancar Node:

    $ > npm start

Nota: Para correr Node en segundo plano y en modo Producciónejecutamos:

$ > nohup npm start --production >/dev/null 2>&1 &

Crear y configurar el blog

Una vez instalado Ghost, tenemos que configurarlo. Para ello, accedemos a la URL:

http://<IP_ghost>:2368/ghost/

Nos aparecerá una pantalla donde tendremos que crearnos un primer usuario para el nuevo blog. Rellenas los datos y listo!

Ahora ya puedes empezar a escribir tus post en tu nuevo blog. Si no conoces la sintaxis de Markdown, puedes echar un ojo a esta chuleta con la sintaxis de Markdown

Añadir Disqus a Ghost

Lo primero que haremos es crear cuenta en Disqus. Una vez hecho,

Una vez hecho, me copio el codigo que me da discus y añadimos las variables de Discus que queremos configurar:

  • disqus_identifier: id del post donde va el comentario. En mi caso, post.id
  • disqus_title: el titulo del post
  • disqus_url: url del post para que Discus los trate como único.

El resultado quedará de la siguiente forma:

<div id="disqus_thread"></div>
<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
    var disqus_shortname = '<TU_NOMBRE_USUARIO>'; // required: replace example with your forum shortname
    var disqus_identifier = '{{post.id}}'; // make sure to use the post.id as an identifier, otherwise disqus will use the pages url per default, which might be problematic...
    var disqus_title = '{{post.title}}';
    var disqus_url = '{{post.url}}';

    /* * * DON'T EDIT BELOW THIS LINE * * */
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>
<noscript>Debes habilitar JavaScript para ver los <a href="http://disqus.com/?ref_noscript">comentarios de Disqus</a></noscript>

Introducimos el snippet anterior en el fichero post.hbs. El fichero está en el directorio del theme:

<root_ghost_dir>/content/themes/casper/

, reiniciamos Ghost y listo.

Cómo reiniciar Ghost de forma manual

Nos logeamos en el servidor vía SSH y nos movemos al directorio donde está instalado Ghost (el blog). Una vez ahí, ejecutamos el siguiente comando para parar NodeJS (esto dejará el sitio offline):

$ > pkill node

Arrancamos de nuevo el servidor:

$ > nohup npm start --production >/dev/null 2>&1 &

De esta forma tan fácil tienes corriendo en un servidor propio un blog con la misma pinta que este.

Publicado el 24 de noviembre de 2014

Comentarios


En algún sitio lo tenía que apuntar
Koldo Hernández :: Blog on Twitter