Linux で Shlink を使用して独自の bit.ly サーバーをホストする方法
Shlink は、Linux 用の強力なセルフホスト リンク短縮サービスです。短縮リンクのルートとして独自のドメイン名を使用できる、シンプルでありながら効果的なフレームワークを提供します。この記事では、Docker と Nginx を使用して Ubuntu Linux に独自の Shlink インスタンスをインストールする方法を説明します。
Shlink を使用してリンクを短縮する理由は何ですか?
Shlink の最大のセールスポイントの 1 つは、独自にホストしながらも、短縮リンクに独自のカスタム ドメインを使用できることです。これにより、SaaS リンク短縮サービスの柔軟性と、自分のマシンでソフトウェアを実行するプライバシーが得られます。
それ以外にも、Shlinkには、QR コードの作成、リンク クエリの自動転送、複数セグメントのカスタム スラッグの作成など、さまざまな機能が備わっています。そのため、リンクの外観や動作を微調整できる Linux のリンク短縮サービスを探している場合、Shlink は便利なツールになります。
Shlink 用の Docker の入手
前提:この記事では、Ubuntu 22.04 VPS に Shlink をインストールしており、現在ドメイン名を所有していることを前提としています。
Linux に Shlink を導入する最初のステップは、Docker のコピーを取得することです。これを行うには、Docker プロジェクトの署名キーを次の Web サイトから取得します。
Docker バイナリのリポジトリ ファイルを作成します。
新しいリポジトリ ファイル内に次のコード行を貼り付けます。
次のコマンドを実行して、システムのリポジトリ リストを再読み込みしますapt update
。
Shlinkの依存関係のインストール
Docker リポジトリが起動したら、apt を使用して Shlink の依存関係を取得できます。
システムで「core」スナップ パッケージが利用可能であることを確認します。
Electronic Frontier Foundation から「certbot」スナップ パッケージを取得してインストールします。
Geolite2 ライセンスキーの取得
Shlink のもう 1 つの特徴は、リンクをクリックしたユーザーの大まかな位置を追跡できることです。この機能を使用するには、Geolite2 ライセンス サインアップページを開きます。
フォームに詳細を入力し、「続行」を押します。
メールの受信トレイを開き、MaxMind からの確認メールを探します。
メール内のリンクをクリックし、新しい MaxMind アカウントのパスワードを入力します。
MaxMind アカウントにログインし、ダッシュボードで「ライセンス キーの管理」をクリックします。
「新しいライセンス キーの生成」をクリックし、「確認」をクリックしてGeolite2 キーを作成します。
Geolite2 ライセンス キーをマシン上のテキスト ファイルにコピーして保存します。
Shlinkの入手とインストール
Shlink をインストールするには、まず仮想 Docker ネットワークを作成する必要があります。これは、デプロイする他のコンテナと通信できるアプリのプライベート ネットワークとして機能します。
PostgreSQL データベースをデプロイし、新しい仮想 Docker ネットワークにリンクします。
「POSTGRES_PASSWORD」環境変数の値をランダムなテキスト文字列に変更します。
次のコマンドを新しいターミナル セッションに貼り付けます。
DEFAULT_DOMAIN 変数の値をドメイン名に置き換えます。
「GEOLITE_LICENSE_KEY」変数の値を個人のライセンス キーに変更します。
「DB_PASSWORD」変数を PostgreSQL データベースのパスワードに置き換えます。
押すEnterと Shlink インスタンスが起動します。
Shlink インターフェースのインストールとリンク
Shlink コンテナから API キーを取得し、クリップボードにコピーします。
次のコマンドを新しいターミナル セッションに貼り付けます。
「SHLINK_SERVER_URL」を、バックエンド コンテナーの「DEFAULT_DOMAIN」変数の値に置き換えます。
「SHLINK_SERVER_API_KEY」の値として API キーを貼り付けます。
押すEnterと、Shlink フロントエンド インターフェイスが起動します。
システム内で現在アクティブなコンテナをすべて一覧表示して、データベース、Shlink バックエンド、および Shlink フロントエンドが正常に動作していることを確認します。
Nginx を使用した SSL リバース プロキシの作成
この時点で、サーバー上で Shlink ソフトウェア スイートが稼働しています。ただし、これにアクセスするには、異なるドメインの 2 つのコンテナーを委任する SSL Web プロキシを作成する必要があります。
まず、Shlink のフロントエンド インターフェース用に新しい A レコードを作成します。私の場合は、フロントエンドの A レコードを「admin」に設定します。
お気に入りのテキスト エディターを使用して、Shlink インスタンスのサイト構成ファイルを作成します。
次のコード ブロックを構成ファイル内に貼り付けます。
「YOUR-ROOT.DOMAIN」変数をルートドメインに置き換え、「SUBDOMAIN.YOUR-ROOT.DOMAIN」をフロントエンドインターフェースのサブドメインに置き換えます。
設定ファイルを保存し、Nginx で Web アプリを有効にします。
新しい設定を適用するには、Nginx デーモンをリロードします。
サーバーを Electronic Frontier Foundation に登録します。
Shlink インスタンス用の新しいマルチドメイン SSL 証明書をリクエストします。
インスタンスの管理コンソールに移動して、Shlink サーバーが正常に動作していることを確認します。私の場合は、「https://admin.helloserver.top」です。
Shlink を使用して最初のリンクを作成する
新しいインスタンスを使用するには、ランディング ページのShlinkメニュー項目をクリックします。
「短縮 URL の作成」カテゴリの短縮する URLテキスト ボックスに長い URL を貼り付けます。
短縮リンクのメタデータを入力し、「保存」をクリックしてリンクを作成します。
新しいブラウザ タブで新しい短縮 URL を開き、 Shlink ダッシュボードの[訪問]ボタンをクリックして、正常に動作しているかどうかをテストします。
独自のリンク短縮サービスをインストールして展開することは、オンライン プライバシーを取り戻すための第一歩にすぎません。Torを使用して Ubuntu で独自の匿名 Web サイトをホストすることで、Linux がプライバシーのさらなる回復にどのように役立つかを学びます。
画像クレジット: Carlos Muza (UnsplashおよびShlink.io Developers経由)。すべての変更とスクリーンショットは Ramces Red によるものです。
コメントを残す