GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo implementar Ghost Blog con Nginx en Ubuntu 18.04 LTS

Fantasma es una plataforma de blogs de código completamente abierto (licencia MIT), que está ganando popularidad entre los desarrolladores y usuarios comunes desde su lanzamiento en 2013. El código fuente de Ghost está disponible públicamente en GitHub. Ghost generalmente ocupa alrededor de ~300 MB de RAM para funcionar bien, por lo que puede ejecutarse en un hardware modesto. Se centra en contenidobloguear . Lo más atractivo de Ghost es su diseño simple, limpio, elegante y receptivo. Puede escribir las publicaciones de su blog desde un teléfono móvil. El contenido de Ghost está escrito y formateado utilizando el lenguaje Markdown. Ghost es perfecto para individuos o pequeños grupos de escritores. Ghost también tiene soporte integrado para páginas móviles aceleradas (AMP ), que hará que la carga de tu blog sea muy rápida en teléfonos móviles.


Recientemente, los desarrolladores de Ghost lanzaron la primera versión importante y estable de Ghost:1.0.0. Ghost 1.0.0 introdujo muchas características nuevas y las más notables entre ellas son: nuevo editor de Markdown, interfaz de usuario actualizada (IU ), nuevo diseño de tema predeterminado, nuevo y mejorado proceso de instalación y actualización con Ghost-CLI herramienta.


En este tutorial, vamos a configurar e implementar un blog Ghost seguro con la ayuda de la Ghost-CLI de Ghost. herramienta en un Ubuntu 18.04 LTS servidor usando Let's Encrypt , Acme.sh , Node.js , npm , Hilo , NGINX y MySQL /MariaDB .

Requisitos

  • Nombre de dominio. Este tutorial utilizará el dominio example.com.
  • Un servidor con Ubuntu 18.04 LTS con 1 GB o RAM.
  • Un usuario no root con privilegios sudo.

Pasos iniciales

Compruebe su versión de Ubuntu:

lsb_release -ds 
# Ubuntu 18.04 LTS

Configurar la zona horaria:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Actualice los paquetes de su sistema operativo:

sudo apt update && sudo apt upgrade -y

Instalar build-essential paquete:

sudo apt install -y build-essential

Paso 1:instalar Node.js y npm

NOTA :La última versión de Ghost 1.0.0 actualmente es compatible con las versiones de Node.js 8.9+ y 6.9+ solo.

Ghost se basa en Node.js. Vamos a instalar recomendado versión para Ghost que es v8 Carbon LTS en el momento de este tutorial de escritura. En Linux, tiene algunas opciones de instalación:binarios de Linux (x86/x64), código fuente o mediante administradores de paquetes. Usaremos el método Package Manager utilizando el repositorio Nodesource.

Descargue e instale el soporte a largo plazo más reciente (LTS ) versión (lanzamiento) de Node.js:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs

NOTA :npm se distribuye con Node.js, lo que significa que cuando descarga Node.js, npm se instala automáticamente en su computadora.

Compruebe la versión de Node.js y npm :

node -v && npm -v
# v8.11.2
# 5.6.0

Npm es un proyecto separado de Node.js y tiende a actualizarse con más frecuencia. Como resultado, incluso si acaba de descargar Node.js (y, por lo tanto, npm), probablemente necesite actualizar su npm. Afortunadamente, npm sabe cómo actualizarse. Para actualizar su npm, escriba esto en su terminal:

sudo npm install -g [email protected]

Vuelva a comprobar la versión de npm, debería ser la última versión:

npm -v
# 6.1.0

Paso 2:instalar el servidor MariaDB

Ghost admite bases de datos MySQL/MariaDB y SQLite. En este tutorial, sin embargo, usaremos la base de datos MariaDB . Si lo prefiere, puede usar MySQL en lugar de MariaDB.

Descargue e instale la última versión estable del servidor MariaDB del repositorio MariaDB en su máquina:

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64] https://mirrors.nxthost.com/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-server

Durante el proceso de instalación de MariaDB, se le pedirá que ingrese MariaDB root contraseña de usuario. Debe ingresar una contraseña segura.

Verificar versión de MariaDB:

mysql --version && sudo mysqld --version
# mysql  Ver 15.1 Distrib 10.3.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
# mysqld  Ver 10.3.7-MariaDB-1:10.3.7+maria~bionic-log for debian-linux-gnu on x86_64 (mariadb.org binary distribution)

Compruebe si el demonio MariaDB se ha iniciado y se está ejecutando:

sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service

Ejecute mysql_secure_installation utilidad (script) para mejorar la seguridad de su instalación de MariaDB:

sudo mysql_secure_installation


# Enter current password for root (enter for none):

# Change the root password? [Y/n] N
# Remove anonymous users? [Y/n] Y
# Disallow root login remotely? [Y/n] Y
# Remove test database and access to it? [Y/n] Y
# Reload privilege tables now? [Y/n] Y
# Success.

# All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

# Thanks for using MariaDB!

Inicie sesión (conéctese) a la línea de comando MariaDB como MariaDB root usuario:

mysql -u root -p

Cree una nueva base de datos y usuario de MariaDB para la instalación de Ghost. Este paso es opcional, porque la herramienta Ghost-CLI en un paso posterior puede crear una base de datos para usted, solo necesita ingresar las credenciales de usuario raíz de MariaDB (nombre de usuario y contraseña) cuando Ghost-CLI se lo solicite durante la instalación de Ghost:

mysql> CREATE DATABASE dbname;
mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL ON dbname.* TO 'username'@'localhost';
mysql> FLUSH PRIVILEGES;

Salir (desconectar) de MariaDB:

mysql> EXIT;

Paso 3:instalar NGINX

NGINX (engine-x) es un servidor web de alto rendimiento, equilibrador de carga, caché y servidor proxy que funciona bien en todos los entornos:bare metal, nube pública/privada/híbrida y contenedores. NGINX se utilizará como proxy inverso para nuestra aplicación Ghost.

NGINX se puede instalar de forma diferente, según el sistema operativo. Para Linux, se pueden usar los paquetes NGINX de nginx.org .

Descargue e instale la última línea principal (recomendado para la mayoría de las implementaciones ) lanzamiento de NGINX y módulos cargables dinámicamente directamente desde el repositorio oficial de NGINX:

wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt

Verifique que NGINX esté instalado comprobando su versión:

sudo nginx -v && sudo nginx -V
# nginx version: nginx/1.15.0
# nginx version: nginx/1.15.0

Inicie y habilite NGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Crear /etc/nginx/snippets, /etc/nginx/ssl/etc/nginx/sites-available /etc/nginx/sites-enabled directorios. Estos directorios son necesarios para que la herramienta Ghost-CLI funcione correctamente:

sudo mkdir -p /etc/nginx/{snippets,ssl,sites-available,sites-enabled}

Añadir a include /etc/nginx/sites-enabled/*.conf; directiva a nginx.conf archivo, ejecute:

sudo vim /etc/nginx/nginx.conf

Guarde el archivo y salga del editor de Vim.

Paso 4:instalar hilo (opcional)

Descargue e instale el administrador de paquetes Yarn en su sistema:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install -y yarn

Comprobar versión de hilo:

yarn --version
# 1.7.0

Paso 5:instalación de Ghost-CLI

Ghost-CLI es una herramienta de interfaz de línea de comandos (CLI) que facilita la instalación y actualización de Ghost. Establece la base de datos, configura NGINX como un proxy inverso, habilita la seguridad TLS/SSL usando Let's Encrypt CA, renueva automáticamente su SSL e inicializa Ghost como un servicio systemd. Ghost-CLI es un módulo npm que se puede instalar a través de npmyarn .

Descargue e instale la herramienta Ghost-CLI:

sudo npm install -g [email protected]
# or with Yarn
sudo yarn global add [email protected]

Comprobar la versión Ghost-CLI :

ghost version
# Ghost-CLI version: 1.8.1

Solucionar problemas del sistema para cualquier problema potencial al instalar o actualizar Ghost:

ghost doctor install

Paso 6:instalar Ghost

A continuación, instalaremos Ghost usando la herramienta Ghost-CLI.

Primero, cree un directorio raíz de documentos vacío:

sudo mkdir -p /var/www/example.com

Cambiar la propiedad de /var/www/example.com directorio al usuario no root con sudo privilegios que ha creado. En este ejemplo, johndoe:

sudo chown johndoe:johndoe /var/www/example.com

Su carpeta de instalación debe tener los permisos correctos:

sudo chmod 755 /var/www/example.com

Navegue hasta el directorio raíz de Ghost:

cd /var/www/example.com

Asegúrese de que el directorio esté vacío para evitar conflictos de archivos:

ls -a

Instale Ghost en modo de producción ejecutando:

ghost install

Responda cada pregunta cuando se le indique:

? Enter your blog URL: https://example.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: your_mysql_root_user_password_here
? Enter your Ghost database name: database_name_for_ghost
? Do you wish to set up "ghost" mysql user? yes ? Do you wish to set up Nginx? yes ? Do you wish to set up SSL? yes ? Enter your email (used for Let's Encrypt notifications) [email protected] ? Do you wish to set up Systemd? yes ? Do you want to start Ghost? yes

Una vez completada la instalación, ejecute

ghost ls

para ver los procesos de Ghost en ejecución.

En el futuro, para actualizar su blog de Ghost cuando se lance una versión más nueva, solo necesita ejecutar

ghost update

comando, desde el directorio de instalación de Ghost y Ghost-CLI se encargará de todo por usted.

Paso 7:configuración completa de Ghost

Para completar el proceso de configuración, vaya a la página de configuración de Ghost agregando /ghost al final de la URL o IP de tu blog. Este ejemplo usa https://example.com/ghost .

En la pantalla de bienvenida, haz clic en Crea tu cuenta :

Ingrese su correo electrónico, cree un usuario, contraseña y título del blog:

Invita a miembros adicionales a tu equipo. Si prefiere omitir este paso, haga clic en Lo haré más tarde, ¡lléveme a mi blog! en la parte inferior de la página.

Navega por el área de administración de Ghost para crear tu primera publicación, cambiar el tema de tu sitio o configurar ajustes adicionales:

¡Felicitaciones! Ha instalado e implementado correctamente la plataforma de blogs Ghost en el servidor Ubuntu 18.04 LTS.


Ubuntu
  1. Cómo instalar Nextcloud con Nginx en Ubuntu 18.04 LTS

  2. Cómo instalar Seafile con Nginx en Ubuntu 20.04 LTS

  3. Cómo instalar Phorum con Nginx en Ubuntu 18.04 LTS

  4. Cómo implementar Modsecurity con Nginx en Ubuntu 20.04 LTS

  5. Implemente Modsecurity con Nginx en Ubuntu 20.04 LTS

Cómo instalar phpMyAdmin con Nginx (LEMP) en Ubuntu 18.04 LTS

Cómo instalar Nginx con el módulo Ngx_Pagespeed en Ubuntu 16.04 LTS

Cómo instalar Joomla con Nginx en Ubuntu 18.04 LTS

Cómo instalar phpMyAdmin con Nginx en Ubuntu 18.04 LTS

Cómo instalar phpMyAdmin con Nginx en Ubuntu 20.04 LTS

¿Cómo implementar la aplicación Laravel con Nginx en Ubuntu?