GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar Ghost en Ubuntu 18.04

Ghost es una plataforma de publicación de fuentes moderna construida sobre la plataforma Node.js. Es totalmente personalizable y fácil de usar, lo que le permite publicar su contenido con una curva de aprendizaje casi nula.

En este tutorial, le mostraremos cómo implementar un blog Ghost seguro en un servidor Ubuntu 18.04 utilizando Nginx como proxy, el certificado SSL Let's Encrypt gratuito, la última versión LTS de Node.js y MySQL/MariaDB como base de datos. .

Requisitos previos #

Como requisitos previos para seguir este tutorial, necesitará:

  • Según los requisitos oficiales del sistema Ghost, necesita al menos 1 GB de RAM. Si tiene un servidor con menos de 1 GB de RAM, puede crear un archivo de intercambio.
  • Un nombre de dominio que apunte a la IP de su servidor público. En este tutorial usaremos example.com .
  • Nginx instalado siguiendo Cómo instalar Nginx en Ubuntu 18.04.
  • Firewall configurado siguiendo Cómo configurar un firewall con UFW en Ubuntu 18.04. Asegúrese de que los puertos 80 y 443 están abiertos.

Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.

Instalación de Node.js y Yarn #

Al momento de escribir este artículo, la versión recomendada de Node.js para Ghost es v8 carbon LTS. Instalaremos Node.js desde el repositorio de NodeSource.

Habilite el repositorio de NodeSource para Node.js v8 usando el siguiente curl comando:

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

Instale Node.js escribiendo:

sudo apt install nodejs
Para conocer otros métodos de instalación, consulte nuestra guía Cómo instalar Node.js en Ubuntu 18.04.

Para instalar yarnfirst, habilite el repositorio de Yarn en su sistema con los siguientes comandos:

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

Una vez que el repositorio esté habilitado, instale yarn con:

sudo apt updatesudo apt-get -o Dpkg::Options::="--force-overwrite" install yarn

Instalando MySQL #

Ghost admite bases de datos MySQL, MariaDB y SQLite. En este tutorial, usaremos MySQL, que es la base de datos recomendada cuando ejecuta Ghost en modo de producción.

Instale el paquete MySQL con el siguiente comando:

sudo apt install mysql-server

Ejecute mysql_secure_installation comando para mejorar la seguridad de la instalación de MySQL:

sudo mysql_secure_installation

Se le pedirá que configure el VALIDATE PASSWORD PLUGIN que se utiliza para probar la seguridad de las contraseñas de los usuarios de MySQL. Hay tres niveles de política de validación de contraseñas, bajo, medio y fuerte. Presiona ENTER si no desea configurar el complemento de validación de contraseña.

En el siguiente mensaje, se le pedirá que establezca una contraseña para el usuario root de MySQL.

Una vez que establezca la contraseña raíz, el script también le pedirá que elimine el usuario anónimo, restrinja el acceso del usuario raíz a la máquina local y elimine la base de datos de prueba. Debes responder Y (sí) a todas las preguntas.

A continuación, debemos cambiar el método de autenticación de auth_socket a mysql_native_password , para que el instalador de Ghost pueda acceder a nuestro servidor MySQL. Para hacerlo, inicie sesión en el servidor MySQL como usuario root:

sudo mysql

y ejecute la siguiente consulta que establecerá una contraseña para el usuario raíz de MySQL cuando use mysql_native_password método:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_pasword';FLUSH PRIVILEGES;

Asegúrate de cambiar very_strong_pasword con una contraseña segura.

Instalando Ghost-CLI #

Instalaremos Ghost usando la utilidad oficial de Ghost CLI. Esta utilidad le permite instalar o actualizar Ghost con un solo comando.

Ghost CLI está disponible como un paquete npm. El siguiente comando instalará Ghost CLI en su sistema Ubuntu globalmente:

sudo yarn global add ghost-cli

Creación de la ubicación de instalación de Ghost #

Descargaremos e instalaremos Ghost en el /var/www/ghost directorio, que es la ubicación de instalación recomendada.

Para crear el tipo de directorio:

sudo mkdir -p /var/www/ghost

Cambie la propiedad del directorio a su usuario:

sudo chown $USER:$USER /var/www/ghost

$USER es una variable de entorno que contiene su nombre de usuario.

Establezca los permisos de directorio correctos:

sudo chmod 775 /var/www/ghost

Instalando Ghost #

Ahora que tiene Ghost CLI instalado y todos los requisitos previos están completos, podemos comenzar con la instalación.

Cambie a /var/www/ghost directorio.

cd /var/www/ghost

Para iniciar la instalación, ejecute ghost install , que instalará y configurará Ghost, configurará Nginx como un proxy inverso y protegerá el sitio con un certificado SSL gratuito de cifrado.

ghost install
✔ Checking system Node.js version
✔ Checking logged in user
✔ Checking current folder permissions
System checks failed with message: 'Linux version is not Ubuntu 16'
Some features of Ghost-CLI may not work without additional configuration.
For local installs we recommend using `ghost install local` instead.
? Continue anyway? (y/N) y

El instalador verificará su sistema e imprimirá algunas advertencias como se muestra arriba. Escribe y para continuar y el instalador descargará e instalará Ghost:

ℹ Checking operating system compatibility [skipped]
✔ Checking for a MySQL installation
✔ Checking memory availability
✔ Checking for latest Ghost version
✔ Setting up install directory
✔ Downloading and installing Ghost v1.24.9
✔ Finishing install process

A continuación, se le pedirá que configure la URL de su blog y su información de MySQL. Proporcione el nombre de usuario y la contraseña raíz que hemos configurado en Installing MySQL sección y use el nombre de base de datos predeterminado ghost_prod .

? Enter your blog URL: https://example.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: [hidden]
? Enter your Ghost database name: ghost_prod

El instalador creará un usuario del sistema llamado ghost y le preguntará si desea crear un usuario fantasma de MySQL, escriba Yes .

✔ Configuring Ghost
✔ Setting up instance
Running sudo command: chown -R ghost:ghost /var/www/ghost/content
✔ Setting up "ghost" system user
? Do you wish to set up "ghost" mysql user? Yes
✔ Setting up "ghost" mysql user

A continuación, el instalador le preguntará si desea configurar Nginx. Confirme escribiendo Yes .

? Do you wish to set up Nginx? Yes
✔ Creating nginx config file at /var/www/ghost/system/files/example.com.conf
Running sudo command: ln -sf /var/www/ghost/system/files/example.com.conf /etc/nginx/sites-available/example.com.conf
Running sudo command: ln -sf /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
Running sudo command: nginx -s reload
✔ Setting up Nginx

Una vez que Nginx esté configurado, el instalador le preguntará si desea configurar SSL. Confirme escribiendo Yes y el asistente de configuración le pedirá que ingrese su dirección de correo electrónico y luego generará un certificado Let's Encrypt SSL gratuito para su dominio y configurará Nginx.

? Do you wish to set up SSL? Yes
? Enter your email (used for Let's Encrypt notifications) [email protected]
Running sudo command: mkdir -p /etc/letsencrypt
Running sudo command: ./acme.sh --install --home /etc/letsencrypt
Running sudo command: /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --domain example.com --webroot /var/www/ghost/system/nginx-root --reloadcmd "nginx -s reload" --accountemail [email protected]
Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048
Running sudo command: mv /tmp/ssl-params.conf /etc/nginx/snippets/ssl-params.conf
✔ Creating ssl config file at /var/www/ghost/system/files/example.com-ssl.conf
Running sudo command: ln -sf /var/www/ghost/system/files/example.com-ssl.conf /etc/nginx/sites-available/example.com-ssl.conf
Running sudo command: ln -sf /etc/nginx/sites-available/example.com-ssl.conf /etc/nginx/sites-enabled/example.com-ssl.conf
Running sudo command: nginx -s reload
✔ Setting up SSL

A continuación, el instalador le preguntará si desea configurar un servicio systemd. Escriba Y para aceptar y el instalador creará un nuevo servicio systemd llamado ghost_example-com y permitirá que se inicie en el arranque:

? Do you wish to set up Systemd? Yes
✔ Creating systemd service file at /var/www/ghost/system/files/ghost_example-com.service
Running sudo command: ln -sf /var/www/ghost/system/files/ghost_example-com.service /lib/systemd/system/ghost_example-com.service
Running sudo command: systemctl daemon-reload
✔ Setting up Systemd

Finalmente, el instalador configurará la base de datos y le preguntará si desea iniciar Ghost, escriba Yes .

Running sudo command: /var/www/ghost/current/node_modules/.bin/knex-migrator-migrate --init --mgpath /var/www/ghost/current
✔ Running database migrations
? Do you want to start Ghost? Yes
Running sudo command: systemctl is-active ghost_example-com
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
Running sudo command: systemctl is-active ghost_example-com
✔ Validating config
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
Running sudo command: systemctl start ghost_example-com
✔ Starting Ghost
Running sudo command: systemctl is-enabled ghost_example-com
Running sudo command: systemctl enable ghost_example-com --quiet
✔ Starting Ghost
You can access your publication at https://example.com
Next, go to your admin interface at https://example.com/ghost/ to complete the setup of your publication

Ghost uses direct mail by default
To set up an alternative email method read our docs at https://docs.ghost.org/docs/mail-config

Complete la configuración de Ghost #

Abra su navegador, vaya a la interfaz de administración de Ghost en https://example.com/ghost/ y se le presentará la siguiente pantalla:

Para comenzar, haga clic en Create your account botón.

Se le redirigirá a la pantalla Crear su cuenta, donde deberá ingresar el título de su blog, así como el nombre completo, la dirección de correo electrónico y la contraseña de su cuenta:

Una vez que rellenes los datos y hagas clic en Invite your team botón.

En esta pantalla se le pedirá que ingrese las direcciones de correo electrónico de sus colaboradores. Simplemente puede hacer clic en I'll do this later, take me to my blog! enlace y será redirigido al panel de control de Ghost:

Desde aquí, puede crear nuevas publicaciones, agregar usuarios y cambiar la configuración de Ghosts.


Ubuntu
  1. Cómo instalar Odoo en Ubuntu

  2. Cómo instalar Maven en Ubuntu

  3. Cómo instalar Wine en Ubuntu

  4. Cómo instalar R en Ubuntu 16.04

  5. Cómo instalar Go en Ubuntu 18.04

Cómo instalar qt en Ubuntu 20.04

Cómo instalar Ghost CMS en Ubuntu 20.04

Cómo instalar Ghost en Ubuntu 16.04

Cómo instalar Ghost en Ubuntu 20.04 LTS

Cómo instalar Go en Ubuntu 20.04

Cómo instalar Go en Ubuntu 22.04