Como auto-hospedar e instalar o Ghost em seu servidor Linux

Como auto-hospedar e instalar o Ghost em seu servidor Linux

Ghost é um programa de gerenciamento de conteúdo de código aberto que permite criar facilmente um blog e um serviço de boletim informativo. Você pode optar por assinar o serviço Ghost (Pro) para usar o CMS ou, se tiver mais inclinação técnica, hospedá-lo automaticamente em seu servidor. Aqui mostramos o último – Ghost auto-hospedado em seu servidor Linux.

Por que você deve auto-hospedar o Ghost em seu servidor

Uma das vantagens de um blog Ghost é que ele fornece uma plataforma integrada e repleta de recursos que funciona imediatamente. Isso inclui a capacidade de rastrear análises, monetizar postagens e criar boletins informativos automáticos para seus assinantes.

Uma captura de tela do painel do Ghost.

Instalar o Ghost em seu servidor permite que você seja um editor sem depender de terceiros para gerenciar seus dados. Isso pode ser útil se você for um jornalista que publica artigos críticos sobre tópicos controversos.

Por último, o Ghost é fácil de implantar e manter, mesmo para usuários não técnicos. Ao contrário das plataformas CMS tradicionais, o Ghost oferece uma solução completa que você pode “configurar e esquecer” em sua máquina de hospedagem.

Instalando o Ghost em seu servidor

Suposição : Antes de começarmos, presumimos que você já tenha um servidor Linux disponível e um nome de domínio para hospedar sua instalação do Ghost. Se precisar alugar um servidor Linux, recomendamos DigitalOcean ou Linode .

Como usaremos o Docker, precisaremos primeiro instalar o Docker no servidor.

1. Instale a chave pública do repositório do projeto 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. Crie um novo arquivo de repositório no diretório apt config da sua máquina:

sudo nano /etc/apt/sources.list.d/docker.list

3. Cole a seguinte linha de código dentro do seu novo arquivo de repositório:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

4. Atualize as listagens de repositórios do seu sistema e atualize os binários existentes na sua máquina:

sudo apt updatesudo apt upgrade

5. Instale o Docker e o Docker Compose junto com suas dependências:

sudo apt install wget docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

6. Adicione seu usuário ao grupo Docker

sudo usermod -aG docker $USER

7. Configure o serviço Docker para ser executado na inicialização:

sudo systemctl enable docker.service

8. Reinicie o servidor.

sudo reboot

Configurando o Gmail para entrega SMTP

O Ghost não vem com seu próprio cliente de entrega de e-mail, então precisamos conectá-lo ao Gmail para entrega de e-mail.

1. Abra um navegador da web e faça login na conta do Gmail que deseja vincular à sua instância do Ghost.

2. Clique no ícone do perfil da sua conta e clique em “Gerenciar sua conta do Google”.

3. Selecione a categoria “Segurança” e clique na opção “Verificação em duas etapas” na subcategoria “Como você faz login no Google”.

Uma captura de tela destacando o processo de verificação em duas etapas para contas do Gmail.

4. Verifique seu número de telefone e ative a verificação em duas etapas .

5. Volte para a categoria “Segurança” e clique novamente na opção “Verificação em duas etapas”. Isso abrirá uma nova tela de menu onde você poderá definir novas chaves secundárias para sua conta. Role até o final da página e clique em “Senhas de aplicativos”.

Uma captura de tela mostrando o

6. Selecione “Correio” na primeira lista suspensa e selecione “Outro” na segunda.

7. Escreva “Gmail para Ghost” na caixa de texto e clique em “Gerar”. Isso abrirá uma janela com uma caixa de texto amarela contendo a senha personalizada do seu aplicativo.

Uma captura de tela mostrando a senha do aplicativo gerada para o Ghost.

Construindo o contêiner Docker

1. Crie um novo diretório para os dockerfiles de instalação do Ghost:

mkdir ~/ghost
cd ~/ghost

2. Crie um novo arquivo docker-compose.yml usando seu editor de texto favorito:

nano. /docker-compose.yml

3. Cole o seguinte bloco de código em seu novo arquivo docker-compose.yml e salve-o.

---
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. Crie um arquivo “.env” dentro do diretório docker do Ghost:

nano. /.env

5. Cole o seguinte bloco de código dentro do seu arquivo new. arquivo 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"

  • Altere o valor da variável “GHOST_URL” de “#REPLACE_ME_WITH_DOMAIN_NAME#” para o seu nome de domínio completo.
Um terminal mostrando o URL de uma instância remota do Ghost.
  • Substitua o valor de “MYSQL_ROOT_PASSWORD” por uma senha suficientemente aleatória.
  • Altere o valor de “MAIL_USER” e “MAIL_PASSWORD” com o endereço de e-mail da sua conta do Gmail e a senha do aplicativo.

6. Crie o contêiner Ghost Docker executando o seguinte comando:

sudo docker compose up -d

Configurando um proxy reverso

Com o Ghost em execução no back-end, precisamos configurar um proxy reverso para poder acessar o Ghost publicamente. Neste caso, usaremos o proxy reverso do Nginx .

1. Instale o pacote do servidor web Nginx. Isso servirá como seu daemon de proxy reverso, que pegará conexões da Internet e as redirecionará para o Ghost.

sudo apt install nginx

2. Crie um novo arquivo de configuração do site Nginx usando seu editor de texto favorito:

sudo nano /etc/nginx/sites-available/ghost

3. Cole o seguinte bloco de código dentro do novo arquivo de configuração do site:

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. Crie um link simbólico para a configuração do seu site Ghost:

sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/

5. Habilite o serviço do servidor web Nginx usando systemctl:

sudo systemctl enable --now nginx.service

Habilitando SSL em seu proxy reverso Nginx

1. Certifique-se de que o pacote snap “core” esteja presente em sua máquina:

sudo snap install core

2. Instale o pacote snap do certbot:

sudo snap install certbot --classic

3. Registre a instalação do certbot em seu endereço de e-mail executando o seguinte comando:

sudo certbot register --agree-tos --email ramces@email.invalid

4. Solicite um novo certificado SSL para o seu blog Ghost:

sudo certbot --nginx -d ghost.myvpsserver.top

5. Teste se sua nova instância do Ghost pode ser acessada por meio de SSL abrindo um navegador da web e carregando seu nome de domínio.

Uma captura de tela mostrando uma instância do Ghost em funcionamento em um servidor remoto.

Executando o Ghost em uma máquina local

Se você não possui um servidor e deseja instalar o Ghost em sua máquina local, você também pode. Além disso, você pode usar o Tailscale para acessá-lo em qualquer lugar do seu navegador.

1. Instale o daemon Tailscale VPN em sua máquina e vincule-o à sua conta Tailscale. Vá para o console do administrador Tailscale e clique na guia “DNS” na barra superior do console.

Uma captura de tela destacando a guia DNS no Tailscale Admin Console.

2. Clique no botão “Renomear tailnet…” na subcategoria “Nome da tailnet”.

Uma captura de tela destacando o

3. Defina o nome do host da sua máquina como “ghost” seguido do novo subdomínio para sua rede Tailscale:

sudo hostnamectl set-hostname ghost.your-tailnet.ts.net

Habilitando o funil Tailscale

1. Abra o console do administrador Tailscale e clique na guia “DNS”.

2. Role até o final da página e clique em “Ativar HTTPS…”

Uma captura de tela mostrando a opção HTTPS para hosts Tailscale.

3. Role de volta até o topo da página e clique na guia “Controle de acesso”.

Uma captura de tela destacando o

4. Clique no botão “Adicionar funil à política”.

Uma captura de tela destacando o

5. Execute o seguinte comando para criar um proxy reverso entre Tailscale e seu contêiner Docker local:

sudo tailscale serve https / http://127.0.0.1:8080

6. Habilite o funil Tailscale para seu proxy reverso executando o seguinte comando:

sudo tailscale funnel 443 on

7. Teste se sua nova instância do Ghost está acessível por meio do funil Tailscale abrindo um navegador da web e carregando seu endereço Tailscale.

Uma captura de tela mostrando uma instalação funcional do Ghost no Tailscale.

Usando o Ghost pela primeira vez

1. Abra um navegador da web e navegue até o URL de instalação do Ghost seguido pelo subdiretório “/ghost”.

Uma captura de tela da barra de endereço de um navegador mostrando o URL correto da página de configuração do Ghost.

2. Clique no primeiro campo e forneça um nome para o seu novo blog Ghost. Preencha o restante dos campos com detalhes sobre seu usuário administrador e clique em “Criar conta e começar a publicar”.

Uma captura de tela mostrando o

Criando sua primeira postagem no Ghost

1. Clique no botão “Escreva sua primeira postagem” na página de integração do Ghost.

Uma captura de tela mostrando as primeiras etapas da página de integração do Ghost.

2. Isso abrirá um editor de texto simples onde você pode escrever uma postagem de texto simples. Clique em “Publicar” quando terminar para criar uma nova postagem de teste.

3. Verifique a página inicial do Ghost para ver se a nova postagem foi aprovada.

Adicionando um novo usuário ao Ghost

1. Volte para o Console do administrador do Ghost e clique em “Membros” na barra lateral esquerda da página.

2. Clique no botão “Novo Membro” no canto superior direito da página.

Uma captura de tela mostrando a lista de membros na instância atual do Ghost.

3. Preencha os dados do seu novo membro e clique em “Salvar” para adicioná-lo ao feed da newsletter do blog.

perguntas frequentes

O Tailscale Funnel tem alguma restrição?

Sim. Por padrão, você só pode expor o tráfego no Tailscale através de três portas: 443, 8443 e 10000 e apenas usando TCP. Isso significa que você não poderá expor nenhum serviço online em tempo real, como VoIP e servidores de jogos.

Posso personalizar o nome de domínio Tailscale?

Não. Isso ocorre porque cada endereço DNS Tailscale é personalizado para sua conta específica. Isso permite que o serviço identifique suas máquinas de outras dentro da rede Tailscale.

Meu blog Ghost irá parar de funcionar quando meu computador estiver offline?

Sim. Uma das desvantagens de hospedar em seu próprio hardware é que o tempo de atividade do seu site depende do tempo de atividade da sua máquina. Isso significa que sempre que sua máquina host cair, o mesmo acontecerá com o seu blog Ghost.

Crédito da imagem: PESSOAS DE COMUNICAÇÃO DO ESCRITÓRIO DE TRABALHO USANDO O CONCEITO DE BLOG DE COMPUTADOR e o tradicional biscoito fantasma de Halloween da 123RF.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *