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 contenido y bloguear . 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
y /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 npm
o yarn
.
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.