1. ホーム
  2. マニュアル
  3. VPS
  4. アプリイメージの利用
  5. Mastodonアプリイメージを利用する

Mastodonアプリイメージを利用する

本アプリイメージを利用する前に

SMTPが利用できるメールサーバーと独自ドメインを事前にご準備ください。
※メールサーバーはGmailやYahooなどご利用いただけます。

Mastodonアプリイメージインストール手順

利用可能プランについて

本イメージは1GBプラン以上のご契約で利用可能です。

シンVPSをご利用中の方

利用中のサーバーにMastodonをインストールしたい場合、「OSの再インストール」をご参照の上、インストールを行ってください。

1.「追加申し込み」をクリック

シンアカウントへログインし、「追加申し込み」をクリックしてください。

追加申し込み

2.Mastodonをインストール

「イメージタイプ」における「アプリケーション」タブより「Mastodon」をクリックしてください。

Mastodonをインストール<

お申し込み・お支払いを完了することでサーバーへ自動でインストールされます。

アプリケーションが選択できない場合

Mastodonイメージは512MBプランではご利用いただけませんので、1GBプラン以上をお申込みください。

セットアップ準備

パケットフィルターの設定

VPSパネルの「パケットフィルター設定」から、「OFFにする」にチェックを入れ、「変更する」ボタンをクリックします。

パケットフィルターの設定は下記マニュアルからご確認ください。
パケットフィルターの設定について

Mastodonセットアップ手順

1.サーバーに接続する

VPS管理画面のコンソールからも接続可能ですが、コピー&ペーストが可能なSSHクライアントソフトの使用をおすすめします。本マニュアルではTera Termを使用します。

Tera Termを起動し、VPSのIPアドレスを入力してください。

IPアドレスを入力

2.ユーザー名、パスフレーズを入力

「ユーザー名(N)」に「root」、「パスフレーズ(P)」にアプリイメージのインストール時に設定したパスフレーズを入力してください。

認証情報を入力

3.nginxの設定

テキストエディターで以下の「/etc/nginx/sites-available/mastodon」ファイルを編集します。
本手順ではnanoエディターを利用します。

nano /etc/nginx/sites-available/mastodon

「example.com」の箇所を「Mastodon」のサーバーに設定するドメイン名に置き換えてください。
※「example.com」は全部で4箇所あります。

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

upstream backend {
    server 127.0.0.1:3000 fail_timeout=0;
}

upstream streaming {
    server 127.0.0.1:4000 fail_timeout=0;
}

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=CACHE:10m inactive=7d max_size=1g;

server {
  listen 80;
  listen [::]:80;
 ### server_nameにドメインを記述 ###
  server_name example.com;
  root /home/mastodon/live/public;
  location /.well-known/acme-challenge/ { allow all; }
  location / { return 301 https://$host$request_uri; }
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
 ### server_nameにドメインを記述 ###
  server_name example.com;

  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_session_tickets off;

  # Uncomment these lines once you acquire a certificate:
 ### Let's Encryptで作成する証明書の設置場所を指定 ###
  ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

  keepalive_timeout    70;
  sendfile             on;
  client_max_body_size 80m;


・・・以下略・・・

以上でnanoエディターでの編集は完了です。

ファイルの保存は「ctrl」と「x」を同時に入力してください。
「変更されたバッファを保存しますか?」と表示されるので、「y」を入力してください。
「書き込むファイル」にてファイルの指定に問題がなければ「enter」を入力し保存完了です。

4.Lets' Encrypt の設定

  1. Let's EncryptでTLSの証明書を取得・設定します。

    下記を1行ずつ実行してください。
    (ドメイン名)の箇所はMastodonで使用するドメイン名に置き換えてください。

    certbot certonly --standalone -d (ドメイン名)
    systemctl start nginx
    certbot certonly --webroot -d (ドメイン名) -w /home/mastodon/live/public/

    「証明書の期限切れ時や緊急時の連絡に使用するメールアドレスの入力」「利用許諾への同意」などが聞かれます。
    なお、入力するメールアドレスはSMTPで設定しておく必要があります。

    また、「Selec the appropriate number [1-2]:」と聞かれた場合は、2を入力してください。

  2. TLS証明書の自動更新の設定をします。

    「/etc/cron.d/letsencrypt-renew」を作成し、以下を書き込んで保存してください。

    0 0 1 * * root certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start"
  3. 以下のコマンドでcronによる定期実行を有効にします。

    systemctl restart cron

5.Mastodonの設定

  1. Mastodonの設定を行います。

    下記を1行ずつ実行し、設定ウィザードを起動してください。

    su - mastodon
    cd ~/live
    RAILS_ENV=production bundle exec rake mastodon:setup
    設定する値 説明
    Domain name: nginxの設定やlet’s encryptの設定で入力したドメイン名を入力してください。
    Do you want to enable single user mode? (y/N) シングルユーザモードとして設定を行うかどうかの項目です。
    シングルユーザモードの設定をしない場合、何も入力せずEnterキーを押してください。
    Are you using Docker to run Mastodon? (Y/n) DockerのコンテナとしてMastodonを起動しているかどうかを確認されている項目です。
    シン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」項目の値を入力してください。
    Name of PostgreSQL user: (mastodon) PostgreSQL内における、Mastodonデータベースに接続するユーザ名「/etc/motd」の「PostgreSQL mastodon user name」項目の値を入力してください。
    Password of PostgreSQL user: PostgreSQL内における、Mastodonデータベースに接続する際のパスワード「/etc/motd」の「PostgreSQL mastodon user password」の項目の値を入力してください。
    Redis host: (localhost) 何も入力せずEnterキーを押してください。
    Redis port: (6379) 何も入力せずEnterキーを押してください。
    Redis password: 何も入力せずEnterキーを押してください。
    Do you want to store uploaded files on the cloud? (y/N) Mastodonに投稿された画像や動画などのファイルをクラウドサービスのオブジェクトストレージにアップロードするかどうかを設定する項目です。
    設定は任意です。Yを選ぶとオブジェクトストレージへアップロードする際に必要な認証情報などが追加で求められます。
    Do you want to send e-mails from localhost? (y/N) Mastodonのアカウント作成や各種通知を送るメールをlocalhostから送信するかどうかを設定する項目です。
    適切なメールサーバから送信することが望ましいため、何も入力せずEnterキーを押してください。
    SMTP server: (smtp.mailgun.org) 利用するSMTPサーバ名を入力してください。
    SMTP port: (587) 利用するSMTPサーバ名を入力してください。
    SMTP username: 利用するSMTPサーバ名を入力してください。
    SMTP password: 利用するSMTPサーバ名を入力してください。
    SMTP authentication: (plain) 利用するSMTPサーバ名を入力してください。
    SMTP OpenSSL verify mode: (Use arrow keys, press Enter to select) 利用するSMTPサーバ名を入力してください。
    E-mail address to send e-mails “from”: (Mastodon ) Mastodonから届いたメールのFROMに表示したいメールアドレスを入力してください。
    Send a test e-mail with this configuration right now? (Y/n) ここまで入力したメールの設定でテスト送信するかどうかを決定する項目です。
    メールの設定に失敗しているとMastodonのアカウントが作成できなくなりますので、Yを選んで確認することをおすすめします。
    Send test e-mail to: テストメールを送信するメールアドレスを入力してください。
    Save configuration? (Y/n) ここまでの設定内容を保存するかどうかを決定する項目です。
    テストメールの配信状況などに問題が無ければ、Yを選んで保存してください。
    Prepare the database now? (Y/n) Mastodon用のデータベースを構築するかどうか決定する項目です。
    Mastodonイメージではデータベースが空のため、Yを押してデータベースの構築を行ってください。
    Compile the assets now? (Y/n) Mastodonのウェブ表示で使用するアセットのコンパイルを行うかどうか決定する項目です。
    実稼動時にかかる負荷などに影響するのでコンパイルすることをおすすめします。
    Do you want to create an admin user straight away? (Y/n) Mastodonの管理者アカウントを作成するかどうかを決定する項目です。
    管理者アカウントが無くても正常に利用できるので作成は任意です。
  2. 下記を1行ずつ実行し、Mastodonデーモンを起動してください。

    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
  3. Mastodonに接続できれば設定は完了です。

    Mastodonをインストール