Ghost es una plataforma de blogs gratuita y de código abierto escrita en node.js , completamente personalizable y dedicada a la publicación.
Prepare el servidor: actualice los paquetes, instale Node.js y NPM
Demostraremos la instalación iniciando sesión en el servidor como root
, de modo que no necesitemos agregar sudo
antes de cada comando. Si ha iniciado sesión como otro usuario, recuerde que lo necesitará sudo
.
En su servidor, ejecute lo siguiente para actualizar el índice de paquetes, actualizar paquetes e instalar nodejs
y npm
.
apt-get update
apt-get upgrade
apt-get install python software-properties-common gcc g++ make -y # auto install
add-apt-repository ppa:chris-lea/node.js -y
El resultado de estos comandos debe ser similar a:
gpg: keyring `/tmp/tmpvpe2ugzj/secring.gpg' created
gpg: keyring `/tmp/tmpvpe2ugzj/pubring.gpg' created
gpg: requesting key C7917B12 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpvpe2ugzj/trustdb.gpg: trustdb created
gpg: key C7917B12: public key "Launchpad chrislea" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
Automáticamente, la clave de firma del paquete se agregará al llavero (para que se puedan verificar los paquetes descargados), y el PPA se agregará a los APT sources.list.d
.
Ahora, corramos:
apt-get update # again
apt-get install nodejs -y
Ejecute npm
para probar la instalación. Verá npm
el uso impreso en la pantalla:
Usage: npm <command>
...
...
[email protected] /usr/lib/node_modules/npm
Ahora podemos instalar Ghost.
Instalación: Ghost y Nginx
Como Ghost ahora se considera "estable", se puede instalar a través de npm
. Instalar con el siguiente comando:
npm install -g ghost --production
Ignora cualquier advertencia por ahora.
A continuación, iniciaremos Ghost y verificaremos si funciona correctamente.
cd /usr/lib/node_modules/ghost
npm start --production
La salida debería verse así:
> [email protected] start /usr/lib/node_modules/ghost
> node index
Migrations: Database initialisation required for version 003
...
Migrations: Complete
Ghost is running...
Your blog is now available on http://my-ghost-blog.com
Ctrl+C to shut down
¡Funciona! Use Ctrl-C para cerrar Ghost y continúe con el siguiente paso: instalar (y configurar) Nginx.
Nginx es muy simple de instalar. Ejecute el siguiente comando:
apt-get install nginx
Nginx se configurará para permitir la conexión desde cualquier lugar de la naturaleza al puerto 80 (o 443, si usa SSL ) en su servidor, que luego se reenvía (" proxy ") a Ghost. Así es como las personas se conectan a tu blog.
Configurar Nginx tampoco es tan difícil. Siga estos pasos para configurar el proxy Ghost.
Primero, elimine el archivo de configuración predeterminado:
cd /etc/nginx/
rm sites-enabled/default
Luego, cree un nuevo archivo de configuración:
cd sites-available
touch ghost
Adapte las siguientes líneas a su necesidad y use algo como nano
o vi
para pegarlo (deberá configurar server_name
su nombre de dominio):
server {
listen 80;
server_name yourdomain.tld;
access_log /var/log/nginx/yourdomain.tld.log; # if you want logging
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_pass http://127.0.0.1:2368;
proxy_redirect off;
}
}
Enlace simbólico a su archivo de configuración:
cd /etc/nginx
ln -s sites-available/ghost sites-enabled/ghost
Reiniciar Nginx:
service nginx restart
En este punto, Nginx está instalado, configurado y ejecutándose en su servidor.
Finalmente: inicie Ghost automáticamente
Supervisor es un sistema de control de procesos que le permite ejecutar Ghost al inicio sin usar scripts de inicio. Instalaremos Supervisor para administrar Ghost.
Para instalar Supervisor, ejecute:
apt-get install supervisor
service supervisor start
Luego, cree un nuevo archivo de script en /etc/supervisor/conf.d/ghost.conf
. Pegue en estos contenidos:
[program:ghost]
command = node /usr/lib/node_modules/ghost/index.js
directory = /usr/lib/node_modules/ghost
user = ghost
autostart = true
autorestart = true
stdout_logfile = /var/log/supervisor/ghost.log
stderr_logfile = /var/log/supervisor/ghost_err.log
environment = NODE_ENV="production"
Guarde y cierre el archivo.
A continuación, necesitamos crear un usuario para Ghost y darle permisos para acceder a los archivos y la base de datos de Ghost. Ejecute los siguientes comandos:
useradd ghost
chown -R ghost /usr/lib/node_modules/ghost/
supervisorctl reread
supervisorctl update
¡Nuestra configuración está completa!
Ahora puedes controlar Ghost ejecutando supervisorctl start ghost
y supervisorctl stop ghost
.