【爆速】ConoHa VPSにMastodonをインストールする手順

Mastodonを利用したい人

ConoHa VPS」にMastodonをインストールする方法を知りたいな!

この記事は上記のような疑問を解消するものとなっています。

この記事でお話すること
  • Mastodonとは!?
  • ConoHa VPSとは?
  • ConoHa VPSを利用するメリット
  • ConoHa VPSにMastodonをインストールする手順

Mastodon(マストドン)は、Twitterのような投稿ができる分散型ソーシャルネットワークを実現するオープンソースソフトウエアです。

ConoHa VPS」を利用すると誰でも簡単にMastodonをインストールすることができます。

ご利用期間に合わせたきっぷを購入することで、通常料金よりもおトクにConoHa VPSをご利用いただけます。

そこでこの記事では「ConoHa VPS」にMastodonをインストールする手順を解説していきます。

気になる方は是非最後まで読んで頂けたらと思います。

\【2023/1/31まで】VPS割引きっぷが最大26%OFF!月額536円~使える全プランお得!!/
初期費用は無料!

Mastodonとは!?

「Mastodon」は、前述のとおり「サーバー分散型」を特色としたフランス発の新SNSです。

SNSとは言えど、TwitterやFacebookのように「1つの企業が全体を管理している」というわけではありません。

各々が自由に「サーバー(=インスタンス)」を建てたり選んだりできるので、管理権限や運営ルールなどはユーザーベースで行われることになります。

「Mastodon」はTwitterのような「時系列順タイムライン」を主な機能としており、使用感においてはほとんど大きな変化がありません。

手触りで感じられる主な違いは「公開範囲設定」が可能であったり「1投稿に500文字まで利用可能」というところ。

そして投稿することを“ツイート”ではなく“トゥート”と呼ぶ点でしょう。

ConoHa VPSとは?

\【2023/1/31まで】VPS割引きっぷが最大26%OFF!月額536円~使える全プランお得!!/
初期費用は無料!

特徴
  • すぐに使えるVPS
  • 初期費用は無料
  • 直感的に使えるコントロールパネル
  • 種類豊富なテンプレート
  • SSD標準、超高速VPS

ConoHa VPSはGMOが提供しているサービスとなっています。

初期費用なし、ひと月542円から使用でき、豊富なテンプレートイメージと高速SSDによって、たったの25秒で「今すぐ使える」サーバーが作れます。

サーバーを追加するときに、サービスに合わせたテンプレートを選択することで、サーバー作成と同時にOSのインストールやアプリケーションサーバーの構築が完了します!

ConoHa VPSを使いこなすにはWebアプリケーションを公開するまでの設定が必要になります。

そのため、サーバー構築を自分でできる、試しでWebアプリケーションを公開してみたいという人にとっていいでしょう。

ConoHa VPSを3ヶ月以上ご利用の場合におトクな長期利用割引きっぷを用意されています。

きっぷの有効期間が長ければ長いほど割引率がアップし、よりおトクにConoHa VPSを利用できます。

\【2023/1/31まで】VPS割引きっぷが最大26%OFF!月額536円~使える全プランお得!!/
初期費用は無料!

ConoHa VPSを利用するメリット

ConoHa VPS」は初期費用なし、ひと月536円から使用できます。

豊富なテンプレートイメージと高速SSDによって、たったの25秒で「今すぐ使える」サーバーが作れます。

また、【2023/1/31まで】VPS割引きっぷが最大26%OFF!月額536円~使える全プランお得!があるのでお得にゲームを楽しむことができます。

Conoha VPSを利用するメリット
  • 種類豊富なテンプレート
  • 初期費用無料、最低利用期間無し
  • 月額968円から使えておトク
  • すぐに使えるVPS
  • 迅速なスケール
  • スマホアプリでよりかんたんに
  • 3世代までバックアップ
  • おトクな長期利用割引きっぷが利用できる

種類豊富なテンプレート

無償提供OS・アプリケーションテンプレートを利用すれば、たったの25秒でVPSの構築が完了します。

WordPressテンプレートを使えばオリジナルのブログをすぐに作成でき、LAMP環境もサーバーの作成と同時に手に入れることができます。

初期費用無料、最低利用期間無し

ConoHa VPS」で提供する全てのプランで、初期費用無料・最低利用期間無し。

いつでも気軽に始められ、月の途中でも簡単に解約できます。

月額968円から使えておトク

968円/月からVPSを使えます。

また、1ヶ月に満たない利用の場合は、自動的に1.7円/時~の時間単位の課金に切り替わるので、無駄なコストをかけずに利用できます。

VPS割引きっぷなら通常料金よりも最大23%おトクです。

購入したきっぷは、既に通常料金でご利用中の「ConoHa VPS」にも適用できます。

VPS割引きっぷとは!?

VPS割引きっぷは3か月以上、長期でご利用の場合にお得となるサービスとなります。

VPS割引きっぷを購入しVPSを紐付けることで紐付けたVPSのご利用料金をお得にできます。

すぐに使えるVPS

ConoHa VPS」はわずか3ステップでかんたんに始められます。

なんと25秒でVPS構築が完了します。

ゲームのマルチサーバーを簡単に構築できるテンプレートイメージを無料でご用意しています。

VPS追加時にご希望のゲームテンプレートイメージを選択するだけで、すぐに遠隔地の人とマルチプレイをお楽しみいただけます。

さらにお申し込み時にクレジットカード払いまたはAmazon Payを選択した場合、申し込み後すぐにConoHa VPSを利用できます。

迅速なスケール

スケーリングはデータ移行の必要がなく、コントロールパネルからかんたんに行うことができます。

急なトラフィックが発生した際も、イメージ保存機能を使ってサーバーの複製を迅速に完了します。

スマホアプリでよりかんたんに

いつでもどこでも手軽にサーバーの監視・管理ができる、国内業界初のスマホアプリ「ConoHa Mobile」を無料提供します。

コントロールパネルをアプリ用にカスタマイズしたほか、サーバーの状態やチャージ残高をお知らせするプッシュ通知機能を搭載しています。

3世代までバックアップ

バックアップは週に一回取得され、最大3世代まで管理できます。

保存されたバックアップは、コピーを作成したり、不要なものは削除することができます。

さらに、バックアップからサーバーの再構築を行ったり、バックアップをイメージとして保存し、それをベースに新しいサーバーの作成をするといった柔軟な活用も可能です。

おトクな長期利用割引きっぷが利用できる

ConoHa VPS」を3ヶ月以上ご利用の場合におトクな長期利用割引きっぷが用意されています。

きっぷの有効期間が長ければ長いほど割引率がアップし、よりおトクにConoHa VPSを利用できます。

\【2023/1/31まで】VPS割引きっぷが最大26%OFF!月額536円~使える全プランお得!!/
初期費用は無料!

ConoHa VPSにMastodonをインストールする手順

ConoHa VPS」にMastodonをインストールする手順をみていきましょう。

\【2023/1/31まで】VPS割引きっぷが最大26%OFF!月額536円~使える全プランお得!!/
初期費用は無料!

Mastodonアプリケーションイメージインストール方法

STEP.1

「サーバー追加」ボタンをクリックします。

STEP.2

イメージタイプから「アプリケーション」を選択し、Mastodonを選択してVPSを作成します。

セットアップ方法

Mastodonテンプレートイメージでは、Mastodonの動作に必要なソフトウェアを一通りインストール・DBの設定を済ませた状態で提供しています。
そのため、Mastodonイメージから作成したVPSで実際にMasotodonを動かすには、初期設定を済ませる必要があります。

基本的には公式のインストール方法にしたがって操作します。

前述のとおり、必要なソフトウェア類のインストールとPostgreSQLの設定を済ませているため、「nginx Configuration」の章から進めていきます。

STEP.1
nginxの設定

以下の内容を /etc/nginx/sites-available/Mastodonで使うドメイン名.conf として保存してください。

「Mastodonで使うドメイン名」の部分にはMastodonのサーバに設定するドメイン名を記入します。

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

server {
listen 80;
listen [::]:80;
server_name Mastodonで使うドメイン名;
root /home/mastodon/live/public;
# Useful for Let’s Encrypt
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 Mastodonで使うドメイン名;

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

ssl_certificate /etc/letsencrypt/live/Mastodonで使うドメイン名/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/Mastodonで使うドメイン名/privkey.pem;

keepalive_timeout 70;
sendfile on;
client_max_body_size 80m;

root /home/mastodon/live/public;

gzip on;
gzip_disable “msie6”;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

add_header Strict-Transport-Security “max-age=31536000”;

location / {
try_files $uri @proxy;
}

location ~ ^/(emoji|packs|system/accounts/avatars|system/media_attachments/files) {
add_header Cache-Control “public, max-age=31536000, immutable”;
try_files $uri @proxy;
}

location /sw.js {
add_header Cache-Control “public, max-age=0”;
try_files $uri @proxy;
}

location @proxy {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Proxy “”;
proxy_pass_header Server;

proxy_pass http://127.0.0.1:3000;
proxy_buffering off;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;

tcp_nodelay on;
}

location /api/v1/streaming {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Proxy “”;

proxy_pass http://127.0.0.1:4000;
proxy_buffering off;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;

tcp_nodelay on;
}

error_page 500 501 502 503 504 /500.html;
}

上記ファイルの作成が完了したら、nginxがこの設定を実際に使うようにシンボリックリンクを貼ります。

cd /etc/nginx/sites-enabled
ln -s ../sites-available/Mastodonで使うドメイン名.conf

以上でnginxの初期設定は完了です。

STEP.2
Let’s Encryptの設定

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

以下の手順でコマンドを実行してください。

systemctl stop nginx
certbot certonly –standalone -d Mastodonで使うドメイン名
systemctl start nginx
certbot certonly –webroot -d Mastodonで使うドメイン名 -w /home/mastodon/live/public/

「証明書の期限切れ時や緊急時の連絡に使用されるメールアドレスの入力(必須)」「利用許諾への同意(必須)」「入力したメールアドレスの電子フロンティア財団への共有の可否(オプション)」が聞かれますので適宜返答してください。

「Select the appropriate number [1-2] then [enter] (press ‘c’ to cancel):」 と聞かれた際は2を入力してください。

続いてTLS証明書の自動更新の設定をします。

/etc/cron.daily/letsencrypt-renew に以下を書き込んで保存してください。

#!/usr/bin/env bash
certbot renew
systemctl reload nginx

その後、以下のコマンドでcronによる定期実行を有効にします。

chmod +x /etc/cron.daily/letsencrypt-renew
systemctl restart cron

以上でLet’s Encryptの設定は完了です。

STEP.3
Mastodonの設定

Mastodonの設定を行います。

以下のコマンドを実行して、設定ウィザードを起動してください。

sudo su – mastodon
bash
cd ~/live
RAILS_ENV=production ~/.rbenv/versions/3.0.4/bin/bundle exec rake mastodon:setup

設定ウィザードではいくつかの入力が求められます。お客様の環境に併せて入力してウィザードを進めてください。

以下に典型的な設定時の入力項目を説明します。

設定する値 説明
Domain name: Mastodonで使用するドメイン名 nginxの設定やlet’s encryptの設定で入力したドメインと同じものを入力してください。
Do you want to enable single user mode? (y/N) シングルユーザモードとして設定を行うか? 何も入力せずエンターキーを押すとNとして進みます。
Are you using Docker to run Mastodon? (Y/n) DockerのコンテナとしてMastodonを起動しているか? ConoHaのMastodonイメージではDockerは使用していないのでnを入力します。
PostgreSQL host: (/var/run/postgresql) PostgreSQLのデータベースサーバのホスト名 そのままエンターキーを押せばOKです。
PostgreSQL port: (5432) PostgreSQLサーバへの接続に使用するポート番号 そのままエンターキーを押せばOKです。
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) Redisサーバのホスト名 そのままエンターキーを押せばOKです。
Redis port: (6379) Redisサーバのポート番号 そのままエンターキーを押せばOKです。
Redis password: Redisサーバに接続する際のパスワード そのままエンターキーを押せばOKです。
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から送信するか? 適切なメールサーバから送信することが望ましいため、そのままエンターキーを押せばOKです。
SMTP server: (smtp.mailgun.org) SMTPサーバー名 ご利用になるSMTPサーバにあわせて入力してください(※)。
SMTP port: (587) SMTPサーバに接続する際のポート番号 ご利用になるSMTPサーバあわせて入力してください(※)。
SMTP username: SMTPサーバへの接続に使用するユーザ名 ご利用になるSMTPサーバあわせて入力してください(※)。
SMTP password: SMTPサーバへの接続に使用するパスワード ご利用になるSMTPサーバあわせて入力してください(※)。
SMTP authentication: (plain) SMTPの認証方法 ご利用になるSMTPサーバあわせて入力してください(※)。
SMTP OpenSSL verify mode: (Use arrow keys, press Enter to select) SMTPサーバのSSL/TLS証明書の検証設定 ご利用になるSMTPサーバあわせて入力してください(※)。 
E-mail address to send e-mails “from”: (Mastodon <notifications@****.***>)</notifications@****.***> 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のウェブ表示で使用するアセットのコンパイルを行うか? 実稼動時の負荷等に影響しますので、Yを押してコンパイルを行います(VPSのスペックにもよりますが、数分程度時間がかかります)。
Do you want to create an admin user straight away? (Y/n) Mastodonの管理者アカウントを作成するか? 管理者アカウントが無くても正常に動かすことができますので、必要に応じて選んでください。

※ConoHaのメールサーバを使用する場合、メールサーバの詳細情報のページから以下の画像を参考に設定してください。

設定する値 説明
SMTP server: (smtp.mailgun.org) ③のアドレスを入力してください。
SMTP port: (587) デフォルトの587で問題ないのでそのままエンターキーを押してください。
SMTP username: ①のアカウント名を入力してください。
SMTP password: ②で設定したパスワードを入力してください。
SMTP authentication: (plain) デフォルトのplainで問題ないのでそのままエンターキーを押してください。
SMTP OpenSSL verify mode: (Use arrow keys, press Enter to select) noneを選択してください。
STEP.4
Mastodonのデーモン化

最後に、Mastodonをデーモンとして使用するための設定を行います。

rootのシェルに戻って以下の3つのファイルをそれぞれの内容で作成してください。

/etc/systemd/system/mastodon-web.service

[Unit] Description=mastodon-web
After=network.target

[Service] Type=simple
User=mastodon
WorkingDirectory=/home/mastodon/live
Environment=”RAILS_ENV=production”
Environment=”PORT=3000″
ExecStart=/home/mastodon/.rbenv/versions/3.0.4/bin/bundle exec puma -C config/puma.rb
ExecReload=/bin/kill -SIGUSR1 $MAINPID
TimeoutSec=15
Restart=always

[Install] WantedBy=multi-user.target

/etc/systemd/system/mastodon-sidekiq.service

[Unit] Description=mastodon-sidekiq
After=network.target

[Service] Type=simple
User=mastodon
WorkingDirectory=/home/mastodon/live
Environment=”RAILS_ENV=production”
Environment=”DB_POOL=5″
ExecStart=/home/mastodon/.rbenv/versions/3.0.4/bin/bundle exec sidekiq -c 5 -q default -q push -q mailers -q pull
TimeoutSec=15
Restart=always

[Install] WantedBy=multi-user.target

/etc/systemd/system/mastodon-streaming.service

[Unit] Description=mastodon-streaming
After=network.target

[Service] Type=simple
User=mastodon
WorkingDirectory=/home/mastodon/live
Environment=”NODE_ENV=production”
Environment=”PORT=4000″
ExecStart=/usr/bin/npm run start
TimeoutSec=15
Restart=always

[Install] WantedBy=multi-user.target

最後に以下のコマンドで、Mastodonデーモンを有効化・起動します。

systemctl enable –now /etc/systemd/system/mastodon-*.service
systemctl enable –now nginx

以上で設定完了です。

Mastodonはすでに起動していますので、Webブラウザで設定したドメインに接続してみましょう。

\【2023/1/31まで】VPS割引きっぷが最大26%OFF!月額536円~使える全プランお得!!/
初期費用は無料!

まとめ

最後まで読んで頂きまして、ありがとうございました。

ConoHa VPS」を利用すると誰でも簡単にMastodonをインストールすることができます。

少しでも気になるという方は是非「ConoHa VPS」を利用してみてはいかがでしょうか?

\【2023/1/31まで】VPS割引きっぷが最大26%OFF!月額536円~使える全プランお得!!/
初期費用は無料!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です