GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar la plataforma de blogs Ghost en Ubuntu Server 18.04/20.04

Este tutorial le mostrará cómo instalar la plataforma de blogs Ghost en el servidor Ubuntu. Ghost es un software de blogs de código abierto codificado en Node.js, que le permite crear blogs modernos y hermosos. En comparación con WordPress, Ghost es liviano y mucho más rápido porque está diseñado específicamente para blogs y no es un sistema de administración de contenido completo como WordPress.

Características fantasma

Al momento de escribir este artículo, la última versión de Ghost es v3.2.0, lanzada el 23 de diciembre de 2019. Las características de Ghost son las siguientes:

  • Un editor basado en Markdown que te permite escribir publicaciones rápidamente.
  • Administración de contenido simple.
  • Edición colaborativa con tu equipo.
  • Publicación programada
  • Análisis integrado
  • SEO adecuado integrado directamente, con marcado semántico, enlaces permanentes, mapas de sitio XML, etiquetas canónicas y metadatos automáticos con anulaciones manuales.
  • Compatibilidad con AMP (páginas móviles aceleradas) integradas
  • Fuentes RSS completas, formularios de captura de suscripción por correo electrónico e integración de webhook de Slack
  • Cientos de hermosos temas gratuitos y premium están disponibles en el mercado de Ghost
  • Un atractivo tema predeterminado de Capser compatible con el modo oscuro.
  • Una aplicación de escritorio multiplataforma disponible para Linux, Mac y Windows.
  • El complemento oficial de WordPress de Ghost Migrator le permite migrar fácilmente de WordPress a Ghost.

La fundación Ghost ofrece alojamiento administrado, pero aquí veremos cómo crear un blog Ghost autohospedado en un servidor Ubuntu.

Requisitos previos para instalar Ghost en Ubuntu Server

Para ejecutar un blog de Ghost, necesita un servidor con al menos 1 GB de RAM. Puede hacer clic en este enlace especial para obtener $50 de crédito gratis en DigitalOcean. (Solo para nuevos usuarios). Si ya es usuario de DigitalOcean, puede hacer clic en este enlace especial para obtener $ 50 de crédito gratis en Vultr (solo para nuevos usuarios). Una vez que tenga una cuenta en DigitalOcean o Vultr, instale Ubuntu en su servidor y siga las instrucciones a continuación. Para una mejor compatibilidad, use la versión LTS de Ubuntu como Ubuntu 18.04 o 16.04.

También es necesario tener un nombre de dominio. Registré mi nombre de dominio de NameCheap porque el precio es bajo y ofrecen protección de privacidad whois gratis de por vida.

Nota :Instalé Ghost con un usuario sudo en Ubuntu. Para obtener los mejores resultados, también debe seguir este tutorial con un usuario sudo, no como root. Para agregar un usuario sudo, simplemente ejecute

sudo adduser username
sudo adduser username sudo

Luego cambie al nuevo usuario.

su - username

Paso 1:Actualizar Ubuntu

Si su servidor no se ha actualizado durante algún tiempo, ejecute el siguiente comando para actualizar los paquetes de software existentes.

sudo apt update;sudo apt upgrade

Paso 2:Instale Node.js en Ubuntu

Ghost requiere que instale la versión LTS de Node.js y no es compatible con la versión que no es LTS. La última versión LTS de Node.js es v12.x, pero actualmente Ghost es más compatible con Node.js v10.x. Agregue el repositorio de NodeSource usando el siguiente comando.

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

Luego instale Node.js.

sudo apt install nodejs

Comprobar la versión del nodo.

node -v

Salida de muestra:

v10.18.1

Comprobar npm versión:

npm -v

Salida de muestra:

6.13.4

Paso 3:Instale el servidor de base de datos MariaDB

es compatible con MySQL y MariaDB. MariaDB es un reemplazo directo para MySQL. Está desarrollado por antiguos miembros del equipo de MySQL que están preocupados de que Oracle pueda convertir a MySQL en un producto de código cerrado. Así que instalemos el servidor de base de datos MariaDB.

Ingrese el siguiente comando para instalarlo en Ubuntu 18.04/20.04.

sudo apt install mariadb-server mariadb-client

Una vez instalado, el servidor MariaDB debería iniciarse automáticamente. Usar systemctl para comprobar su estado.

systemctl status mariadb

Salida de muestra:

● mariadb.service - MariaDB 10.1.34 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-09-08 11:13:27 UTC; 21s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 3473 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 505)
   CGroup: /system.slice/mariadb.service
           └─3473 /usr/sbin/mysqld

Si no se está ejecutando, inícielo con este comando:

sudo systemctl start mariadb

Para permitir que MariaDB se inicie automáticamente en el momento del arranque del sistema, ejecute

sudo systemctl enable mariadb

Ahora ejecute el script de seguridad posterior a la instalación.

sudo mysql_secure_installation

Cuando le pida que ingrese la contraseña raíz de MariaDB, presione la tecla Intro ya que la contraseña raíz aún no está configurada. Luego ingresa y para establecer la contraseña raíz para el servidor MariaDB.

A continuación, puede presionar Entrar para responder a todas las preguntas restantes, lo que eliminará al usuario anónimo, deshabilitará el inicio de sesión raíz remoto y eliminará la base de datos de prueba. Este paso es un requisito básico para la seguridad de la base de datos MariaDB. (Tenga en cuenta que la letra Y está en mayúscula, lo que significa que es la respuesta predeterminada).

Consulte la información de la versión del servidor MariaDB.

mariadb --version

Salida:

mariadb Ver 15.1 Distrib 10.1.34-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Paso 4:Cree una base de datos y un usuario para Ghost

Ahora debemos iniciar sesión en la consola de MariaDB y crear una base de datos y un usuario para Ghost. De forma predeterminada, el paquete MaraiDB en Ubuntu usa unix_socket para autenticar el inicio de sesión del usuario, lo que básicamente significa que puede usar el nombre de usuario y la contraseña del sistema operativo para iniciar sesión en la consola de MariaDB. Entonces puede ejecutar el siguiente comando para iniciar sesión sin proporcionar la contraseña de root de MariaDB.

sudo mariadb -u root

Cree una base de datos para Ghost usando el siguiente comando. Lo nombré ghost , pero puedes usar el nombre que quieras. (No omita el punto y coma).

create database ghost;

Luego ingrese el siguiente comando para crear un usuario de base de datos para Ghost y otorgar todos los privilegios de la base de datos fantasma al usuario.

grant all privileges on ghost.* to ghost@localhost identified by 'ghost_password';

Vacíe la tabla de privilegios para que los cambios surtan efecto y luego salga de la consola de MariaDB.

flush privileges;

exit;

Paso 5:Instalar el servidor web Nginx

Ghost usará el servidor web Nginx, así que ejecute el siguiente comando para instalarlo desde el repositorio predeterminado de Ubuntu.

sudo apt install nginx

Si está utilizando el firewall UFW, también debe abrir los puertos 80 y 443.

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Paso 6:Cree un registro para el nombre de dominio de su blog

Antes de instalar Ghost, se recomienda que cree el registro DNS A para el nombre de dominio de su blog. El registro A apunta su nombre de dominio a la dirección IP de su servidor Ubuntu.

Paso 7:Instalar Fantasma

Instale Ghost-CLI.

sudo npm install [email protected] -g

Luego crea un directorio (/var/www/ghost/ ) para Fantasma.

sudo mkdir -p /var/www/ghost/

Otorga permisos a tu cuenta de usuario. Reemplazar username con tu nombre de usuario real.

sudo apt install acl

sudo setfacl -R -m u:username:rwx /var/www/ghost/

sudo chmod 775 /var/www/ghost

Ahora cambie el directorio de trabajo a /var/www/ghost/ e instala Ghost.

cd /var/www/ghost/

ghost install

La instalación puede tardar un poco. Durante la instalación, se le pedirá que ingrese la URL de su blog. Ingrese algo como https://yourdomain.com . Y deberá ingresar el nombre de la base de datos MariaDB, las credenciales de usuario que creó en el paso 4.

? Enter your blog URL: https://yourdomain.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: ghost
? Enter your MySQL password: ghost_password
? Enter your Ghost database name: ghost

Si está utilizando Ubuntu 20.04 y ve el siguiente mensaje, puede ignorarlo y continuar con la instalación.

System checks failed with message: 'Linux version is not Ubuntu 16 or 18'
Some features of Ghost-CLI may not work without additional configuration.
For local installs we recommend using `ghost install local` instead.

Un ghost El usuario del sistema se creará automáticamente. Se recomienda que acepte configurar Nginx y SSL, por lo que su blog estará disponible a través del protocolo seguro HTTPS. Además, acepte configurar el servicio Systemd para que pueda iniciar, detener o reiniciar Ghost fácilmente.

Una vez que Ghost se instaló correctamente, vaya a https://yourdomain.com/ghost para completar la configuración. Primero, necesitas crear una cuenta.

Luego puede invitar a algunos usuarios del personal a su blog de Ghost, o puede hacerlo más tarde.

Paso 8:edite el archivo de configuración de Nginx

De forma predeterminada, el archivo de configuración de Nginx para Ghost contiene un nombre de dominio. Si desea que Nginx funcione tanto en el dominio www como en el dominio que no es www, edite el archivo de configuración.

sudo nano /etc/nginx/sites-enabled/yourdomain.com.conf

Encuentra la siguiente línea

server_name yourdomain.com;

Agregue el dominio www.

server_name yourdomain.com www.yourdomain.com;

Guarde y cierre el archivo. Luego elimine el /etc/nginx/sites-enabled/yourdomain.com-ssl.conf archivo.

sudo rm /etc/nginx/sites-enabled/yourdomain.com-ssl.conf

Luego instale el cliente Certbot Let's Encrypt

sudo apt install certbot python3-certbot-nginx

Obtenga un certificado SSL tanto para el dominio www como para el dominio no www.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d yourdomain.com,www.yourdomain.com

Reinicia Nginx y listo.

sudo systemctl restart nginx

Paso 9:configurar la notificación por correo electrónico

Para enviar correos electrónicos desde su blog Ghost (para restablecer la contraseña, invitar a los usuarios del personal, registrarse como miembro, etc.), debe configurar los ajustes de SMTP. Si desea utilizar su propio servidor de correo electrónico, lea el siguiente tutorial para configurar fácilmente su propio servidor de correo electrónico.

  • Cómo configurar fácilmente su propio servidor de correo electrónico en Ubuntu 18.04 con iRedMail

Una vez que tenga su propio servidor de correo electrónico, edite el archivo de configuración de Ghost.

sudo nano /var/www/ghost/config.production.json

Por defecto, la configuración de correo es la siguiente:

"mail": {
   "transport": "Direct"
},

Cámbielo para usar SMTP.

"mail": {
    "transport": "SMTP",
    "from": "[email protected]",
    "options": {
        "service": "yourdomain.com",
        "host": "mail.yourdomain.com",
        "port": 465,
        "secureConnection": true,
        "auth": {
            "user": "[email protected]",
            "pass": "the_email_account_password"
        }
    }
},

Tenga en cuenta que Ghost no admite el puerto 587 para SMTP. Guarde y cierre el archivo. Luego reinicie Ghost a través del servicio systemd.

sudo systemctl restart ghost_yourdomain-com.service

Ahora su blog Ghost debería poder enviar correos electrónicos.


Ubuntu
  1. Cómo instalar el servidor web Nginx en Ubuntu 18.04

  2. Cómo instalar el servidor RabbitMQ en Ubuntu 18.04 y 16.04 LTS

  3. Cómo instalar el servidor Gitlab en Ubuntu 18.04 y 16.04 LTS

  4. Cómo instalar MsSQL Server 2019 en Ubuntu 20.04

  5. Cómo instalar Ansible en Ubuntu Server 21.04

Cómo instalar AngularJS en Ubuntu 22.04/20.04

Cómo instalar Webmin en Ubuntu 20.04/22.04

Cómo instalar Webmin en el servidor Ubuntu 18.04 y Ubuntu 16.04

Cómo instalar CouchPotato en Ubuntu Server/Desktop

Cómo instalar Ghost en Ubuntu 20.04 LTS

Cómo instalar el servidor de Minecraft en Ubuntu 20.04