Cómo autohospedar e instalar Ghost en su servidor Linux
Ghost es un programa de gestión de contenidos de código abierto que te permite crear fácilmente un blog y un servicio de newsletter. Puede optar por suscribirse al servicio Ghost(Pro) para utilizar el CMS o, si tiene una inclinación más técnica, alojarlo usted mismo en su servidor. Aquí le mostramos lo último: autohospedar Ghost en su servidor Linux.
Por qué debería alojar Ghost usted mismo en su servidor
Una de las ventajas de un blog Ghost es que proporciona una plataforma integrada y repleta de funciones que funciona desde el primer momento. Esto incluye la capacidad de realizar un seguimiento de análisis, monetizar publicaciones y crear boletines automáticos para sus suscriptores.
Instalar Ghost en su servidor le permite ser editor sin depender de un tercero para administrar sus datos. Esto puede resultar útil si es un periodista que publica artículos críticos sobre temas controvertidos.
Por último, Ghost es fácil de implementar y mantener, incluso para usuarios sin conocimientos técnicos. A diferencia de las plataformas CMS tradicionales, Ghost proporciona una solución todo en uno que puede «configurar y olvidar» en su máquina de alojamiento.
Instalación de Ghost en su servidor
Supuesto : Antes de comenzar, asumimos que ya tiene un servidor Linux disponible y un nombre de dominio para alojar su instalación de Ghost. Si necesita alquilar un servidor Linux, le recomendamos DigitalOcean o Linode .
Como usaremos Docker, primero necesitaremos instalar Docker en el servidor.
1. Instale la clave pública del repositorio del proyecto Docker:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
2. Cree un nuevo archivo de repositorio en el directorio apt config de su máquina:
sudo nano /etc/apt/sources.list.d/docker.list
3. Pegue la siguiente línea de código dentro de su nuevo archivo de repositorio:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
4. Actualice los listados de repositorios de su sistema y actualice los archivos binarios existentes en su máquina:
sudo apt updatesudo apt upgrade
5. Instale Docker y Docker Compose junto con sus dependencias:
sudo apt install wget docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin
6. Agregue su usuario al grupo Docker
sudo usermod -aG docker $USER
7. Configure el servicio Docker para que se ejecute al inicio:
sudo systemctl enable docker.service
8. Reinicie el servidor.
sudo reboot
Configurar Gmail para entrega SMTP
Ghost no viene con su propio cliente de entrega de correo electrónico, por lo que debemos conectarlo a Gmail para la entrega de correo electrónico.
1. Abra un navegador web e inicie sesión en la cuenta de Gmail que desea vincular a su instancia de Ghost.
2. Haga clic en el ícono de perfil de su cuenta, luego haga clic en «Administrar su cuenta de Google».
3. Seleccione la categoría «Seguridad», luego haga clic en la opción «Verificación en dos pasos» en la subcategoría «Cómo iniciar sesión en Google».
4. Verifique su número de teléfono y habilite la verificación en dos pasos .
5. Vuelva a la categoría «Seguridad», luego haga clic en la opción «Verificación en 2 pasos» nuevamente. Esto abrirá una nueva pantalla de menú donde podrá configurar nuevas claves secundarias para su cuenta. Desplácese hasta el final de la página y luego haga clic en «Contraseñas de aplicaciones».
6. Seleccione «Correo» para la primera lista desplegable, luego seleccione «Otro» en la segunda.
7. Escriba «Gmail for Ghost» en el cuadro de texto, luego haga clic en «Generar». Esto abrirá una ventana con un cuadro de texto amarillo que contiene su contraseña de aplicación personalizada.
Construyendo el contenedor Docker
1. Cree un nuevo directorio para los archivos acoplables de su instalación de Ghost:
mkdir ~/ghost
cd ~/ghost
2. Cree un nuevo archivo docker-compose.yml usando su editor de texto favorito:
nano. /docker-compose.yml
3. Pegue el siguiente bloque de código dentro de su nuevo archivo docker-compose.yml y guárdelo.
---
version: "3"
services:
ghost:
image: ghost:latest
restart: always
ports:
- 8080:2368
environment:
database__client: mysql
database__connection__host: db
database__connection__database: ghost
database__connection__user: ghost
database__connection__password: ghost
url: ${GHOST_URL}
mail__transport: ${MAIL_TRANSPORT}
mail__options__host: ${MAIL_HOST}
mail__options__port: ${MAIL_PORT}
mail__options__secureConnection: ${MAIL_SECURE_CONNECTION}
mail__options__auth__user: ${MAIL_USER}
mail__options__auth__pass: ${MAIL_PASSWORD}
volumes:
- ghost-data:/var/lib/ghost/content
links:
- db
db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ghost
MYSQL_USER: ghost
MYSQL_PASSWORD: ghost
cap_add:
- SYS_NICE
volumes:
- ghost-db:/var/lib/mysql
volumes:
ghost-data: null
ghost-db: null
4. Cree un archivo “.env” dentro de su directorio acoplable de Ghost:
nano. /.env
5. Pega el siguiente bloque de código dentro de tu nuevo. archivo env:
# URLGHOST_URL="#REPLACE_ME_WITH_DOMAIN_NAME#"# DatabaseMYSQL_ROOT_PASSWORD="#REPLACE_ME_WITH_SECURE_PASSWORD#"# SMTP variablesMAIL_SERVICE="Gmail"MAIL_TRANSPORT="SMTP"MAIL_USER="#REPLACE_ME_WITH_YOUR_GMAIL_ADDRESS#"MAIL_PASSWORD="#REPLACE_ME_WITH_YOUR_APP_PASSWORD#"MAIL_HOST="smtp.gmail.com"MAIL_PORT="465"MAIL_SECURE_CONNECTION="true"
- Cambie el valor de la variable «GHOST_URL» de «#REPLACE_ME_WITH_DOMAIN_NAME#» a su nombre de dominio completo.
- Reemplace el valor de “MYSQL_ROOT_PASSWORD” con una contraseña suficientemente aleatoria.
- Cambie el valor de “MAIL_USER” y “MAIL_PASSWORD” con la dirección de correo electrónico de su cuenta de Gmail y su contraseña de aplicación.
6. Cree el contenedor Ghost Docker ejecutando el siguiente comando:
sudo docker compose up -d
Configurar un proxy inverso
Con Ghost ejecutándose en el backend, necesitamos configurar un proxy inverso para poder acceder a Ghost públicamente. En este caso, usaremos el proxy inverso de Nginx .
1. Instale el paquete del servidor web Nginx. Esto servirá como su demonio de proxy inverso que tomará conexiones de Internet y las redirigirá a Ghost.
sudo apt install nginx
2. Cree un nuevo archivo de configuración del sitio Nginx usando su editor de texto favorito:
sudo nano /etc/nginx/sites-available/ghost
3. Pegue el siguiente bloque de código dentro del archivo de configuración de su nuevo sitio:
server {
listen 80;
listen [::]:80;
root /var/www/html;
server_name ghost.myvpsserver.top;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8080;
}}
4. Cree un enlace simbólico para la configuración de su sitio Ghost:
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
5. Habilite el servicio del servidor web Nginx usando systemctl:
sudo systemctl enable --now nginx.service
Habilitar SSL en su proxy inverso Nginx
1. Asegúrese de que el paquete snap “core” esté presente en su máquina:
sudo snap install core
2. Instale el paquete instantáneo certbot:
sudo snap install certbot --classic
3. Registre su instalación de certbot en su dirección de correo electrónico ejecutando el siguiente comando:
sudo certbot register --agree-tos --email ramces@email.invalid
4. Solicite un nuevo certificado SSL para su blog Ghost:
sudo certbot --nginx -d ghost.myvpsserver.top
5. Pruebe si se puede acceder a su nueva instancia de Ghost a través de SSL abriendo un navegador web y cargando su nombre de dominio.
Ejecutar Ghost en una máquina local
Si no tiene un servidor y desea instalar Ghost en su máquina local, también puede hacerlo. Además, puede utilizar Tailscale para acceder a él desde cualquier lugar de su navegador.
1. Instale el demonio VPN de Tailscale en su máquina y vincúlelo a su cuenta de Tailscale. Vaya a su Consola de administrador de Tailscale y haga clic en la pestaña «DNS» en la barra superior de la consola.
2. Haga clic en el botón “Cambiar nombre de tailnet…” bajo la subcategoría “Nombre de Tailnet”.
3. Configure el nombre de host de su máquina en «fantasma» seguido del nuevo subdominio para su red Tailscale:
sudo hostnamectl set-hostname ghost.your-tailnet.ts.net
Habilitación del embudo de escala final
1. Abra la Consola de administrador de Tailscale y haga clic en la pestaña «DNS».
2. Desplácese hasta el final de la página y luego haga clic en «Habilitar HTTPS…»
3. Desplácese hacia arriba hasta la parte superior de la página, luego haga clic en la pestaña «Control de acceso».
4. Haga clic en el botón «Agregar embudo a la política».
5. Ejecute el siguiente comando para crear un proxy inverso entre Tailscale y su contenedor Docker local:
sudo tailscale serve https / http://127.0.0.1:8080
6. Habilite el embudo de Tailscale para su proxy inverso ejecutando el siguiente comando:
sudo tailscale funnel 443 on
7. Pruebe si se puede acceder a su nueva instancia de Ghost a través de su embudo de Tailscale abriendo un navegador web y cargando su dirección de Tailscale.
Usando Ghost la primera vez
1. Abra un navegador web y navegue hasta la URL de instalación de Ghost seguida del subdirectorio «/ghost».
2. Haga clic en el primer campo y proporcione un nombre para su nuevo blog Ghost. Complete el resto de los campos con detalles sobre su usuario administrador, luego haga clic en «Crear cuenta y comenzar a publicar».
Creando tu primera publicación en Ghost
1. Haga clic en el botón «Escribe tu primera publicación» en la página de incorporación de Ghost.
2. Esto abrirá un editor de texto sin formato donde podrás escribir una publicación de texto simple. Haga clic en «Publicar» una vez que haya terminado para crear una nueva publicación de prueba.
3. Revisa la página principal de Ghost para ver si la nueva publicación se aprobó.
Agregar un nuevo usuario a Ghost
1. Vuelva a su Consola de administrador de Ghost, luego haga clic en «Miembros» en la barra lateral izquierda de la página.
2. Haga clic en el botón «Nuevo miembro» en la esquina superior derecha de la página.
3. Complete los detalles de su nuevo miembro, luego haga clic en «Guardar» para agregarlo al boletín del blog.
Preguntas frecuentes
¿Tailscale Funnel tiene alguna restricción?
Sí. De forma predeterminada, solo puede exponer el tráfico en Tailscale a través de tres puertos: 443, 8443 y 10000 y solo usando TCP. Esto significa que no podrá exponer ningún servicio en línea en tiempo real, como VoIP y servidores de juegos.
¿Puedo personalizar el nombre de dominio de Tailscale?
No. Esto se debe a que cada dirección DNS de Tailscale se adapta a su cuenta específica. Esto permite que el servicio identifique sus máquinas de otras dentro de la red mayor de Tailscale.
¿Mi blog Ghost dejará de ejecutarse cuando mi computadora esté desconectada?
Sí. Una de las desventajas de alojar en su propio hardware es que el tiempo de actividad de su sitio web depende del tiempo de actividad de su máquina. Esto significa que cada vez que su máquina host deja de funcionar, también lo hace su blog Ghost.
Crédito de la imagen: PERSONAS DE COMUNICACIÓN EN LA OFICINA QUE TRABAJAN QUE UTILIZAN EL CONCEPTO DE BLOG DE COMPUTADORA y la tradicional galleta fantasma de Halloween de 123RF.
Deja una respuesta