Jak hostować własny serwer bit.ly za pomocą Shlink w systemie Linux

Jak hostować własny serwer bit.ly za pomocą Shlink w systemie Linux
Zdjęcie laptopa na stole.

Shlink to potężna usługa skracania łączy z własnym hostem dla systemu Linux. Zapewnia proste, ale skuteczne środowisko, w którym możesz używać własnej nazwy domeny jako katalogu głównego dla swoich skróconych linków. W tym artykule dowiesz się, jak zainstalować własną instancję Shlink w systemie Ubuntu Linux przy użyciu Dockera i Nginx.

Jedną z największych zalet Shlink jest to, że możesz używać własnej domeny niestandardowej dla krótkich linków, jednocześnie będąc samodzielnym gospodarzem. To z kolei zapewnia elastyczność usługi skracania łączy SaaS, a także prywatność uruchamiania oprogramowania na własnym komputerze.

Zrzut ekranu przedstawiający Shlink działający na serwerze demonstracyjnym.

Poza tym Shlink oferuje również różnorodny zestaw funkcji, takich jak możliwość tworzenia kodów QR, automatycznego przekazywania zapytań o łącza i tworzenia niestandardowych wielosegmentowych ślimaków. To sprawia, że ​​Shlink jest przydatnym narzędziem, jeśli szukasz usługi skracania linków w systemie Linux, w której możesz dostosować wygląd i zachowanie swoich linków.

Uzyskiwanie Dockera dla Shlink

Założenie: w tym artykule założono, że instalujesz Shlink na Ubuntu 22.04 VPS i że obecnie posiadasz nazwę domeny.

Pierwszym krokiem we wdrażaniu Shlink w systemie Linux jest uzyskanie kopii Dockera. Aby to zrobić, pobierz klucz podpisywania projektu Docker z ich strony internetowej:

Utwórz plik repozytorium dla plików binarnych Dockera:

Wklej następujący wiersz kodu do nowego pliku repozytorium:

Załaduj ponownie listę repozytorium systemu, wykonując apt update:

Instalowanie zależności dla Shlink

Po uruchomieniu repozytoriów Dockera możesz teraz użyć apt, aby uzyskać zależności dla Shlink:

Upewnij się, że w systemie dostępny jest „podstawowy” pakiet snap:

Pobierz i zainstaluj pakiet snap „certbot” z Electronic Frontier Foundation:

Uzyskiwanie klucza licencyjnego Geolite2

Inną cechą charakterystyczną Shlink jest to, że może śledzić ogólną lokalizację użytkownika, który kliknął Twoje linki. Aby z tego skorzystać, otwórz stronę rejestracji licencji Geolite2 .

Zrzut ekranu przedstawiający stronę rejestracji licencji GeoLite.

Wypełnij formularz swoimi danymi, a następnie naciśnij przycisk Kontynuuj .

Otwórz swoją skrzynkę odbiorczą, a następnie poszukaj wiadomości e-mail z potwierdzeniem od MaxMind.

Kliknij link w wiadomości e-mail, a następnie podaj hasło do nowego konta MaxMind.

Zrzut ekranu przedstawiający łącze do tworzenia hasła dla MaxMind.

Zaloguj się do swojego konta MaxMind, a następnie kliknij Zarządzaj kluczami licencyjnymi na pulpicie nawigacyjnym.

Zrzut ekranu przedstawiający

Kliknij Wygeneruj nowy klucz licencyjny , a następnie kliknij Potwierdź, aby utworzyć klucz Geolite2.

Zrzut ekranu przedstawiający

Skopiuj klucz licencyjny Geolite2 do pliku tekstowego na swoim komputerze, a następnie zapisz go.

Aby zainstalować Shlink, musisz najpierw utworzyć wirtualną sieć Docker. Będzie to służyć jako sieć prywatna aplikacji, w której może ona komunikować się z innymi wdrażanymi kontenerami:

Wdróż bazę danych PostgreSQL i połącz ją z nową wirtualną siecią Docker:

Zmień wartość zmiennej środowiskowej „POSTGRES_PASSWORD” na losowy ciąg tekstu.

Terminal pokazujący losowe hasło do bazy danych PostgreSQL.

Wklej następujące polecenie do nowej sesji terminala:

Zastąp wartość zmiennej DEFAULT_DOMAIN nazwą swojej domeny.

Terminal pokazujący domyślną wartość domeny dla serwera demonstracyjnego.

Zmień wartość zmiennej „GEOLITE_LICENSE_KEY” za pomocą osobistego klucza licencyjnego.

Terminal pokazujący licencję Geolite dla demonstracyjnego serwera Shlink.

Zamień zmienną „DB_PASSWORD” na hasło do bazy danych PostgreSQL.

Terminal wyświetlający hasło PostegreSQL DB dla serwera demonstracyjnego.

Naciśnij Enter, aby uruchomić instancję Shlink.

Instalowanie i łączenie interfejsu Shlink

Pobierz klucz API z kontenera Shlink, a następnie skopiuj go do schowka:

Wklej następujące polecenie do nowej sesji terminala:

Zastąp „SHLINK_SERVER_URL” wartością ze zmiennej „DEFAULT_DOMAIN” w kontenerze zaplecza.

Terminal pokazujący pełny adres URL instancji zaplecza Shlink.

Wklej klucz API jako wartość dla „SHLINK_SERVER_API_KEY”.

Terminal pokazujący klucz API zaplecza Shlink.

Naciśnij Enter, aby uruchomić interfejs frontendowy Shlink.

Upewnij się, że Twoja baza danych, backend Shlink i frontend Shlink działają poprawnie, wyświetlając listę wszystkich aktualnie aktywnych kontenerów w systemie:

Terminal przedstawiający trzy kontenery tworzące kompletną aplikację internetową Shlink.

Tworzenie odwrotnego proxy SSL przy użyciu Nginx

W tym momencie masz działający pakiet oprogramowania Shlink działający na swoim serwerze. Aby jednak uzyskać do niego dostęp, nadal musisz utworzyć serwer proxy sieci Web SSL, który deleguje Twoje dwa kontenery w różnych domenach.

Aby rozpocząć, utwórz nowy rekord A dla interfejsu frontendowego Shlink. W moim przypadku ustawię rekord A mojego frontendu na „admin”.

Zrzut ekranu przedstawiający dwa rekordy DNS dla demonstracyjnego serwera Shlink.

Utwórz plik konfiguracyjny witryny dla instancji Shlink, korzystając z ulubionego edytora tekstu:

Wklej następujący blok kodu do pliku konfiguracyjnego:

Zamień zmienną „TWOJA-ROOT.DOMAIN” na domenę główną, a zmienną „SUBDOMAIN.TWOJA-ROOT.DOMAIN” na subdomenę interfejsu frontendowego.

Zapisz plik konfiguracyjny, a następnie włącz aplikację internetową w Nginx:

Załaduj ponownie demona Nginx, aby zastosować nowe ustawienia:

Zarejestruj swój serwer w Electronic Frontier Foundation:

Poproś o nowy wielodomenowy certyfikat SSL dla swojej instancji Shlink:

Upewnij się, że Twój serwer Shlink działa poprawnie, przechodząc do konsoli administracyjnej swojej instancji. W moim przypadku jest to „https://admin.helloserver.top”.

Zrzut ekranu przedstawiający domyślną stronę docelową instancji Shlink.

Aby skorzystać z nowej instancji, kliknij pozycję menu Shlink na stronie docelowej.

Zrzut ekranu przedstawiający pozycję menu Shlink na stronie docelowej instancji.

Wklej długi adres URL w polu tekstowym adresu URL, który ma zostać skrócony, w kategorii Utwórz krótki adres URL .

Podaj metadane krótkiego linku, a następnie kliknij Zapisz, aby utworzyć link.

Zrzut ekranu przedstawiający formularz umożliwiający utworzenie krótkiego linku w Shlink.

Otwórz nowy krótki adres URL w nowej karcie przeglądarki, a następnie kliknij przycisk Odwiedziny na pulpicie nawigacyjnym Shlink, aby sprawdzić, czy działa poprawnie.

Zrzut ekranu przedstawiający podstawową analizę przykładowego łącza w Shlink.

Zainstalowanie i wdrożenie własnej usługi skracania linków to dopiero pierwszy krok w przywracaniu prywatności w Internecie. Dowiedz się, jak Linux może pomóc Ci jeszcze bardziej odzyskać Twoją prywatność, hostując własną anonimową witrynę internetową w Ubuntu przy użyciu Tora .

Źródło obrazu: Carlos Muza za pośrednictwem programistów Unsplash i Shlink.io . Wszystkie zmiany i zrzuty ekranu wykonał Ramces Red.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *