この記事ではXserver VPSを使ったMastodonサーバー(マストドンサーバー)の立て方に必要な手順をわかりやすく説明しています。
Mastodonサーバーはインスタンスとも呼ばれます。
マストドン運営に必要な独自ドメインの取得やSSLや証明書の取得についてもすべてXserver VPSで取得できますし、取得方法や設定方法もしっかり説明。
ぜひ参考にしてみてください。
【Xserver VPS】マストドンサーバー(インスタンス)の立て方【全体の流れと選ぶべきプラン】
マストドンのサーバーを立てる流れは以下のとおり。すべて本記事で設定できます。
- Xserver VPSを申し込む
- 接続許可ポートを設定
- 独自ドメインの入手
- DNSレコードの設定
- マストドンの設定
Xserver VPSの料金プラン【割引キャンペーン中】
月額料金は1ヶ月、12ヶ月、24ヵ月、36ヶ月の4パターンから選べます。長期利用を考えているなら1ヶ月契約よりも12ヶ月以上で契約することで誰よりもお得に契約することがができます。
プランは6種類と幅広く用意されています。MT4ひとつ動かすなら2GBプランで十分使えます。なお、下記は標準的な月額料金で1カ月契約のみキャンペーンは対象外です。
プラン | 2GB | 4GB | 8GB | 16GB | 32GB | 64GB |
月額料金 | 1,150円 | 2,200円 | 4,400円 | 9,750円 | 22,100円 | 44,200円 |
Xserver VPSは安定性抜群なので、より勝てる運用が実現できます。
Xserver VPSは1ヶ月から契約できます。最低利用期間もないので安心です。
マストドンサーバーは2GBプランから使えますが2GBプランのディスク容量は50GBと少ないです。
ちなみに月額料金を他社と比べると他社の2GBプランでは1,800円ぐらいとなりXserver VPSでは4GBプランが1,800円ほどとなります。
選ぶなら4GBプランがベストです。
とは言っても、プランは後からアップグレードができますので、まずは2GBプランでぜんぜんOK。
まずは2GBプランで始めて物足りなさを感じたら4GBプラン、8GBプランとしてみてはいかがでしょうか。
プラン変更後1時間もあれば新プランが反映されます。(経験談)
料金の発生はいつ?
Xserver VPSでは、毎月15日を基準に申し込み月の料金の計算方法が変わります。料金を支払う前に「お支払い詳細」にて確認できます。
基本的には申し込み月は日割り計算となり、本契約は次月からと理解しておいて問題はありません。
2023年1/5~1/15までに申し込んだ場合
1カ月契約の場合、1/5から1/31までの日割り料金となり、有効期限は「2023年1/31」となります。
12カ月契約の場合、1/5から1/31までの期間は日割り料金となり、有効期限は「2023年12/31」となります。
24カ月契約、36カ月契約も12ヶ月契約の場合と同様の計算方法です。
2023/1/16~1/31までに申し込んだ場合
1カ月契約を1/25に申し込んだ場合、2023/1/25~1/31までの日割り料金 と2023年2/1~2/28(1カ月分)の月額料金となり、有効期限は「2023/2/28」になります。
12カ月契約を2023/1/25に申し込んだ場合、2023/1/25~1/31までの日割り料金 と2023年2/1~2024/1/31(12カ月分)の月額料金となり、有効期限は「2024/1/31」になります。
24カ月契約、36カ月契約も12ヶ月契約の場合と同様の計算方法です。
自分がいつから日割り計算になるか(上図の画面)は支払い方法の選択前で簡単に確認ができますので、安心して申し込み画面を進めることができますよ。
月額料金のほかにかかるお金はある?
月額料金以外は何も発生しません。以下はすべて無料です。ゼロ円。
- 初期費用 =0円
- 解約手数料 =0円
- サービス維持調整費 =0円
Xserver VPSでマストドンサーバーを立てる【本編】
ここからはXserver VPSの申し込み方法からマストドンサーバーを立てて独自ドメインの取得、SSL証明書の取得までを詳しくご紹介していきます。
1. Xserver VPSを申し込む
Xserver VPSの公式サイトへ入りましょう。以下のリンクから移動できます。
新規お申込みを選ぶ
初めてXserverのサービスを利用する場合は「すぐにスタート!新規お申込み」をクリックします。
すでにアカウントをお持ちの場合は「ログイン」をクリックしログインするとVPSの申し込み画面へ移動することができます。
会員登録を実施
お客様情報の入力をします。入力完了後画面一番下にある「次へ進む」をクリックします。
登録したメールアドレスへ「メールアドレス確認」が送られてきますので、認証コード(確認コード)をメモします。スマホのメールアドレスの場合はスマホでメールを確認しましょう。
確認コードを入力し「次へ進む」をクリックします。
入力内容を確認し「この内容で登録しサーバー申し込みへ進む」をクリックします。
VPSの申し込み
プラン・契約期間・利用したいサーバー・イメージを選びます。選択完了後「お申込内容を確認する」をクリックします。
申し込み情報を入力します。矢印の順に進めて行くとわかりやすく設定ができます。ちなみに「サーバー名」が必須になっていますが、いじる必要はありません。
- プラン:2GBプラン以上(推奨は4GBプラン)
- 契約期間:1か月、12か月、24か月、36か月
- イメージタイプ:アプリケーション「Mastodon」
- rootパスワード:英数字記号を2文字混ぜた9文字以上
アプリケーションはいくつも用意されているので下記をクリックしてすべてのアプリケーションを表示させます。
申し込み内容を確認し「お支払いへ進む」をクリックします。
支払い方法を選択する
支払方法はクレジットカード払いと後払いが選べます。ご都合が良い方を選びましょう。
カード情報を選んだ場合、カード番号情報を入力し「確認画面へ進む」をクリックします。※図は登録済みの画面となっています。
「支払いをする」をクリックします。
申し込み完了!
下記の画面が確認できましたらXserver VPSの申し込みは完了です。3分~5分ほどで完了できました。
申込が完了するとサーバー設定が開始されます。体感で10分ほどで設定が完了します。
設定完了後の画面
利用期限が表示されればVPSの利用準備は整ったことを示しています。
2. 接続許可ポートを設定
VPSにSSH接続を行うため、接続許可ポートを設定します。
VPS管理のVPSパネルで「接続許可ポート」の項目にある「変更」をクリックします。
「全て許可」の「ONにする」にチェックを入れます。設定後「接続許可ポートを設定する」ボタンをクリックします。
全て許可になりました。
3.独自ドメインを取得する
VPS管理ページのドメインの項目で「ドメイン取得」をクリックします。
www.の空欄にマストドンで利用したいドメインを入力し「ドメインを検索する」をクリックします。ドメインは左部分と右部分に分かれており、左部分(engiworkslab)は自由に決めることができ、右部分は決められたものから選びます。
左部分(engiworkslab)は早い者勝ちですでに使われている場合もあるのでご注意ください。そのときは違うものを入力します。
欲しいドメインを選び、登録年数を選び「お支払い」へ進みます。右側のドメインによっては1年目が1円で使えるものもあるので、強いこだわりがない場合は.comや.netなどから選ぶと良いでしょう。
内容を確認し支払い方法を選び「決済画面へ進む」をクリックします。
クレジットカード情報を確認し「確認画面へ進む」をクリックします。
「支払をする」をクリックします。
支払いが完了しました。「トップへ戻る」をクリックします。
ドメインが登録されました。
4.取得した独自ドメインをVPSのIPアドレスと紐づける
VPSを申し込むとあなた専用にひとつのIPアドレスが割り当てられています。このIPアドレスと独自ドメインを紐づけることでマストドンへのアクセスが可能になります。
VPS管理画面から「DNS設定」をクリックします。
「ドメインの追加」をクリックします。
取得した独自ドメインを入力します。ここでは新たに取得した「engiworkslab.com」を設定しています。
入力内容を確認し「設定を追加する」をクリックします。
設定が完了しました。そのまま右にある「選択する」をクリックします。
「DNSレコード設定の追加」をクリックします。
種別は「A」を選び「内容」にVPSのIPアドレスを入力します。
AはAレコードと呼び、ドメイン名とIPアドレスを紐づけるときに指定するものです。
VPSのIPアドレスってどれ?
VPS管理パネルの上に記載されています。
ホスト名・種別・内容を確認し「設定を追加する」をクリックします。
以下のようになっていればDNSレコードの設定は完了です。
ここからあなたが作った独自ドメインとIPアドレスが国内・世界中にあるDNSサーバーへ伝わります。
初期の段階でおよそ1時間は待つ必要があり完全に伝わるには48時間から72時間はかかると言われています。体感では1時間程度で使えるようにはなりますがこればかりは断言ができません。
Windowsであればコマンドプロンプトのpingコマンドを使えば名前解決(ドメインがIPアドレスに変換されること)が出来ていることが確認できます。
それではDNS設定が各地のDNSサーバーに伝わっている間に次の設定へ進みましょう。
マストドンサーバーを設定するための便利ツールをインストール
取得した独自ドメインはすぐに使えないので気分転換も込めてここからは便利ツールのインストールを行います。
あると便利(というか必須)ツールは以下の2つです。
- Tera Term
- WinSCP
Tera TermはマストドンサーバーをSSH接続を利用して直接設定を行うツールです。ネットワークエンジニア・サーバーエンジニアが利用しているツールで使いやすさはバッチリ。
WinSCPはマストドンサーバーにあるファイルを直接設定するために利用するツールです。こちらもエンジニアが使うツールなので使いやすさはバッチリです。
どちらも無料で使えるツールなので早速インストールしていきましょう。
1.Tera Termをインストール
Xserver VPSのコンソールをクリックすればマストドンサーバーのコンソール画面が表示されるので「不要なんじゃないの?」と思うかもしれません。
しかし、マストドンサーバーを設定していくためにコマンド(呪文のような言葉)をひたすら入力する作業にとても便利なツールになります。
手入力をして行けば良いかも知れませんが、タイプミスや作業効率を考えTera Termのインストールをオススメしています。
Tera TermはLinuxのコマンド入力にとても適しているエンジニアご用達のアプリでもあります。ぜひ挑戦してみてください。僕自身仕事で愛用してます(笑)
ちなみにVPSにインストールするのではなく、お使いのWindowsパソコンにインストールします。
Tera Termの公式サイトからアプリをインストールします。
tera-term-4.106.exeをクリックします。
自動でダウンロードが始まらない場合はファイル名をクリックします。
ダウンロードしたインストーラーをダブルクリックするとインストールが開始されます。基本すべてそのままでOKです。
インストールが完了しました。「今すぐTera Termを実行する」をクリックします。
接続画面が表示されますので、「ホスト」にVPSパネルに表示されているIPアドレスを入力し、サービスに「SSH」を選びます。最後に「OK」をクリックします。
警告が出ますが「続行」をクリックします。
ユーザ名に「root」、パスフレーズに「rootパスワード」を入力し、「OK」をクリックします。
VPS(Ubuntu)にログインすることができました!
以上で作業準備が整いました。
コマンド入力などで使いますので切断せずに次の作業へ移ってください。
2.WinSCPをインストール
WinSCPを以下のURLからダウンロードしてインストールします。
https://winscp.net/eng/download.php
WinSCP公式サイトに移動しますので、画面下にあるダウンロードボタンをクリックします。
ダウンロードしたWinSCPのセットアップファイルをダブルクリックしてWinSCPをインストールします。画面に従っていくだけで簡単にインストールできます。
「許諾」をクリックします。以降は図のように真似をすればOKです。
標準的なインストールを選択
コマンダーを選択
インストールボタンをクリック
完了をクリックしてインストール完了
WinSCPが起動しますので、下記を入力し「ログイン」しましょう。
- 転送プロトコル:SFTP
- ホスト名:VPSのIPアドレス
- ユーザ名:root
- パスワード:VPS作成時に入力したrootパスワード
「不明なサーバーに~~」という警告メッセージが出ますが「はい」をクリックして続行します。以降は出ません。
WinSCP(左のウィンドウがパソコン)とVPS(右のウィンドウがXserver VPS)が接続されました。
現状、Tera TermとWinSCPが起動したままになっていると思いますがそのままの状態にしておいてください。
万一接続が切れてしまった場合は再度接続しなおせば問題ありません。
マストドンサーバーの設定
インストールした2つのツールを使ってマストドンサーバーを設定していきます。
1.WinSCPでディレクトリを移動しmastodonファイルの中身を書き換える
WinSCPで/etc/nginx/sites-available/のディレクトリへ移動するためにフォルダーアイコンをクリックします。
下記をコピペしてポップアップ表示された部分に貼り付け「開く」をクリックします。
/etc/nginx/sites-available/
ディレクトリが移動しました。「mastodon」をダブルクリックします。
ファイルが開きますので、「example.com」と書かれている部分4か所を取得した独自ドメイン(本記事の場合engiworkslab.com)に書き換えます。
書き換え前の状態
書き換え後
書き換えが完了したらファイルを保存します。
グレー表示なれば保存は正しくできています。
WinSCPでの作業は以上です。
2.Tera TermでSSL証明書の設定を行う
ここからは独自ドメインへの通信ができることを確認してから進めてください。
ChromeなどWebブラウザから「http://独自ドメイン名」と入力し「IPアドレスが見つかりません。」と表示されなければOK。拒否されたといったメッセージが出ていればOKです。
以下のコマンドを1行ずつ入力します。ドメイン名の前と後ろにはスペースを入力します。
ポイント
一度メモ帳などにコピペしてドメイン名を入力し直し、再度コマンドをコピーしてTera Termへ張り付けると失敗しません。
certbot certonly --standalone -d ドメイン名
systemctl start nginx
certbot certonly --webroot -d ドメイン名 -w /home/mastodon/live/public/
ここからWinSCPの設定にもどります。
/etc/cron.d/のディレクトリへ移動します。
ファイルを新規作成します。
ファイル名の入力が求められますので、「letsencrypt-renew」と入力しOKをクリックします。
ファイルが開きますので、下記のコマンドをコピペします。
0 0 1 * * root certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"
コピペが終わったらファイルを保存します。
グレーアウト表示で保存完了です。
Tera Termへ戻り下記のコマンドを入力します。
systemctl restart cron
以上でVPSサーバー設定は完了です。
3.マストドンの設定
Tera Termで下記のコマンドを入力します。3つ目のコマンドでマストドンの設定ウィザードが開きます。
su - mastodon
cd ~/live
RAILS_ENV=production bundle exec rake mastodon:setup
設定する値 | 説明 |
---|---|
Domain name: | 独自ドメインを入力(例:engiworkslab.com |
Do you want to enable single user mode? (y/N) | シングルユーザモードとして設定を行うかどうかの項目です。 シングルユーザモードの設定をしない(新規ユーザー作成をしない)場合、何も入力せずEnterキーを押してください。 |
Are you using Docker to run Mastodon? (Y/n) | Xserver VPSのMastodonはDockerを使用していないのでnを入力します。 |
PostgreSQL host: (/var/run/postgresql) | 何も入力せずEnterキー。 |
PostgreSQL port: (5432) | 何も入力せずEnterキー。 |
Name of PostgreSQL database: (mastodon_production) | PostgreSQL内における、Mastodonデータベース名「/etc/motd」の「PostgreSQL mastodon db name」項目の値を入力してください。 デフォルトは「mastodon_production」 |
Name of PostgreSQL user: (mastodon) | PostgreSQL内における、Mastodonデータベースに接続するユーザ名「/etc/motd」の「PostgreSQL mastodon user name」項目の値を入力してください。 デフォルトは「mastodon」 |
Password of PostgreSQL user: | PostgreSQL内における、Mastodonデータベースに接続する際のパスワード「/etc/motd」の「PostgreSQL mastodon user password」の項目の値を入力してください。 設定必須:P@ssword0など大文字小文字英数字記号があることが理想 |
Redis host: (localhost) | 何も入力せずエンターキー。 |
Redis port: (6379) | 何も入力せずエンターキー。 |
Redis password: | 何も入力せずエンターキー。 |
Do you want to store uploaded files on the cloud? (y/N) | Mastodonに投稿された画像や動画などのファイルをクラウドサービスのオブジェクトストレージにアップロードするかどうかを設定する項目です。 設定は任意(当記事ではN)です。Yを選ぶとオブジェクトストレージへアップロードする際に必要な認証情報などが追加で求められます。 |
Do you want to send e-mails from localhost? (y/N) | Mastodonのアカウント作成や各種通知を送るメールをlocalhostから送信するかどうかを設定する項目です。 適切なメールサーバから送信することが望ましいため、何も入力せずEnterキーを押してください。 |
SMTP server: (smtp.mailgun.org) | 利用するSMTPサーバー名を入力してください。 Gmailの場合は「smtp.gmail.com」 |
SMTP port: (587) | 利用するSMTPサーバーのポート番号を入力してください。 Gmailの場合は587 |
SMTP username: | 利用するSMTPサーバーのユーザーネームを入力してください。 Gmailのメールアドレス(例:hayamizblog@gmail.com |
SMTP password: | 利用するSMTPサーバーのパスワードを入力してください。 Gmailの場合Gmailアカウントのパスワードではなく「Googleアカウントでアプリパスワードを入手して入力」 Googleアカウントでアプリパスワードが見つからない場合、検索ウィンドウで「アプリパスワード」と入力すると早いです。 |
SMTP authentication: (plain) | そのままエンターキー |
SMTP OpenSSL verify mode: (Use arrow keys, press Enter to select) | 証明書の検証方法を選びます。特に使わなくてもOK 当記事の場合none、autoを選択 |
E-mail address to send e-mails “from”: (Mastodon ) | Mastodonから届いたメールのFROMに表示したいメールアドレスを入力してください。 デフォルトではMastodonと表示 |
Send a test e-mail with this configuration right now? (Y/n) | ここまで入力したメールの設定でテスト送信するかどうかを決定する項目です。 メールの設定に失敗しているとMastodonのアカウントが作成できなくなりますので、Yを選んで確認することをおすすめ。 |
Send test e-mail to: | テストメールを送信するメールアドレスを入力してください。 テストなのでSMTP username:で設定したメールでも構いませんが別メールが理想。 |
Save configuration? (Y/n) | ここまでの設定内容を保存するかどうかを決定する項目です。 テストメールの配信状況などに問題が無ければ、Yを選んで保存。 |
Prepare the database now? (Y/n) | Mastodon用のデータベースを構築するかどうか決定する項目です。 Mastodonイメージではデータベースが空のため、Yを押してデータベースの構築を行ってください。 |
Compile the assets now? (Y/n) | Mastodonのウェブ表示で使用するアセットのコンパイルを行うかどうか決定する項目です。 実稼動時にかかる負荷などに影響するのでコンパイルする(Yを入力)ことをおすすめします。 |
Do you want to create an admin user straight away? (Y/n) | Mastodonの管理者アカウントを作成するかどうかを決定する項目です。 管理者アカウントが無くても正常に利用できるので作成は任意です。 当記事ではnを入力 作成する場合はYを入力しAdminユーザー名・Adminユーザー用のEメールを入力します。その後、パスワードが自動で発行されます。 |
Adminユーザーを作成した場合のTera Term画像
以上でマストドンの設定は完了です。
参考
テストメールはシンプルなメールが届きます。
4.マストドンのサービスを起動
最終段階です。
まずはexitコマンドでmastodonユーザーを抜けます。
exit
マストドンのサービスを起動します。
systemctl enable mastodon-sidekiq.service
systemctl enable mastodon-streaming.service
systemctl enable mastodon-web.service
systemctl start mastodon-*
ここで赤文字で警告メッセージが(ほぼ?)出る場合があります。そのときは以下のコマンドを入力してください。
systemctl start mastodon-sidekiq
systemctl start mastodon-streaming
systemctl start mastodon-web
以上ですべての設定が完了しました!
5.マストドンへアクセス
独自ドメインをブラウザで入力してマストドンの画面が表示されるか確認をしましょう。
https://engiworkslab.com
アカウント作成画面
アカウント作成してツイート(トゥート)もできますね。
スマホからでもアクセス可能!
アカウント作成も…!
管理者アカウントでログインすると管理者専用の画面も表示されます。
無事にマストドンが起動できました。
VPSサーバーのセキュリティ強化を実施する
Xserver VPSは仕様上接続許可ポートはONにしておき、VPS上で通信制御を行います。
現状では外部から接続し放題なので攻撃対象となりやすいSSH接続とFTP接続を遮断する設定が必要です。以下のコマンドを1行ずつ入力します。
command ufw enable ←ファイアウォールを有効化 ufw default allow ←初期値が全通信が拒否の設定なので全通信を許可へ変更 ufw deny 22 ←SSH通信を拒否 ufw deny 23 ←FTP通信を拒否 ufw reload ←ファイアウォール設定を再読み込み
最後に下記のコマンドを入力して22と23の設定が出来ていることを確認して終了です。
command
ufw status
注意点としては上記の設定を実施することでTera Termなどの外部アプリからのSSH接続やWinSCPなどの外部アプリからFTP接続ができなくなります。
必要に応じてVPS管理画面のコンソールから直接VPSへ入りufwの設定を削除する必要があります。下記は22番と23番をufwから削除する方法です。
command
ufw delete deny 22
ufw delete deny 23
ufw status
ufw reload
Xserver VPSの安全性について
下記の記事にてセキュリティ対策について詳しく説明していますので、気になりましたらご参考にどうぞ。以下はXserve VPSですが、システム的には全く同じです。Xserverが運営するVPSはどれも高セキュリティで安心です。
https://techengi.net/xserver-vps-security/【Xserver VPS】マストドンサーバーの立て方【完全ガイド】:まとめ
Xserver VPSを使ったMastodonサーバー(マストドンサーバー)の立て方を説明しました。
手順が難解なためか、Xserver VPS公式サイトを始め手順が省略された記事が多かったのでマストドンのアプリイメージを使ったマストドンサーバーの立て方を書きました。
立てる上での注意点は2つ
- 独自ドメインを作成した際は使えるまでに1時間ほど待つ必要がある
- Gmailのメールサーバーを使ってマストドンの設定を行う場合Gmailアカウントの2段階認証を設定する必要がある
上記の2つに気を付ければマストドンサーバーを立てる難易度は高くありません。この記事を真似て行けば必ず立てられます。
サーバー構築はとても簡単でしかも面白いのでぜひトライしてみてください。