Instalar Ghost v1 en Centos 7 sin ghost-cli
En la nueva versión de Ghost tenemos el Ghost CLI que ayuda en la automatización de muchas tareas como:
- instalar: solo ejecutando el comando
ghost install
- actualizar: solo ejecutando el comando
ghost update
- ... entre otras (en otro post explicare como utilizar los comandos de ghost-cli)
Lastimosamente esta herramienta esta diseñada y pensada para correr sobre Ubuntu, tratando de instalar Ghost tuve muchos problemas y tarde horas y horas buscando una solución la cual la dejo a continuación:
- Instalar Yarn
Tu actualmente no necesitas instalar yarn, pero como Ghost proporciona un archivo yarn.lock, podria ser buena idea usuarlo. Además en general, yarn me parece mejor que npm.
curl -o- -L https://yarnpkg.com/install.sh | bash
- Descargar el Zip
Para descargar la ultima versión solo debes ejecutar el siguiente comando:
curl -L https://ghost.org/zip/ghost-latest.zip -o ghost-latest.zip
Y puedes extraerla donde quieras, por ejemplo:
unzip ghost-latest.zip -d ghost && cd ghost
- Instalar dependencias
Ubicate dentro de la carpeta donde has instalado Ghost y ejecuta el siguiente comando:
yarn install
- Configuración
Como no estamos utilizando Ghost-Cli nos toca crear el archivo de configuración manualmente, sin embargo hay algunas configuraciones de entorno predefinidas ubicadas ene el directorio de Ghost y podemos simplemente copiarlas (En el directorio raiz de Ghost ejecutar):
cp core/server/config/env/config.production.json config.production.json
Edítelo config.production.jsonsegún sus necesidades (especialmente la databaseconfiguración). Además, debe especificar la URL y la configuración del servidor dentro de su archivo de configuración; al final su archivo debería verse más o menos así:
{
"url": "<URL_OF_YOUR_BLOG>",
"server": {
"host": "127.0.0.1",
"port": <DESIRED_PORT>
},
"database": {
"client": "mysql",
"connection": {
"host" : "127.0.0.1",
"user" : "<DB_USER>",
"password" : "<DB_PASSWORD>",
"database" : "<DB_NAME>"
}
},
"auth": {
"type": "password"
},
"paths": {
"contentPath": "content/"
},
"logging": {
"level": "info",
"rotation": {
"enabled": true
},
"transports": ["file", "stdout"]
}
}
- Knex Migrator
Ghost utiliza la herramienta llamada "Knex migrator" para realizar las migraciones de la base de datos, primero ñnecesitamos instalarla:
npm install -g knex-migrator
Despues correrlo
NODE_ENV=production knex-migrator init
Esto creara todas las tablas que necesitas para Ghost en tu base de datos.
- Ejecutarlo
Listo eso es todo. Ahora ya puedes ejecutarlo con:
NODE_ENV=production node index.js
No usar Ghost CLI probablemente tiene sus desventajas, pero en caso de que no puedas simplemente ejecutarlo, esta podría ser una solución para hacer que Ghost 1.0 funcione.