How to Install Ghost on Ubuntu
Tabla de contenido:
- Prerrequisitos
- Instalación de Node.js y Yarn
- Instalar MySQL
- Instalar Ghost-CLI
- Creando la ubicación de instalación de Ghost
- Instalar fantasma
- Completa la configuración de Ghost
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 puertos80y443esté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:
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 ubuntuCómo instalar el último Firefox 3.6.6 en Ubuntu Linux
Firefox 3.6.6 presenta la prevención del bloqueo del navegador. Así es cómo instalarlo fácilmente en Ubuntu Linux.
Cómo instalar y ejecutar Linux Ubuntu en Windows fácilmente
Wubi le permitirá instalar y ejecutar la instalación de arranque dual de Linux Ubuntu con Microsoft Windows 7 fácilmente. Lee el tutorial y descarga Wubi gratis.
Cómo instalar y configurar un servidor nfs en ubuntu 18.04
Network File System (NFS) es un protocolo de sistema de archivos distribuido que le permite compartir directorios remotos a través de una red. En este tutorial, veremos cómo configurar un servidor NFSv4 en Ubuntu 18.04.







