Ghost es el último y más grande advenedizo para rivalizar con WordPress. El desarrollo del tema es rápido y fácil de aprender porque los desarrolladores de Ghost decidieron usar los marcos ember.js y handlebars.js para eliminar parte de la curva de aprendizaje. El tiempo de instalación y configuración debe tomar aproximadamente 45-60 minutos y hace uso de las siguientes tecnologías: Node.js
, Relayd
, y Httpd
.
Nota: Reemplace example.org con su nombre de dominio y 192.0.2.x con su dirección IP de Vultr asignada. También utilizaremos certificados autofirmados que son realmente buenos solo para pruebas. Si decide utilizar Ghost en producción, es extremadamente importante utilizar un certificado real. Se pueden obtener certificados reales de forma gratuita utilizando Let's Encrypt .
Configurando OpenBSD
Habilitar Httpd
y relayd
.
# rcctl enable httpd relayd
Cree el /etc/httpd.conf
archivo de configuración para Httpd. En este ejemplo, el único propósito de Httpd es redirigir las solicitudes a https. En realidad, Relayd será el que escuche en el https
puerto y delegue las solicitudes a Ghost.
prefork 3
types { include "/usr/share/misc/mime.types" }
server "www.example.org" {
listen on 192.0.2.1 port 80
# Redirect to https
block return 301 "https://$SERVER_NAME:$REQUEST_URI"
}
Cree los certificados SSL de prueba para su implementación de Ghost. Dado que esto solo será para pruebas, puede dejar la mayoría de los campos en blanco. El único que deberá completar es el Common Name
campo y debe coincidir con el nombre de dominio completo del servidor. Cuando esté listo para reemplazar el certificado autofirmado por uno que sea verdadero y válido, solo recuerde mantener los nombres de los archivos iguales. Relayd espera encontrar su clave y certificado con la convención de nomenclatura <ip address>.crt
y <ip address>.key
.
# cd /etc/ssl
# openssl req -x509 -new -nodes -newkey rsa:4096 -keyout private/192.0.2.1.key -out 192.0.2.1.crt -days 364 -sha256
# chmod 0400 private/192.0.2.1.key
Cree el /etc/relayd.conf
archivo de configuración para Relayd. Relayd hace la magia que representa y redirige las solicitudes a Ghost.
prefork 3
http protocol https {
match request header append "X-Forwarded-For" value "$REMOTE_ADDR"
match request header append "X-Forwarded-By" \
value "$SERVER_ADDR:$SERVER_PORT"
tcp { nodelay, sack, socket buffer 65536, backlog 128 }
tls { no tlsv1, ciphers HIGH }
tls no session tickets
}
relay ghost {
listen on 192.0.2.1 port 443 tls
protocol https
forward to 127.0.0.1 port 2368
}
Agregue los siguientes paquetes.
pkg_add -r node unzip wget
Cree un usuario y un directorio de inicio para la instalación de Ghost. Por ejemplo, cree un usuario nombrado ghost
con un directorio de inicio llamado /var/www/ghost
. Use una contraseña muy segura para esta cuenta.
# user add -m -c "Ghost User" -d /var/www/ghost -G wheel -g =uid -u 5000 -s /bin/ksh ghost
# passwd ghost
Cambie al ghost
usuario y descargue la última versión de Ghost.
# doas su ghost
# cd /var/www/ghost
# mkdir blog
# cd blog/
# wget https://ghost.org/zip/ghost-latest.zip
# unzip ghost-latest.zip
Instalar fantasma.
# npm install sqlite3 --sqlite=/usr/local
# npm install --production
# npm install forever
# doas npm install -g knex-migrator
Configurar fantasma. Reemplace la database
sección de config.production.json
con la database
cláusula a continuación si desea utilizar en sqlite
lugar de mysql
. Sqlite manejará fácilmente alrededor de 100,000 conexiones al día. Si ya tiene instalado MySQL, siempre puede elegir usarlo. Para el defaults.json
archivo, cambie la domain
parte de url
a su dominio.
# cd core/server/config/env/config/
# vi config.production.json
"database": {
"client": "sqlite3",
"connection": {
"filename": "content/data/ghost.db"
},
# cd core/server/config/
# vi defaults.json
"url": "http://www,example.org",
"server": {
"host": "127.0.0.1",
"port": 2368
},
Ahora tenemos que llenar la base de datos e iniciar Ghost.
# cd ~/blog
# NODE_ENV=production knex-migrator init
# NODE_ENV=production ~/blog/node_modules/forever/bin/forever start ~/blog/index.js
Realice ay netstat -na -f inet
busque una 127.0.0.1:2368
entrada. También puede hacer una ps ax | grep node
para verificar que Ghost se esté ejecutando.
Abra su navegador web favorito y busque http://www.example.org
. Serás redirigido automáticamente a https://www.example.org
. Serás recibido con la página fantasma predeterminada.
Navegue para http://www.example.org/ghost
finalizar la instalación.