こんにちは、さくらインターネット クラウドチームの大喜多です。

Mastodonは、Twitterライクな投稿ができる分散型ソーシャルネットワークを実現するオープンソースソフトウェア(OSS)です。Twitterとの違いは、1カ所に全ユーザがいる中央集権型でなく、個人でインスタンス(Mastodonではサーバのことをこう呼びます)を立てて、他のインスタンスと緩く繋がれる分散型であるところです。さくらのクラウドのスタートアップスクリプトを使うことで、自分(あるいは仲間同士)のMastodonインスタンスを簡単に作ることができます。

そこで今回はさくらのクラウドを使って、本当に「ゼロから」Mastodonインスタンスを作ってみます。

必要なもの

さくらインターネットの会員ID さくらインターネットのサービスを使うために必要なものです
クレジットカード ドメインの取得やさくらのクラウドのアカウント作成に使用します
ドメイン Mastodonインスタンスの名前に使うドメイン
さくらのクラウドのアカウント Mastodonインスタンス用のサーバを作ったり、ドメイン登録したりします
インターネットやLinuxに関する基礎知識 コマンドを打つ場面も多いので必須です
ドットコムマスター アドバンスLPIC1相当の知識は最低限必要です

本チュートリアルの流れ

STEP1 さくらインターネット会員登録 さくらインターネットの会員になります(すでに会員の方は飛ばしていただいて大丈夫です)
STEP2 ドメイン取得 Mastodonインスタンスの名前に使うドメインを取得します
STEP3 さくらのクラウドアカウント作成 サーバを作ったり、ドメイン登録したりするために、さくらのクラウドのアカウントを作ります
STEP4 さくらのクラウドDNS設定 さくらのクラウドのDNS機能を使ってドメインを利用可能にします
STEP5 サーバ作成の前準備 公開鍵認証用のキーペアとAPIキーを作成します。
STEP6 サーバ作成 Mastodonインスタンス用のサーバを作成します
STEP7 Mastodon管理者設定 Mastodonインスタンスにアカウントを作成し、管理者に昇格させます。

STEP1:さくらインターネット会員登録

Webブラウザで、さくらインターネット会員登録のページを開きます。

フォームに会員情報を入力し、個人情報保護ポリシーを確認し、確認後「個人情報の取り扱いについて同意する」にチェックを入れます。ここまでできたら、「確認画面へ進む」をクリックして先に進みます。

※先に進めない場合、フォームの入力に不備があるので、修正して再度クリックします。

「会員情報のご確認」ページで、入力内容に誤りがないかチェックして、「会員登録する」をクリックします。

登録が完了すると以下のような画面が表示されます。

会員ID・パスワード・登録に使ったメールアドレスは忘れないように気をつけてください。ここでは電話認証は行わず、STEP2に進みます。

STEP2:ドメイン取得

ドメインのページを開きます。赤枠で囲ったテキストボックスに使いたいドメインを入力し、「ドメインを検索する」をクリックします。

この記事内ではleopardon.comというドメインを取得し、Mastodonインスタンスを作成します。赤枠で囲った部分をクリックして先に進みます。

STEP1から順番に進めていれば、さくらインターネット会員としてログインした状態になっているので、以下のような画面が表示されます。

「個人情報の取り扱いについて」「基本約款」「サービス約款」の内容を確認し、確認後「同意する」にチェックを入れ、「次へ」をクリックします。

以下のような画面が表示された場合は、さくらインターネット会員としてログインされていない状態なので、赤枠内のリンクをクリックしてログインします。

氏名(日本語・英語)を入力し、「つぎへ」をクリックします。

支払い方法は「クレジットカード」「請求書」「銀行振込」の3種類が選べますが、ドメインを取得して利用できるようになるのは入金確認後なので、入金確認が速く、手数料のかからないクレジットカード払いがオススメです。

「最終のご確認」画面で、内容に誤りがないことを十分に確認して、「お申し込みを行う」をクリックします。

以下の画面が表示されれば、ドメインの申し込みは完了です。

ドメイン取得が完了すると、以下のようなメールが届きます。

STEP3:さくらのクラウドアカウント作成

さくらのクラウド コントロールパネルを開きます。会員IDとパスワードを入力し、ログインします。

「アカウントの作成」をクリックします。

「基本約款」「サービス約款」の内容を確認し、確認後「約款に同意する」にチェックを入れ、「個人情報の取り扱いについて」の内容を確認し、「個人情報の取扱いに同意する」にチェックを入れます。

チェックを入れると、下に入力フォームが表示されます。

「名前」「アカウントコード」「パスワード」「パスワード(再入力)」を入力し、「作成」をクリックします。「名前」と「アカウントコード」の違いについては、今回は説明を省略します。本記事では両方とも「mastodon」とします。

赤枠部分「さくらのクラウド ホーム」をクリックします。

さくらのクラウド(IaaS)をクリックします。

以下の画面が表示されたら「電話認証」をクリックします。

赤枠部分のボタンをクリックすると、会員ID作成時に登録した電話番号に対してSMSで認証コードが送信されます。

SMSで送信された認証コードをテキストボックスに入力し、「認証」をクリックします。

電話認証が完了すると以下の画面が表示されます。「さくらのクラウド コントロールパネル へ進む」をクリックして次へ進みます。

STEP4:さくらのクラウドDNS設定

さくらのクラウド コントロールパネルにて、左メニューの「DNS」をクリックし、右上の「追加」をクリックします。

「ゾーン名」のテキストボックスに、STEP2で」取得したドメイン(本記事ではleopardon.com)を入力し、右下の「作成」をクリックします。

再度、左メニューの「DNS」をクリックし、追加したDNSゾーンの行(赤枠で囲った部分)をダブルクリックします。

以下のスクリーンショット内で赤枠で囲った部分がleopardon.comのDNSサーバになります。この先のドメインの設定で使用しますので、控えておいてください。

※さくらのクラウドDNSのDNSサーバは複数台存在しますので、必ずドメインを登録したあとに詳細画面でDNSサーバ名を確認してください。

さくらインターネット会員メニューを開きます。
※さくらのクラウド コントロールパネルの画面は後ほど使用しますので、閉じないでください。

以下の画面が表示された場合は、会員IDとパスワードを入力し、「ログイン(認証)」をクリックします。

以下の画面の赤枠部分「契約情報」をクリックします。

以下の画面の赤枠部分「契約ドメインの確認」をクリックします。

以下の画面の赤枠部分「ドメインメニュー」をクリックします。

以下の画面の赤枠部分「WHOIS情報」をクリックします。

以下の画面の赤枠部分「変更」をクリックし、ネームサーバを変更します。

「ネームサーバ1」と「ネームサーバ2」を、さくらのクラウドDNSにドメインを登録した際に表示されたDNSサーバに書き換え、「送信する」をクリックします。

クリックしても特にメッセージは表示されません。「ドメイン一覧に戻る」をクリックし、「WHOIS情報」をクリックして、「ネームサーバ1」と「ネームサーバ2」が書き換わっていれば、この画面での作業は完了です。

STEP5:サーバ作成の前準備

ここからは「さくらのクラウド コントロールパネル」に戻ります。

サーバを作成する前に、公開鍵認証用のキーペアとAPIキーを作成しておきます。

公開鍵認証のキーペア作成

手順は以下のリンク先をご参照ください。
さくらのクラウドニュース – 公開鍵認証

APIキーの作成

さくらのクラウド コントロールパネルにて右上の「設定」をクリックします。

「APIキー」をクリックし、「追加」をクリックします。

「名前」を入力し、「追加」をクリックします。

以下のようなポップアップが表示されます。サーバ作成時に「ACCESS TOKEN」「ACCESS TOKEN SECRET」が必要になりますので、赤枠で囲った文字列を控えておきます。

STEP6:サーバ作成

さくらのクラウド コントロールパネルの左メニュー「サーバ」をクリックし、右上の「追加」をクリックします。

サーバ作成画面では、主に変更する箇所について説明します。「シンプルモード」にチェックが入っている場合は、チェックを外してください。

アーカイブは「CentOS7.3」を選択します。

※2017年4月25日時点での最新バージョン

「管理ユーザのパスワード」は、CentOSのrootユーザのパスワードになります。この後SSHログインする際に入力する秘密鍵のパスフレーズとは違うものですのでご注意ください。また、STEP5で登録/生成した公開鍵を選択し、「パスワード/チャレンジレスポンスでのSSHログインを許可しない」にチェックを入れます。

スタートアップスクリプトは「mastodon」を選択します。「さくらのクラウドDNSで管理しているDNSゾーン」は、今回Mastodonインスタンス用に取得したドメインを入力します(本記事ではleopardon.com)。「APIキーのACCESS TOKEN」と「APIキーのACCESS TOKEN SECRET」は、STEP5の「APIキーの作成」で生成された「ACCESS TOKEN」「ACCESS TOKEN SECRET」をそれぞれ入力します。

サーバの名前にも、今回Mastodonインスタンス用に取得したドメインを入力し(本記事ではleopardon.com)、画面をスクロールして一番右下の「作成」をクリックします。

Mastodonインスタンス用のサーバ作成が始まります。サーバ作成およびMastodonのセットアップにはかなりの時間がかかりますので、しばらく待ちます。

なお、DNSレコードの登録は、スタートアップスクリプトによって行われますので、お客様にてDNSレコードを追加していただく必要はありません。

STEP7:Mastodon管理者設定

Mastodonにアカウントを作成し、管理者に昇格させます。

Webブラウザで「https://<ドメイン>/」にアクセスします。

「ユーザー名」「メールアドレス」「パスワード」「新しいパスワード」を入力し、「参加する」をクリックします。

以下の画面に遷移しますので、メールを確認します。

以下のようなメールが届きますので、赤枠部分の「メールアドレスの確認」をクリックします。

※環境によって「迷惑メール」に振り分けられる場合がありますので、届かない場合は「迷惑メール」を確認してみてください。

メールアドレスとパスワードを入力してログインします。

正常にログインできると、以下の画面が表示されます(Mastodonのチュートリアル)

今回私は「alice」というユーザーを作成しました。aliceをこのインスタンスの管理者に昇格させます。

SSHまたはさくらのクラウドのコンソールを使用して、サーバにログインします。

入力するコマンドは以下の3行です。

su - mastodon
cd live
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=alice

成功すると、以下のような表示になります。

[root@leopardon ~]# su - mastodon
Last login: Tue Apr 25 19:14:40 JST 2017
[mastodon@leopardon ~]$ cd live
[mastodon@leopardon live]$ RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=alice
Congrats! alice is now an admin. \o/
Navigate to https://leopardon.com/admin/settings to get started
[mastodon@leopardon live]$
https://<ドメイン>/admin/settings

が、管理者用のURLになります。ここからMastodonの設定を行うことができます。

これで自分専用のMastodonインスタンスが作成できました。友達を誘ってコミュニティのSNSとして利用したり、他のインスタンスのユーザーをリモートフォローして交流することもできます。Let’s enjoy Mastodon Life!!