Como hospedar seu próprio servidor bit.ly com Shlink no Linux

Como hospedar seu próprio servidor bit.ly com Shlink no Linux
Uma fotografia de um laptop em cima de uma mesa.

Shlink é um poderoso serviço de encurtador de links de auto-host para Linux. Ele fornece uma estrutura simples, mas eficaz, onde você pode usar seu próprio nome de domínio como raiz para seus links encurtados. Este artigo mostrará como instalar sua própria instância Shlink no Ubuntu Linux usando Docker e Nginx.

Um dos maiores pontos de venda do Shlink é que você pode usar seu próprio domínio personalizado para links curtos e ao mesmo tempo ser auto-hospedado. Isso, por sua vez, oferece a flexibilidade de um serviço de encurtador de link SaaS, bem como a privacidade de executar software em sua própria máquina.

Uma captura de tela mostrando o Shlink rodando em um servidor de demonstração.

Além disso, o Shlink também possui um conjunto diversificado de recursos, como a capacidade de criar códigos QR, encaminhar automaticamente consultas de links e criar slugs personalizados de vários segmentos. Isso torna o Shlink uma ferramenta útil se você estiver procurando por um serviço de encurtador de links no Linux, onde você pode ajustar a aparência e o comportamento de seus links.

Obtendo Docker para Shlink

Suposição: Este artigo pressupõe que você está instalando o Shlink em um VPS Ubuntu 22.04 e que atualmente possui um nome de domínio.

A primeira etapa na implantação do Shlink no Linux é obter uma cópia do Docker. Para fazer isso, busque a chave de assinatura do projeto Docker no site:

Crie o arquivo de repositório para seus binários do Docker:

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

Recarregue a listagem de repositórios do seu sistema fazendo um apt update:

Instalando as dependências para Shlink

Com os repositórios Docker instalados e funcionando, agora você pode usar o apt para obter as dependências do Shlink:

Certifique-se de que o pacote snap “principal” esteja disponível em seu sistema:

Obtenha e instale o pacote snap “certbot” da Electronic Frontier Foundation:

Obtendo uma chave de licença Geolite2

Outra característica definidora do Shlink é que ele pode rastrear a localização geral do usuário que clicou em seus links. Para usar isso, abra a página de inscrição de licenciamento Geolite2 .

Uma captura de tela mostrando a página de inscrição da licença GeoLite.

Preencha o formulário com seus dados e pressione Continuar .

Abra sua caixa de entrada de e-mail e procure o e-mail de confirmação da MaxMind.

Clique no link do e-mail e forneça uma senha para sua nova conta MaxMind.

Uma captura de tela mostrando o link de criação de senha para MaxMind.

Faça login em sua conta MaxMind e clique em Gerenciar chaves de licença em seu painel.

Uma captura de tela destacando o

Clique em Gerar nova chave de licença e clique em Confirmar para criar sua chave Geolite2.

Uma captura de tela destacando o

Copie a chave de licença do Geolite2 para um arquivo de texto em sua máquina e salve-o.

Para instalar o Shlink, você precisa primeiro criar uma rede Docker virtual. Ela servirá como rede privada do aplicativo, onde ele poderá se comunicar com os outros contêineres que você implantará:

Implante um banco de dados PostgreSQL e vincule-o à sua nova rede virtual Docker:

Altere o valor da variável de ambiente “POSTGRES_PASSWORD” com uma sequência de texto aleatória.

Um terminal mostrando uma senha aleatória do banco de dados PostgreSQL.

Cole o seguinte comando em uma nova sessão de terminal:

Substitua o valor da variável DEFAULT_DOMAIN pelo seu nome de domínio.

Um terminal mostrando o valor de domínio padrão para o servidor de demonstração.

Altere o valor da variável “GEOLITE_LICENSE_KEY” com sua chave de licença pessoal.

Um terminal mostrando a licença Geolite para o servidor de demonstração Shlink.

Substitua a variável “DB_PASSWORD” pela senha do banco de dados PostgreSQL.

Um terminal mostrando a senha do banco de dados PostegreSQL para o servidor de demonstração.

Pressione Enterpara iniciar sua instância do Shlink.

Instalando e vinculando sua interface Shlink

Obtenha uma chave de API do seu contêiner Shlink e copie-a para a área de transferência:

Cole o seguinte comando em uma nova sessão de terminal:

Substitua “SHLINK_SERVER_URL” pelo valor de sua variável “DEFAULT_DOMAIN” no contêiner de back-end.

Um terminal mostrando o URL completo da instância de back-end do Shlink.

Cole sua chave de API como o valor de “SHLINK_SERVER_API_KEY”.

Um terminal mostrando a chave da API de back-end do Shlink.

Pressione Enterpara iniciar a interface de front-end do Shlink.

Confirme se seu banco de dados, backend Shlink e frontend Shlink estão funcionando corretamente listando todos os contêineres atualmente ativos no sistema:

Um terminal mostrando os três contêineres que constroem o aplicativo da web Shlink completo.

Criando um proxy reverso SSL usando Nginx

Neste ponto, agora você tem um conjunto de software Shlink funcionando em seu servidor. Para acessá-lo, entretanto, você ainda precisa criar um proxy web SSL que delegue seus dois contêineres em domínios diferentes.

Para começar, crie um novo registro A para a interface frontend do seu Shlink. No meu caso, definirei o registro A do meu frontend como “admin”.

Uma captura de tela mostrando os dois registros DNS do servidor Shlink de demonstração.

Crie o arquivo de configuração do site para sua instância Shlink usando seu editor de texto favorito:

Cole o seguinte bloco de código dentro do seu arquivo de configuração:

Substitua a variável “YOUR-ROOT.DOMAIN” pelo seu domínio raiz e “SUBDOMAIN.YOUR-ROOT.DOMAIN” pelo subdomínio da sua interface frontend.

Salve seu arquivo de configuração e habilite seu aplicativo web no Nginx:

Recarregue seu daemon Nginx para aplicar suas novas configurações:

Registre seu servidor na Electronic Frontier Foundation:

Solicite um novo certificado SSL multidomínio para sua instância Shlink:

Confirme se o seu servidor Shlink está funcionando corretamente navegando até o console de administração da sua instância. No meu caso, é “https://admin.helloserver.top”.

Uma captura de tela mostrando a página inicial padrão para uma instância do Shlink.

Para usar sua nova instância, clique no item de menu Shlink na página inicial.

Uma captura de tela mostrando o item de menu Shlink na página inicial da instância.

Cole seu URL longo na caixa de texto URL a ser encurtado na categoria Criar um URL curto .

Forneça alguns metadados para seu link curto e clique em Salvar para criar seu link.

Uma captura de tela mostrando o formulário para criar um link curto no Shlink.

Abra seu novo URL curto em uma nova guia do navegador e clique no botão Visitas no painel do Shlink para testar se está funcionando corretamente.

Uma captura de tela mostrando uma análise básica do link de amostra no Shlink.

Instalar e implantar seu próprio serviço de encurtamento de links é apenas o primeiro passo para recuperar sua privacidade online. Saiba como o Linux pode ajudá-lo a recuperar ainda mais sua privacidade hospedando seu próprio site anônimo no Ubuntu usando Tor .

Crédito da imagem: Carlos Muza via Unsplash e Shlink.io Developers . Todas as alterações e capturas de tela de Ramces Red.

Deixe um comentário

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