Como Instalar Seu Próprio Twitter Federado com Pleroma

Microblogging é uma maneira maravilhosa de expressar seus pensamentos. É curto, sucinto e doce. Nesse sentido, o Twitter tem sido uma das plataformas de microblogging mais populares do mundo. No entanto, depender dessa empresa específica para suas necessidades de microblogging pode não ser a melhor solução para todos.
Felizmente, existem alternativas como o Pleroma, que é um Twitter auto-hospedado. Esta é uma plataforma de microblogging federada leve. Usar a federação permite que a plataforma se comunique com outras instâncias federadas, o que significa que você não precisa reunir muitas pessoas para o seu próprio Twitter privado para começar a compartilhar informações. Este artigo tem como objetivo ajudá-lo a começar com o Pleroma.
Índice
- O Problema com o Twitter
- O que é Federação e Como Funciona
- Como Instalar o Pleroma
- Configure Seus Registros DNS A e AAAA
- Obtenha as Dependências do Pleroma
- Crie o Usuário Pleroma
- Baixe o Pleroma
- Prepare e Instale o Pleroma
- Configure a Instalação do Pleroma
- Configurações Específicas de Mídia
- Finalize Sua Configuração do Pleroma
- Inicie o Banco de Dados do Pleroma
- Inicie Seu Servidor Pleroma
- Configurações Finais
- Perguntas Frequentes
Leia também: As 7 Melhores Distros Baseadas em Debian para Experimentar se Você Quiser uma Alternativa ao Ubuntu
O Problema com o Twitter
O Twitter é conhecido por banir contas aleatoriamente por infrações de políticas vagas. Se você é alguém que acumulou anos de postagens no Twitter, perder esse histórico pode ser devastador. Não só isso, o Twitter também é conhecido por entregar dados de usuários tanto para anunciantes quanto para agências governamentais.
Isso torna o Twitter uma plataforma insegura para pessoas que desejam ter controle total sobre seus dados ou jornalistas que estão reportando sobre tópicos controversos.
O que é Federação e Como Funciona
Uma solução para esse problema é construir uma rede social através da federação de servidores. Este é um sistema onde você permite que múltiplos servidores executando software semelhante se comuniquem entre si de forma transparente.
Por causa disso, qualquer servidor federado pode atuar como um nó para toda a rede onde você pode acessar e participar com outros servidores.

Isso, por sua vez, cria um ecossistema resiliente que é capaz de se adaptar facilmente a qualquer circunstância. Por exemplo, se um servidor Pleroma ficar fora do ar, isso não acabaria com a rede federada do Pleroma. Pode reduzir a quantidade de postagens dentro da rede, mas outros servidores ainda poderão se comunicar entre si.
Leia também: Como Instalar o Debian via Internet
Como Instalar o Pleroma
O Pleroma requer uma série de coisas antes que você possa começar a configurá-lo:
- Primeiro, você precisa ter uma máquina publicamente descobrível. Isso pode ser uma máquina em sua casa que você pode encaminhar portas ou um VPS que você comprou de um provedor.
- Além disso, se você estiver usando um VPS para instalar o Pleroma, precisa ter acesso root a esse VPS. Isso porque você estará instalando pacotes que o Pleroma requer para funcionar corretamente.
- Por último, você precisa ter um nome de domínio. Isso porque o certbot, a ferramenta de certificado SSL, exigirá um nome de domínio para gerar um certificado para sua instância do Pleroma.
Tendo isso em mente, este guia se concentrará na instalação do Pleroma em um VPS baseado em Debian da Digitalocean.
1. Configure Seus Registros DNS A e AAAA
Antes de começar, é prudente primeiro vincular seu nome de domínio ao endereço IP do seu VPS.

Isso garante que qualquer comando que faça referência ao seu nome de domínio abaixo seja resolvido corretamente. Assim, isso se torna especialmente útil uma vez que você configure seus certificados SSL mais tarde.
- Para vincular seu nome de domínio ao endereço IP do seu VPS, você precisa editar o registro DNS do seu nome de domínio. Embora você possa usar um serviço de registro de domínio diferente do que eu, o processo de vinculação do seu nome de domínio ao endereço do seu VPS é em grande parte o mesmo.
- No meu caso, vinculei meu nome de domínio: yetanotherpleromaserver.xyz ao meu VPS da Digitalocean através do Namesilo. Para fazer isso, primeiro acessei a janela de gerenciamento de domínio do Namesilo.

- A partir daqui, você precisa clicar no nome do domínio. Isso traz as configurações para esse domínio específico.
- Em seguida, clique no link “Registros DNS”. Isso mostrará todos os registros DNS disponíveis para o seu nome de domínio.

- Uma vez feito, adicionei um recurso “A” ao meu registro DNS clicando no link “A” na caixa “Adicionar/Editar um Registro de Recurso” na página de registros do Namesilo.

- A partir daí, a única coisa que eu precisava fazer era adicionar o endereço IPv4 do meu VPS da Digitalocean.

- O processo de adicionar um registro “AAAA” também é o mesmo. No entanto, em vez de clicar no link “A”, eu clicarei no link “AAAA”. Além disso, em vez de adicionar o endereço IPv4, adicionarei o endereço IPv6.

Leia também: 5 Melhores Distribuições Linux-Libre para Melhor Segurança
2. Obtenha as Dependências do Pleroma
A próxima coisa que você precisa fazer é baixar todos os pacotes que o Pleroma requer. Como discutido acima, vou apenas destacar o processo de instalação para distribuições Linux baseadas em Debian e Ubuntu. Assim, usarei apt para instalar todos os pacotes necessários.
Tendo isso em mente, o Pleroma depende de três programas principais: postgresql, elixir e erlang. Portanto, você precisa instalar esses programas, bem como mais alguns que complementarão esses três em seu trabalho.
Para fazer isso, você pode executar o seguinte comando:
sudo apt install git build-essential postgresql postgresql-contrib cmake libmagic-dev elixir erlang-dev erlang-nox nginx certbot
3. Crie o Usuário Pleroma
Com isso feito, a próxima coisa que você precisa fazer é criar a conta de usuário “pleroma”. Esta é a conta que você usará para baixar e instalar o pacote Pleroma. Fazer isso dessa maneira garante que o programa Pleroma não tenha acesso de superusuário ao seu sistema.
Para fazer isso, você pode executar o seguinte comando:
sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma- A opção
-rdefinirá o usuário “pleroma” como uma conta de sistema em vez de uma conta de usuário. - Além disso, a opção
-sdefinirá o shell de login para este usuário como “false”. Isso garante que o usuário pleroma, por si só, não possa executar nenhum comando de um shell. - Por outro lado, as flags
-me-ddefinem o diretório home para o usuário “pleroma”. A flag-mdefine explicitamente a conta para ter um diretório home e a flag-ddefine esse diretório para apontar para “/var/lib/pleroma”. - Por último, a flag
-Ucria um grupo de usuário com o mesmo nome e adiciona o novo usuário Pleroma a esse grupo.

4. Baixe o Pleroma
A partir daí, você pode agora baixar o pacote Pleroma de seus repositórios. Para fazer isso, você precisa primeiro criar o diretório onde os arquivos serão baixados:
sudo mkdir -p /opt/pleroma
sudo chown -R pleroma:pleroma /opt/pleroma- O primeiro comando criará o diretório “pleroma” onde você baixará todos os arquivos para o programa.
- O segundo comando, por outro lado, transferirá a propriedade dessa pasta de root para pleroma. Isso permitirá que pleroma leia e escreva nessa pasta sem problemas.

Uma vez feito, a próxima coisa a fazer é baixar o código-fonte do Pleroma. Para fazer isso, você precisa usar o git:
sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma
5. Prepare e Instale o Pleroma
Agora você pode ir para o diretório /opt/pleroma para iniciar o processo de instalação do programa:
cd /opt/pleromaA partir daí, você precisa executar o programa Mix para puxar todas as dependências adicionais para o Pleroma. Para fazer isso, você pode executar o seguinte comando:
sudo -Hu pleroma mix deps.get
Uma vez feito, você pode agora prosseguir com a compilação e instalação do Pleroma. Para isso, você só precisa executar um comando:
sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance genEste comando fará três coisas:
- Primeiro, a opção
MIX_ENV=proddefinirá a variável de ambiente do programa para direcionar uma configuração de produção. Isso significa que o programa não conterá nenhuma ferramenta e arquivos de desenvolvimento. - A opção
gencriará um arquivo de configuração que direciona a variável de ambiente que você forneceu. - Por último, este comando também compilará e instalará o Pleroma a partir de seu código-fonte. Por causa disso, esse processo levará algum tempo dependendo do hardware que você está usando.

Leia também: Como Corrigir o Loop de Login do Ubuntu
6. Configure a Instalação do Pleroma
Uma vez que o Pleroma tenha terminado de compilar, ele pedirá algumas informações sobre seu servidor.
- Primeiro, ele precisará do nome de domínio que você deseja usar para o programa. No meu caso, usei meu nome de domínio: “yetanotherpleromaserver.xyz”.

- A partir daí, o script de configuração pedirá o nome que você deseja para seu servidor Pleroma. No meu caso, usei o mesmo nome: “Yet Another Pleroma Server” para meu servidor.

- Em seguida, insira seu endereço de e-mail de administrador. Este deve ser um e-mail adequado que possa receber e enviar e-mails.

- Agora selecione se você deseja que sua instância Pleroma seja pesquisável por mecanismos de busca. Isso é útil se você quiser criar uma instância pública do Pleroma que outras pessoas possam se juntar e fazer login. No meu caso, eu queria que este servidor fosse privado, então selecionei “n”.

- Depois disso, o script perguntará se você deseja salvar sua configuração em um arquivo de banco de dados. Na maior parte, você vai querer selecionar “sim” aqui e selecionar as opções padrão que ele pedirá.

- Por último, o script exigirá que você adicione alguns detalhes sobre qual porta e endereço escutar. Se você estiver instalando o Pleroma na mesma máquina em que está configurando, é seguro deixar os padrões aqui.
7. Configurações Específicas de Mídia
Agora, o script de configuração exigirá que você selecione onde deseja salvar os arquivos de mídia que serão enviados para o servidor. Semelhante às configurações acima, é seguro deixar isso no padrão.
Em seguida, decida se deseja remover qualquer geolocalização dos dados EXIF das fotos que você receberá. Isso é útil se você quiser preservar a privacidade do uploader. Como eu só usarei isso como uma instância privada, selecionei “não” aqui.
Além disso, você terá que decidir se deseja anonimizar os nomes dos arquivos dos uploads. Isso é especialmente útil se você quiser remover qualquer associação com o uploader e o que ele enviou. No meu caso, também selecionei “não” aqui.
Por último, o script de configuração permitirá que você escolha se deseja criar várias cópias dos arquivos que são enviados para o seu servidor. No meu caso, selecionei “não”.
8. Finalize Sua Configuração do Pleroma
- Agora você pode visualizar seu arquivo de configuração. Este está localizado em “/opt/pleroma/config/generated_config.exs”. Você pode usar
lesspara visualizá-lo:
less /opt/pleroma/config/generated_config.exs- Para finalizar essa configuração, você precisa renomear este arquivo como “prod.secret.exs”. Você pode fazer isso executando o seguinte comando:
sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs}
Leia também: O que é a Rede Yggdrasil e Como Instalá-la
9. Inicie o Banco de Dados do Pleroma
- A próxima coisa que você precisa fazer é iniciar o programa do banco de dados. Para fazer isso, você pode usar o banco de dados que o Pleroma forneceu. Você pode carregar esse banco de dados executando o seguinte comando:
sudo -Hu postgres psql -f /opt/pleroma/config/setup_db.psql
- A partir daí, você pode agora vincular postgres e Pleroma migrando o banco de dados postgres para o Pleroma. Para fazer isso, você pode executar o seguinte comando:
sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate
10. Inicie Seu Servidor Pleroma
Agora, é hora de executar seu servidor Pleroma. Você pode fazer isso executando o seguinte comando:
sudo -Hu pleroma MIX_ENV=prod mix phx.server
No entanto, este servidor ainda é inacessível a partir do navegador regular. Para permitir isso, você precisa primeiro configurar o certbot e o nginx.
Leia também: 9 dos Melhores Clientes de Email para Linux
Configurando Certbot para Pleroma
- Configurar o certbot é relativamente simples. Primeiro, você precisa criar a pasta onde os certificados serão salvos. Você pode fazer isso executando o seguinte comando:
sudo mkdir -p /var/lib/letsencrypt/- Com isso feito, você pode agora gerar um certificado para seu servidor Pleroma. Para fazer isso, você pode executar este comando:
sudo certbot certonly --email [email protected] -d yourpleromaserver.com --standalone
Configurando Nginx para Pleroma
- A partir daí, a próxima coisa que você precisa fazer é configurar seu servidor web nginx para o Pleroma. A instalação do Pleroma já fornece um modelo que você pode copiar para o diretório de configuração do nginx. Para fazer isso, você pode executar o seguinte comando:
sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx- Em seguida, você precisa editar este arquivo de configuração para se adequar ao seu servidor Pleroma. Na maioria dos casos, isso envolverá apenas a alteração de quatro variáveis: server_name, ssl_trusted_certificate, ssl_certificate e ssl_certificate_key.
- Para a primeira variável, você precisa alterar o valor “example.tld” para o nome de domínio do seu servidor. No meu caso, alterei isso para “yetanotherpleromaserver.xyz”.

- A partir daí, as próximas três variáveis apontam todas para a localização do certificado SSL do seu domínio. Se você fez seu certificado através deste guia, esse caminho será “/etc/letsencrypt/live/yourdomain.name/“.
- Isso já é fornecido pelo modelo do nginx e a única coisa que resta a fazer é alterar o valor “example.tld” para o seu nome de domínio.

- Com isso feito, você pode agora habilitar sua configuração do nginx criando um link simbólico para o diretório ativo do nginx. Para fazer isso, você pode executar o seguinte comando:
sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx- Depois disso, você pode agora iniciar o nginx habilitando seu serviço systemctl:
sudo systemctl enable nginx.service11. Configurações Finais
- A partir daqui, você pode agora configurar o serviço do sistema para o Pleroma e criar seu primeiro usuário. Por padrão, o Pleroma inclui um modelo systemctl para habilitar seu serviço através do systemd. Para usar esse modelo, você pode executar o seguinte comando:
sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service
- Agora, você pode então habilitar o Pleroma através do systemctl executando este comando:
sudo systemctl enable pleroma.service
- Por último, você pode agora criar seu primeiro usuário para sua instância Pleroma executando o comando
pleroma.user:
sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new yourusername [email protected] --admin
Leia também: Como Corrigir o Problema de Não Conseguir Digitar no Terminal no Linux
Perguntas Frequentes
1. As fotos que eu envio ainda têm dados de geolocalização nelas. O que eu fiz de errado?
Isso pode ser devido a uma série de coisas. No entanto, a razão mais comum pela qual isso aconteceu é porque você não tem o pacote exiftool. Para o guia acima, o exiftool não foi um pacote que foi instalado por padrão.
Assim, para remover a geolocalização das imagens que você envia, você precisa adicionar esse pacote manualmente. Para fazer isso, você pode executar o seguinte comando:
sudo apt install exiftool2. Eu não consigo gerar um Certificado Letsencrypt. O que eu fiz de errado?
Isso também pode ser devido a uma série de coisas. A causa mais comum para isso, no entanto, é que o nginx ainda está em execução.
Para que o comando certbot funcione, você precisa ter as portas web comuns abertas e não ocupadas por nenhum programa. Para desativar o nginx, você pode executar o seguinte comando:
sudo systemctl stop nginxCrédito da imagem: Pleroma