Actualizar Ghost en Digital Ocean (Ubuntu Server 16.04)

Actualizar Ghost cuando este en modo de producción es algo que hay que tener en cuenta, en mi caso cree un Droplet en Digital Ocean con la opción de One-click apps y elegí Ghost 0.11.3 on 16.04 traduciendo (plataforma de blogs ghost v. 0.11.3 en Ubuntu Server v. 16.04), que para ese entonces era la ultima versión de Ghost.

Ya en la actualidad cuando me dirijo a mi panel de administración me arroja diferentes mensajes para actualizar la plataforma de Ghost, por lo que he decidido actualizar a la versión mas reciente y me he topado con algunos percances que he resuelto los cuales quisiera compartirles.

Proceso de actualización de Ghost

En este post vamos a actualizar Ghost en Digital Ocean usando Ubuntu Server v. 16.04.

Accede al droplet utilizando el usuario root, los datos de acceso son envíados a tu correo una vez creado un droplet.

Instalar el paquete build-essential

Este paquete es necesario para completar la actualización de Ghost, puedes instalarlo utilizando los siguientes comandos:

sudo apt-get update  
sudo apt-get install build-essential  

Descargar la ultima versión de Ghost

Una vez que hayas accedido a tu droplet navega hasta la carpeta www, utiliza en siguiente comando cd /var/www, es ahí donde descargaremos la ultima versión de Ghost.

Para descargar la ultima versión de Ghost utilizaremos cualquiera de los siguientes comandos.

$ wget https://ghost.org/zip/ghost-latest.zip

o

curl -LOk https://ghost.org/zip/ghost-latest.zip  

Descomprimir ghost

Una vez que se haya descargado Ghost, para descomprimirlo utilizaremos en siguiente comando.

Importante: en el siguiente comando ghost-0.11.8 es el nombre de la carpeta donde se descomprimirá la ultima versión de Ghost, así que nunca se les vaya ocurrir nombrarlo solamente ghost, porque recuerden que estamos en la carpeta www donde ya existe la carpeta ghost de nuestro proyecto creado anteriormente, para ver que archivos y carpetas hay en la carpeta www utiliza el comando ls.

unzip ghost-latest.zip -d ghost-0.11.8  

Eliminar archivos antiguos de ghost

Antes de copiar los archivos descomprimidos recientemente vamos a eliminar algunos archivos y carpetas antiguas de la plataforma Ghost, para esto nos dirigimos a la carpeta ghost con el siguiente comando cd ghost.

Comando para eliminar carpeta rm -rf nombre_carpeta y archivos rm nombre_archvivo.extension.

Eliminar

core //carpeta  
node_modules //carpeta (opcional)  
Gruntfile.js  
index.js  
package.json  
npm-shrinkwrap.json  

No eliminar

Recuerden que el archivo config.js tiene nuestra configuración de correo, base de datos los cuales no queremos cambiar y la carpeta content contiene (nuestros apps, base de datos siempre y cuando utilicen SQLite, imágenes, temas)

config.js  
content  //carpeta  

Copiando archivos nuevos a nuestra carpeta ghost

Una vez que hayamos depurado los archivos que se encontraban el la carpeta ghost, ahora vamos a ingresar a la carpeta ghost-0.11.8 donde se encuentran los archivos de la nueva versión de Ghost.

Recuerden que para moverse entre carpetas se utiliza el comando cd ruta y para retroceder de carpeta en carpeta utiliza el comando cd ..

Una vez estando en la carpeta ghost-0.11.8, ejecuta los siguientes comandos de uno en uno para copiar los archivos a la carpeta ghost.

cp -R core /var/www/ghost

cp Gruntfile.js index.js *.json /var/www/ghsot  

Comprobar los permisos necesarios

A continuación, usted tiene que dar el control sobre los archivos Ghost. Puede hacerlo escribiendo el siguiente comando:

chown -R ghost:ghost ghost/*  

Descargar o actualizar las dependencias de Ghost

Para actualizar o descargar las dependencias de Ghost, ejecuta el siguiente comando:

Si es que anteriormente no haz eliminado la carpeta nodemodules solamente se actualizara las dependencias, de lo contrario se creara la carpeta nodemodules nuevamente.

npm install --production  

Posibles errores al momento de descargar las dependencias

Si después de ejecutar el comando npm install --production, algo sale mal puede consultar sobre el error en el archivo npm-debug.log o ejecutar el comando npm cache clean y volver a intentarlo.

Un error que he experimentado es un mensaje que dice Killed, este mensaje se muestra básicamente por que nuestro droplet no tiene la memoria suficiente, se puede solucionar redimensionando el Droplet, en mi caso el Droplet tenia 512 MB / 1 CPU y lo cambie a 1 GB / 1 CPU solo hasta que se instalaran las dependencias, luego volví a cambiarlo 512 MB / 1 CPU.

Reiniciar Ghost

Una vez instalado las dependencias de Ghost solamente hay que reiniciar los servicios de Ghost y Nginx.

Ghost

sudo service ghost start  

Nginx

sudo service nginx restart  

Espero que tengan éxito al primer intento bye.

Compártelo en tus redes sociales, para que tus amigos lo lean :)

Luis Rene Mas Mas's Picture

Luis Rene Mas Mas

Desarrollador front-end & webmaster del blog 01luisrene.com

Trujillo - Perú @01luisrene

Únete al Blog

Obtén los últimos artículos publicados directamente en tu bandeja de entrada.

O suscríbase vía RSS con Feedly!

Comparte tu Opinión