Como crear un blog con ghost

Hola amigos, los que sabrán mucho de mi trayectoria por la web sabrán que a lo largo del tiempo he tenido mucho que ver con lo que es blog, bueno pues comencé por ahí en el 2011 con jimdo, luego evolucioné a lo que es wordpress, pero salí por que creo que wordpress es mucho para lo que yo necesito, por que pasó de ser un simple blog a ser un casi framework completo, bueno pues estuve buscando y me topo con ghost, que es un sistema para bloguer profesionales, creado con Node.js y Ember.js con motor de plantillas en Handlebars, con una UI extremadamente genial minimalísta hasta ya no más poder, enserio me pregunto cómo fue que no había descubierto esto antes?

Bueno hoy les voy a enseñar de cómo crear un blog con ghost instalación y configuración de nuestro servidor, instalación fácil en un hosting compartido y en un droplet de Digital ocean. Lo escucharon bien en un hosting compartido!!

Bueno lo primero que necesitamos es tener ya sea un hosting compartido cualquiera que tenga muchos beneficios yo por lo general recomiendo mucho lo que es inmotion hosting, es más para este proyecto ese estaremos utilizando.

Pasos de instalación en hosting compartido:

  • Inicio de sesión en nuestro cpanel.
  • buscamos lo que es softaculus en nuestro panel de administración.
  • buscamos en la sección de blog y luego verificamos que tengamos la opción de poderlo instalar en nuestro hosting, tiene que salir la opción de ghost, por lo general inmotion hosting sí tiene esa opción yo uso la opción de pro de 13 dólares al mes.
  • Para instalarlo solo llenamos los datos que nos solicitan, que no son otra cosa más que el dominio de donde se instala y nuestro correo y nombre para la base de datos.
  • Una vez echo esto solo tienes que escribir tu nombre de dominio+ghost en la barra de direcciones de tu buscador: www.example.com/ghost.
  • Ahí solo registras los datos que se te indican que son el nombre del blog, y correo de recuperación y listo ya puedes bloguear.

Pasos e instalación en digitalocean:

  • Registrarse en Digital ocean.
  • Llenar los datos de pago y datos personales.
  • Seleccionamos la opción de create droplet.
  • seleccionamos la opción one-click-app.
  • Luego seleccionamos ghost.
  • luego la opción de $5.00 dólares al mes esta soporta unas 40 a 50 mil visitas mensuales.
  • Luego seleccionamos la región dependiendo de donde es que viene nuestro público, por ejemplo conmigo todos son latinos así que elijo la opción de san francisco uno.
  • Luego si deseamos podemos elegir las otras opciones como una Ipv6, o un backup pero eso aumenta el precio.
  • Luego agregamos nuestra clave ssh, esto es opcional, pero si lo recomiendo mucho, para evitar estar escribiendo la contraseña cada vez que iniciamos sesión desde la terminal, para agregarla solo abrimos una terminal y escribimos esto ssh-keygen -t rsa, luego luego presionamos Enter hasta que nos salga que terminó el proceso, luego nos vamos a la carpeta root y buscamos la carpeta .ssh luego buscamos el archivo que se llama id_rsa.pub lo abrimos y copiamos todo lo que está ahí y lo agregamos a la opción de new SSH Key de digitalocean, le colocamos un nombre y listo lo guardamos.
  • Luego le colocamos de nombre al dropet ghost y le damos create.
  • Esperamos que termine la instalación.
  • colocamos en nuestra barra de direcciones nuestra ip+ghost 45.55.5.160/ghost y listo ya podemos agregar nuestras configuraciones a nuestro blog que son muy sencillas.

Agregando dominio a nuestro sitio web:

Si tu ya tienes un dominio comprado y esta en el mismo lugar donde tienes agregado el blog, no importa por que automáticamente agrega el dominio al sitio, pero si lo tienes en otro proveedor de dominios en mi caso Go daddy tienes que hacer lo mismo que yo este caso sería común tratándose de el droplet pues ahí no hay dominio, pero yo enseñaré como hacerlo tanto en el hosting como en el droplet.

hosting:

  • Ingresamos a nuestra cuenta AMP login en inmotion hosting.
  • luego nos vamos a donde dice Account Technical Details.
  • Luego nos vamos a nuestro proveedor de dominios y nos vamos a administrar dominio seleccionamos el dominio y luego administrar dns y escribimos los datos que están en nuestra cuenta AMP de inmotion, solo esperamos

DigitalOcean:

  • nos vamos a donde dice droplet y en más opciones le damos agregar dominio, escribimos el dominio que compramos por ejemplo: hackemate.ninja.
  • Una vez hecho esto nos le damos aceptar y nos vamos a nuestro proveedor de servicio, una vez estando ahí nos vamos a administrar dominios, luego administrar dns y agregamos los datos que están en digitalocean que son estos

ns1.digitalocean.com. ns2.digitalocean.com ns3.digitalocean.com.

  • luego guardamos y listo esperamos máximo un día hasta que se agregue el dominio.
  • si queremos que en nuestro ghost aparezca www.example.com en lugar de example.com, ahí mismo en la configuración de dominio de digitalocean agregamos en donde dice CNAME el prefijo www y luego la @.

configuración de nuestra instalación ghost.

Tanto para el hosting compartido como para el droplet de digitalocean es necesario poder hacer esta configuración lo haré solo en el droplet, pero funciona de la misma manera en el hosting, solo tienes que entrar al administrador de archivos para poder hacer los mismos cambios que yo haré.

  • Ingresamos a nuestro droplet desde la terminal escribiendo esto en una nueva terminal: ssh root@45.55.5.160 substituye esa Ip por la de tu droplet, para no tener que hacer esto cada vez que querremos entrar a nuestro droplet nos vamos a la carpeta personal en linux y buscamos el archivo .bashrc luego nos vamos hasta el final del documento y agregamos esto: alias ghost="ssh root@45.55.5.160" lo gurdamos y ahora cuando abramos una terminal nueva solo tenemos que escribir ghost y listo ya podremos ingresar a nuestro droplet.
  • cuando estemos dentro escribimos esto: sudo apt-get udpdate
  • escribimos esto para ir a nuestra carpeta de archivos y hacer las respectivas modificaciones: cd ../ && cd var/www/ghost/ && nano config.js.
  • se abrirá un archivo y tenemos que modificar las siguientes lineas:
    production: {
            url: 'http://my-ghost-blog.com',
            mail: {},
            database: {
                client: 'sqlite3',
                connection: {
                  filename: path.join(__dirname,    '/content/data/ghost.db')
                },
            debug: false
            },
            server: {
                host: '127.0.0.1',
                port: '2368'
            } 
        },
  • Las modificamos donde dice url borramos donde dice http://my-ghost-blog.com por la url de nuestro blog.
  • donde está mail agregamos esto;
    mail: {
              transport: 'SMTP',
              options: {
                  service: 'Gmail',
                   auth: {
                     user: 'ejemplo@gmail.com', // gmail username
                     pass: 'ejemplo'  // gmail password
                 }
             }
         },
  • con esto decimos cual es nuestro correo y nuestro sitio web, esto sirve para cuando le demos clic al logo en nuestro blog nos dirija a la verdadera url y lo del correo es para cuando perdamos nuestra contraseña se nos envíe a nuestro correo para poder recuperaría.

  • luego guardamos el archivos presionando Ctrl + x le damos a la y y luego a Enter.

  • luego escribimos en la terminal sudo service ghost restart.

  • para agregar un theme tenemos que colocarlo dentro de la carpeta cd/content/themes del anterior del directorio ghost y ahí podemos clonar un theme ya sea gratis o de pago hay muy buenos gratis, por ejemplo este que tengo es una modificación de theme casper que viene por defecto, solo escribes apt-get install git luego clonas el repositorio con git clone https://github.com/hackemateninja/bloguito.git listo vuelves a escribir sudo service ghost restart y recargas tu panel de administración eliges el theme bloguito y le das guardar.

Listo ya estas preparado para escribir ideas y conocimiento en Internet, te invito a que sigas visitando este blog ya que hay artículos de como crear tu propio theme, como modificar redirecciones, como comprimir el sitio, y como mejorar muchos aspectos como el seo y la velocidad de carga del sitio web