Androide

Cómo instalar ghost en ubuntu 18.04

How to Install Ghost on Ubuntu

How to Install Ghost on Ubuntu

Tabla de contenido:

Anonim

Ghost es una plataforma de publicación de fuente 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 usando Nginx como proxy, certificado SSL Let's Encrypt gratuito, la última versión LTS de Node.js y MySQL / MariaDB como base de datos..

Prerrequisitos

Como requisitos previos para seguir este tutorial, necesitará:

  • De acuerdo con los requisitos oficiales del sistema Ghost, necesita al menos 1G de RAM. Si tiene un servidor con menos de 1 GB de RAM, puede crear un archivo de intercambio. Un nombre de dominio que apunta 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 NodeSource.

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

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

Instale Node.js escribiendo:

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

Para instalar yarn primero 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 - 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 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 hilo con:

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

Instalar MySQL

Ghost admite bases de datos MySQL, MariaDB y SQLite. En este tutorial, utilizaremos 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 el comando mysql_secure_installation 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 solidez de las contraseñas de los usuarios de MySQL. Hay tres niveles de política de validación de contraseña: baja, media y fuerte. Presione ENTER si no desea configurar el complemento validar 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 de root, el script también le pedirá que elimine al usuario anónimo, restrinja el acceso del usuario root a la máquina local y elimine la base de datos de prueba. Debe 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 root de MySQL cuando use el método mysql_native_password :

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

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

Instalar Ghost-CLI

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

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

sudo yarn global add ghost-cli

Creando la ubicación de instalación de Ghost

Descargaremos e instalaremos Ghost en el directorio /var/www/ghost , 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

Instalar fantasma

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

Cambie al directorio /var/www/ghost .

cd /var/www/ghost

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

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. Escriba y para continuar y el instalador descargará e instalará Ghost:

ℹ Checking operating system compatibility ✔ 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 la sección Installing MySQL y use el nombre predeterminado de la base de datos ghost_prod .

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

El instalador creará un usuario del sistema llamado ghost y le preguntará si desea crear un usuario MySQL fantasma, 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 SSL Let's Encrypt gratis 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 le permitirá iniciarse 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

Completa la configuración de Ghost

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

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

Conclusión

En este tutorial, aprendió a instalar una instancia de Ghost lista para producción.

Ahora debe visitar la página de Ayuda de Ghost y obtener más información sobre cómo administrar su instalación de Ghost. También puede visitar Ghost Marketplace y descubrir los temas de Ghost.

blog ghost nodejs npm ubuntu