Cómo alojar su propio servidor bit.ly con Shlink en Linux

Cómo alojar su propio servidor bit.ly con Shlink en Linux
Una fotografía de una computadora portátil encima de una mesa.

Shlink es un potente servicio de acortamiento de enlaces de autohospedaje para Linux. Proporciona un marco simple pero efectivo donde puede usar su propio nombre de dominio como raíz para sus enlaces acortados. Este artículo le mostrará cómo instalar su propia instancia de Shlink en Ubuntu Linux usando Docker y Nginx.

Uno de los mayores puntos de venta de Shlink es que puedes usar tu propio dominio personalizado para enlaces cortos sin dejar de ser autohospedable. Esto, a su vez, le brinda la flexibilidad de un servicio de acortamiento de enlaces SaaS, así como la privacidad de ejecutar software en su propia máquina.

Una captura de pantalla que muestra Shlink ejecutándose en un servidor de demostración.

Aparte de eso, Shlink también cuenta con un conjunto diverso de características, como la capacidad de crear códigos QR, reenviar automáticamente consultas de enlaces y crear slugs personalizados de múltiples segmentos. Esto hace que Shlink sea una herramienta útil si buscas un servicio de acortamiento de enlaces en Linux donde puedas modificar el aspecto y el comportamiento de tus enlaces.

Obtención de Docker para Shlink

Supuesto: este artículo asume que está instalando Shlink en un VPS Ubuntu 22.04 y que actualmente posee un nombre de dominio.

El primer paso para implementar Shlink en Linux es obtener una copia de Docker. Para hacer esto, obtenga la clave de firma del proyecto Docker desde su sitio web:

Cree el archivo de repositorio para sus binarios de Docker:

Pegue la siguiente línea de código dentro de su nuevo archivo de repositorio:

Vuelva a cargar el listado del repositorio de su sistema haciendo lo siguiente apt update:

Instalación de las dependencias para Shlink

Con los repositorios de Docker en funcionamiento, ahora puedes usar apt para obtener las dependencias de Shlink:

Asegúrese de que el paquete instantáneo «principal» esté disponible en su sistema:

Obtenga e instale el paquete instantáneo «certbot» de Electronic Frontier Foundation:

Obtención de una clave de licencia de Geolite2

Otra característica definitoria de Shlink es que puede rastrear la ubicación general del usuario que hizo clic en sus enlaces. Para utilizar esto, abra la página de registro de licencias de Geolite2 .

Una captura de pantalla que muestra la página de registro para la licencia GeoLite.

Complete el formulario con sus datos y luego presione Continuar .

Abra la bandeja de entrada de su correo electrónico y luego busque el correo electrónico de confirmación de MaxMind.

Haga clic en el enlace del correo electrónico y luego proporcione una contraseña para su nueva cuenta MaxMind.

Una captura de pantalla que muestra el enlace de creación de contraseña para MaxMind.

Inicie sesión en su cuenta MaxMind, luego haga clic en Administrar claves de licencia en su Panel de control.

Una captura de pantalla que resalta el

Haga clic en Generar nueva clave de licencia y luego haga clic en Confirmar para crear su clave Geolite2.

Una captura de pantalla que resalta el

Copie la clave de licencia de Geolite2 en un archivo de texto en su máquina y luego guárdela.

Para instalar Shlink, primero debe crear una red Docker virtual. Esto servirá como la red privada de la aplicación donde podrá comunicarse con los otros contenedores que implementará:

Implemente una base de datos PostgreSQL y vincúlela a su nueva red Docker virtual:

Cambie el valor de la variable de entorno “POSTGRES_PASSWORD” con una cadena de texto aleatoria.

Una terminal que muestra una contraseña aleatoria de base de datos PostgreSQL.

Pegue el siguiente comando en una nueva sesión de terminal:

Reemplace el valor de la variable DEFAULT_DOMAIN con su nombre de dominio.

Un terminal que muestra el valor de dominio predeterminado para el servidor de demostración.

Cambie el valor de la variable “GEOLITE_LICENSE_KEY” con su clave de licencia personal.

Una terminal que muestra la licencia Geolite para el servidor Shlink de demostración.

Reemplace la variable «DB_PASSWORD» con la contraseña de su base de datos PostgreSQL.

Una terminal que muestra la contraseña de la base de datos PostegreSQL para el servidor de demostración.

Presione Enterpara iniciar su instancia de Shlink.

Instalación y vinculación de su interfaz Shlink

Obtenga una clave API de su contenedor Shlink y luego cópiela en su portapapeles:

Pegue el siguiente comando en una nueva sesión de terminal:

Reemplace «SHLINK_SERVER_URL» con el valor de su variable «DEFAULT_DOMAIN» en el contenedor backend.

Una terminal que muestra la URL completa de la instancia de backend de Shlink.

Pegue su clave API como valor de «SHLINK_SERVER_API_KEY».

Una terminal que muestra la clave API de backend de Shlink.

Presione Enterpara iniciar su interfaz frontend Shlink.

Confirme que su base de datos, el backend de Shlink y el frontend de Shlink estén funcionando correctamente enumerando todos los contenedores actualmente activos en el sistema:

Una terminal que muestra los tres contenedores que crean la aplicación web Shlink completa.

Crear un proxy inverso SSL usando Nginx

En este punto, ya tiene un paquete de software Shlink en funcionamiento ejecutándose en su servidor. Sin embargo, para acceder a él, aún necesita crear un proxy web SSL que delega sus dos contenedores en dominios diferentes.

Para comenzar, cree un nuevo registro A para la interfaz frontal de su Shlink. En mi caso, estableceré el registro A de mi interfaz como «admin».

Una captura de pantalla que muestra los dos registros DNS del servidor Shlink de demostración.

Cree el archivo de configuración del sitio para su instancia de Shlink usando su editor de texto favorito:

Pegue el siguiente bloque de código dentro de su archivo de configuración:

Reemplace la variable “SU-ROOT.DOMAIN” con su dominio raíz y “SUBDOMAIN.SU-ROOT.DOMAIN” con el subdominio de su interfaz de usuario.

Guarde su archivo de configuración, luego habilite su aplicación web en Nginx:

Vuelva a cargar su demonio Nginx para aplicar su nueva configuración:

Registre su servidor en Electronic Frontier Foundation:

Solicite un nuevo certificado SSL multidominio para su instancia de Shlink:

Confirme que su servidor Shlink esté funcionando correctamente navegando a la consola de administración de su instancia. En mi caso, es «https://admin.helloserver.top».

Una captura de pantalla que muestra la página de inicio predeterminada para una instancia de Shlink.

Para usar su nueva instancia, haga clic en el elemento del menú Shlink en la página de inicio.

Una captura de pantalla que muestra el elemento del menú Shlink en la página de inicio de la instancia.

Pegue su URL larga en el cuadro de texto URL que se acortará en la categoría Crear una URL corta .

Proporcione algunos metadatos para su enlace corto, luego haga clic en Guardar para crear su enlace.

Una captura de pantalla que muestra el formulario para crear un enlace corto en Shlink.

Abra su nueva URL corta en una nueva pestaña del navegador, luego haga clic en el botón Visitas en su panel de Shlink para probar si funciona correctamente.

Una captura de pantalla que muestra un análisis básico del enlace de muestra en Shlink.

Instalar e implementar su propio servicio de acortamiento de enlaces es sólo el primer paso para recuperar su privacidad en línea. Descubra cómo Linux puede ayudarle a recuperar aún más su privacidad alojando su propio sitio web anónimo en Ubuntu utilizando Tor .

Crédito de la imagen: Carlos Muza a través de Unsplash y Shlink.io Developers . Todas las modificaciones y capturas de pantalla realizadas por Ramces Red.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *