Cómo alojar su propio servidor bit.ly con Shlink en Linux
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.
¿Por qué acortar enlaces usando Shlink?
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.
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 .
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.
Inicie sesión en su cuenta MaxMind, luego haga clic en Administrar claves de licencia en su Panel de control.
Haga clic en Generar nueva clave de licencia y luego haga clic en Confirmar para crear su clave Geolite2.
Copie la clave de licencia de Geolite2 en un archivo de texto en su máquina y luego guárdela.
Obtención e instalación de Shlink
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.
Pegue el siguiente comando en una nueva sesión de terminal:
Reemplace el valor de la variable DEFAULT_DOMAIN con su nombre de dominio.
Cambie el valor de la variable “GEOLITE_LICENSE_KEY” con su clave de licencia personal.
Reemplace la variable «DB_PASSWORD» con la contraseña de su base de datos PostgreSQL.
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.
Pegue su clave API como valor de «SHLINK_SERVER_API_KEY».
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:
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».
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».
Creando su primer enlace usando Shlink
Para usar su nueva instancia, haga clic en el elemento del menú Shlink en la página de inicio.
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.
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.
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