今回は自宅サーバーで分散型SNS「Bluesky」のSandboxのPersonal Data Server(PDS)を建てる方法を書いていきたいと思います。
Sandboxは開発者向けのテスト的なサーバーでデータが消える可能性があるそうです。
ご注意下さい。
今回書いたこの方法はどちらかというとBlueskyのPDSをインストールするというよりも、ポート開放やドメインの設定などの自宅サーバーを建てる全体の流れを分かって欲しくて記事を作りました。
PDS自体は公式のシェルスクリプトで自動でインストールするので、それらを手動で行いたい人にはこの記事は向いておりません。何卒ご了承下さい。
環境
ルータ
光BBユニット
自作PC(※)
自作のWindows11のPC(マザーボードはA10N-9830E)
※サーバー本体とは別にPCを用意します。
サーバー本体
Jumper EZbox i3
サーバーのOS
Ubuntu 22.04
Ubuntuをインストールする
準備するもの
・初期化しても可能なUSBメモリ
今回フォーマットするので、初期化しても可能なUSBメモリーを用意して下さい。
UbuntuのISOファイルをダウンロードする
Ubuntu Japanese TeamのページからISOファイルをダウンロードします。
Homepage | Ubuntu Japanese Team
https://www.ubuntulinux.jp/home
USBメモリをPCに挿入する
USBメモリをWindows PCに挿します。
Rufusをダウンロードする
インストールUSBを作成可能なRufusというソフトをダウンロードします。
Rufus - 起動可能なUSBドライブを簡単に作成できます
https://rufus.ie/ja/
Rufusを起動する
Rufusをダブルクリックで起動します。
Rufusで挿入したUSBメモリになっていることを確認
Rufusでデバイスがちゃんと今回挿入したUSBになっていることを確認します。
RufusでISOファイルを選択する
先程ダウンロードしたISOファイルを選択から選びます。
スタートをクリック
スタートをクリックします。
Rufusを終了
緑のプログレスバーが右まで行ってちゃんとインストールメディアが作成されたことを確認してRufusを終了します。
BIOSの設定
サーバー本体にUSBメモリを挿入
サーバー本体に先程作成したUSBメモリを挿入します。
サーバーを起動時にDeleteキーを押す
サーバー本体の電源を入れる時にDeleteキーを押しながら起動します。
※メーカーによってBIOS起動するキーは異なります。
BootのUSBの起動順位を1番目に変更
Bootメニューで先程挿入したUSBメモリの起動順位が1番目になるように変更します。
F4で保存して終了する
Save&Exitと書いてあるF4キー(一般的なPCではF10キー)を押して保存して終了します。
IPアドレスを固定
サーバーにログイン
サーバー本体にログインします。
設定を開く
設定を開きます。
ネットワークのメニューを開く
ネットワークのメニューを選択します
設定ボタンをクリック
それぞれ接続しているネットワークの有線または無線の右にある設定ボタンをクリックします。
IPアドレスをコピーする
IPv4アドレスをコピーします。
デフォルトルートを覚えておく
デフォルトルートのアドレスを覚えておきます。
これはのちのゲートウェイを入力するときに使います。
自動接続するのチェックを外す
自動接続するのチェックを外します。
IPv4タブをクリック
IPv4タブをクリックします。
手動にする
自動(DHCP)から手動に設定します。
コピーしたIPアドレスを貼り付ける
先程コピーしたIPアドレスを貼り付けます。
例として僕の環境では192.168.3.16
です。
ネットマスクを入力する
ネットマスクを入力します。
これは255.255.255.0
で基本的に大丈夫です。
ゲートウェイを入力する
ゲートウェイを入力します。
これはデフォルトルートと覚えておいたアドレスを入れて下さい。
例として僕の環境の場合は192.168.3.1
と入力します。
適用をクリック
右上の適用をクリックします。
ポート開放する
ルーターのページにアクセスする
Softbank光のルーターのページであるhttp://172.16.255.254/ にアクセスする。
ルーターのユーザー名とパスワードを入力する
Softbank光の場合はユーザー名はuser
、パスワードもuser
です。
詳細設定モードをクリック
セットアップメニューのページが開いていることを確認して、詳細設定モードをクリックします。
ポート転送を開く
左のメニューからポート転送を開きます。
IPアドレスやポート番号を設定
ローカルIPアドレスやポート番号を設定します。
No.1とNo2を無効から有効にし、プロトコルをTCPにします。
No.1を設定する
No.1は
WAN側ポート番号は80 - 80
LAN側ポート番号も80 - 80
転送先IPアドレスはサーバー本体のローカルIPアドレスを設定します。
例として僕の環境の場合は192.168.3.16
です。
No.2を設定する
No.2は
WAN側ポート番号は443 - 443
LAN側ポート番号も443 - 443
転送先IPアドレスはサーバー本体のローカルIPアドレスを設定します。
例として僕の環境の場合は192.168.3.16
です。
ドメインの設定をする
ドメインの設定をします。
今回はCloudflareで設定をします。
Cloudflareを開く
Cloudflareのダッシュボードを開きます。
ドメインを選択する
購入したドメインを選択します。
DNSをクリック
左側のメニューからDNSをクリックして開きます。
レコードその1の設定をする
レコードの追加をクリック
レコードの追加をクリックします。
Aレコードになっていることを確認
Aレコードになっていることを確認します。
名前には@と入力する
ドメイン名と同じルートに設定するため、名前には@と入力します。
コンテンツを設定
コンテンツにはグローバルIPアドレスを設定します。
グローバルIPアドレスは以下のページで確認出来ます。
アクセス情報【使用中のIPアドレス確認】
https://www.cman.jp/network/support/go_access.cgi
保存する
以上のことを確認して保存します。保存します。
レコードその2の設定をする
レコードの追加をクリック
レコードの追加をクリックします。
Aレコードになっていることを確認
Aレコードになっていることを確認します。
名前には*と入力する
Blueskyでユーザーがアカウントを作れるようにするため、名前には*と入力します。
コンテンツを設定
コンテンツにはグローバルIPアドレスを設定します。
グローバルIPアドレスは以下のページで確認出来ます。
アクセス情報【使用中のIPアドレス確認】
https://www.cman.jp/network/support/go_access.cgi
保存する
以上のことを確認して保存します。
PDSをインストールする
端末を開く
サーバー本体でCtrl+Alt+Tで端末を開きます。
シェルスクリプトをダウンロード
シェルスクリプトをダウンロードします。
wget https://raw.githubusercontent.com/bluesky-social/pds/main/installer.sh
シェルスクリプトを起動
シェルスクリプトを起動します。
sudo bash installer.sh
後は画面の指示に従ってドメイン名を入力したりして下さい。
ドメイン名を入力する際はhttps://
はいりません。
example.com
形式で入力して下さい。
終了後、ステータスを確認する
PDSのインストール終了後、statusコマンドでpdsのステータスを確認します。
sudo systemctl status pds
招待制から自由登録出来るようにする
初期状態では招待制となっています。
招待制から自由登録可能にするには、pds.envの編集します。
sudo apt install vim
sudo vim /pds/pds.env
iキーを押して挿入モードにします。
矢印キーで移動し、一番下の行に以下を追記します。
PDS_INVITE_REQUIRED=false
Escキーを押して以下のコマンドで保存して終了します。
:wq
そしてpdsを再起動します。
sudo systemctl restart pds
アカウント登録をする
Blueskyの公式Webクライアントでアカウントを登録しましょう。
公式Webクライアントにアクセスする
以下のURLから公式Webクライアントにアクセスします。
Bluesky
https://bsky.app/
ホスティングプロバイダーでOtherを選択
ホスティングプロバイダーでOtherを選択します。
自分のドメインを入力
自分のドメインを入力して次をクリックします。
アカウント情報を入力する
メールアドレス、パスワード、生年月日をそれぞれ入力して次へ進みます。
ハンドルを入力する
ユーザーハンドルを入力します。
任意の文字列を入れて下さい。
ユーザー名は他の人と被ってはいけません。
次に進みます。
アカウントの作成完了
アカウントが作成されたことを確認して終わります。
試しに投稿してみましょう。
■参照サイト
第708回 GUIでネットワーク設定を行う | gihyo.jp
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0708
bluesky-social/pds: Bluesky PDS (Personal Data Server) container image, compose file, and documentation
https://github.com/bluesky-social/pds