Linux에서 Shlink를 사용하여 자신만의 bit.ly 서버를 호스팅하는 방법

Linux에서 Shlink를 사용하여 자신만의 bit.ly 서버를 호스팅하는 방법
테이블 위에 노트북이 놓여 있는 사진입니다.

Shlink는 Linux용 강력한 자체 호스트 링크 단축 서비스입니다. 이는 자신의 도메인 이름을 단축 링크의 루트로 사용할 수 있는 간단하면서도 효과적인 프레임워크를 제공합니다. 이 문서에서는 Docker 및 Nginx를 사용하여 Ubuntu Linux에 자체 Shlink 인스턴스를 설치하는 방법을 보여줍니다.

Shlink의 가장 큰 판매 포인트 중 하나는 자체 호스팅이 가능하면서도 짧은 링크에 대한 사용자 정의 도메인을 사용할 수 있다는 것입니다. 이는 결과적으로 SaaS 링크 단축 서비스의 유연성과 자신의 컴퓨터에서 소프트웨어를 실행하는 개인정보 보호를 제공합니다.

데모 서버에서 실행되는 Shlink를 보여주는 스크린샷.

그 외에도 Shlink는 QR 코드 생성, 링크 쿼리 자동 전달, 다중 세그먼트 사용자 정의 슬러그 생성 기능과 같은 다양한 기능 세트를 자랑합니다. Linux에서 링크의 모양과 동작을 조정할 수 있는 링크 단축 서비스를 찾고 있는 경우 Shlink는 편리한 도구입니다.

Shlink용 Docker 얻기

가정: 이 문서에서는 Ubuntu 22.04 VPS에 Shlink를 설치하고 있으며 현재 도메인 이름을 소유하고 있다고 가정합니다.

Linux에 Shlink를 배포하는 첫 번째 단계는 Docker 복사본을 얻는 것입니다. 이렇게 하려면 해당 웹사이트에서 Docker 프로젝트의 서명 키를 가져오세요.

Docker 바이너리용 저장소 파일을 만듭니다.

새 저장소 파일 안에 다음 코드 줄을 붙여넣습니다.

다음을 수행하여 시스템의 저장소 목록을 다시 로드하십시오 apt update.

Shlink에 대한 종속성 설치

Docker 리포지토리가 실행되면 이제 apt를 사용하여 Shlink에 대한 종속성을 얻을 수 있습니다.

시스템에서 “코어” 스냅 패키지를 사용할 수 있는지 확인하십시오.

Electronic Frontier Foundation에서 “certbot” 스냅 패키지를 가져와 설치합니다.

Geolite2 라이센스 키 획득

Shlink의 또 다른 특징은 링크를 클릭한 사용자의 일반적인 위치를 추적할 수 있다는 것입니다. 이를 사용하려면 Geolite2 Licensing Sign Up 페이지를 엽니다.

GeoLite 라이선스 가입 페이지를 보여주는 스크린샷.

양식에 세부정보를 입력한 후 계속을 누르세요 .

이메일 받은 편지함을 열고 MaxMind에서 보낸 확인 이메일을 찾으세요.

이메일의 링크를 클릭한 다음 새 MaxMind 계정의 비밀번호를 입력하세요.

MaxMind의 비밀번호 생성 링크를 보여주는 스크린샷.

MaxMind 계정에 로그인한 다음 대시보드에서 라이센스 키 관리를 클릭하세요.

강조 표시된 스크린샷

새 라이센스 키 생성을 클릭한 다음 확인을 클릭하여 Geolite2 키를 생성하세요.

강조 표시된 스크린샷

Geolite2 라이센스 키를 컴퓨터의 텍스트 파일에 복사한 후 저장하세요.

Shlink를 설치하려면 먼저 가상 Docker 네트워크를 만들어야 합니다. 이는 배포할 다른 컨테이너와 통신할 수 있는 앱의 개인 네트워크 역할을 합니다.

PostgreSQL 데이터베이스를 배포하고 이를 새 가상 Docker 네트워크에 연결합니다.

“POSTGRES_PASSWORD” 환경 변수의 값을 임의의 텍스트 문자열로 변경합니다.

임의의 PostgreSQL DB 비밀번호를 표시하는 터미널입니다.

새 터미널 세션에 다음 명령을 붙여넣습니다.

DEFAULT_DOMAIN 변수의 값을 도메인 이름으로 바꿉니다.

데모 서버의 기본 도메인 값을 보여주는 터미널입니다.

개인 라이센스 키로 “GEOLITE_LICENSE_KEY” 변수의 값을 변경하세요.

데모 Shlink 서버에 대한 Geolite 라이센스를 보여주는 터미널입니다.

“DB_PASSWORD” 변수를 PostgreSQL 데이터베이스 비밀번호로 바꾸세요.

데모 서버의 PostegreSQL DB 비밀번호를 보여주는 터미널입니다.

EnterShlink 인스턴스를 시작하려면 누르세요 .

Shlink 인터페이스 설치 및 연결

Shlink 컨테이너에서 API 키를 가져온 후 클립보드에 복사합니다.

새 터미널 세션에 다음 명령을 붙여넣습니다.

“SHLINK_SERVER_URL”을 백엔드 컨테이너의 “DEFAULT_DOMAIN” 변수 값으로 바꿉니다.

Shlink 백엔드 인스턴스의 전체 URL을 표시하는 터미널입니다.

API 키를 ‘SHLINK_SERVER_API_KEY’ 값으로 붙여넣으세요.

Shlink 백엔드 API 키를 보여주는 터미널입니다.

EnterShlink 프런트엔드 인터페이스를 시작하려면 누르세요 .

시스템의 현재 활성 컨테이너를 모두 나열하여 데이터베이스, Shlink 백엔드 및 Shlink 프런트엔드가 제대로 작동하는지 확인합니다.

완전한 Shlink 웹 앱을 구축하는 세 개의 컨테이너를 보여주는 터미널입니다.

Nginx를 사용하여 SSL 역방향 프록시 만들기

이제 서버에서 작동하는 Shlink 소프트웨어 제품군이 실행됩니다. 그러나 이에 액세스하려면 서로 다른 도메인에 있는 두 컨테이너를 위임하는 SSL 웹 프록시를 만들어야 합니다.

시작하려면 Shlink의 프런트엔드 인터페이스에 대한 새 A 레코드를 만듭니다. 제 경우에는 프런트엔드의 A 레코드를 “admin”으로 설정하겠습니다.

데모 Shlink 서버에 대한 두 개의 DNS 레코드를 보여주는 스크린샷.

원하는 텍스트 편집기를 사용하여 Shlink 인스턴스에 대한 사이트 구성 파일을 만듭니다.

구성 파일 내에 다음 코드 블록을 붙여넣습니다.

“YOUR-ROOT.DOMAIN” 변수를 루트 도메인으로 바꾸고, “SUBDOMAIN.YOUR-ROOT.DOMAIN”을 프런트엔드 인터페이스의 하위 도메인으로 바꿉니다.

구성 파일을 저장한 다음 Nginx에서 웹앱을 활성화합니다.

새 설정을 적용하려면 Nginx 데몬을 다시 로드하세요.

Electronic Frontier Foundation에 서버를 등록하세요.

Shlink 인스턴스에 대한 새로운 다중 도메인 SSL 인증서를 요청합니다.

인스턴스의 관리 콘솔로 이동하여 Shlink 서버가 제대로 작동하는지 확인하세요. 제 경우에는 “https://admin.helloserver.top”입니다.

Shlink 인스턴스의 기본 방문 페이지를 보여주는 스크린샷.

새 인스턴스를 사용하려면 랜딩 페이지에서 Shlink 메뉴 항목을 클릭하세요.

인스턴스 방문 페이지의 Shlink 메뉴 항목을 보여주는 스크린샷.

짧은 URL 만들기 카테고리 아래의 단축할 URL 텍스트 상자 에 긴 URL을 붙여넣습니다 .

짧은 링크에 대한 일부 메타데이터를 제공한 다음 저장을 클릭하여 링크를 만듭니다.

Shlink에서 짧은 링크를 생성하는 양식을 보여주는 스크린샷.

새 브라우저 탭에서 새 단축 URL을 연 다음 Shlink 대시보드에서 방문 버튼을 클릭하여 제대로 작동하는지 테스트하세요.

Shlink의 샘플 링크에 대한 기본 분석을 보여주는 스크린샷입니다.

자신만의 링크 단축 서비스를 설치하고 배포하는 것은 온라인 개인정보 보호를 되찾는 첫 번째 단계일 뿐입니다. Tor를 사용하여 Ubuntu에서 자신만의 익명 웹사이트를 호스팅 함으로써 Linux가 개인정보를 더욱 효과적으로 보호하는 데 어떻게 도움이 되는지 알아보세요 .

이미지 출처: Carlos Muza, UnsplashShlink.io Developers 제공 . Ramces Red의 모든 변경 사항 및 스크린샷.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다