Help us understand the problem. What is going on with this article?

Mastodon インスタンスをコマンド一発で建てる(Docker不使用、CentOS7.x@さくらVPS)

More than 1 year has passed since last update.

2018/08/24 追記

8/21(火)から、さくらのVPS さん公式マストドン立ち上げスクリプトが提供されるようになりました!
これで、スクリプトのメンテナンスから解放される! ヾ(=^▽^=)ノ
なので、今後はそちらを利用することをおすすめします!


TL;DR(yum install mastodon を求めて)

インスタンスをコマンド一発(ワンライナー)で簡単に建てたい

Mastodonyum install mastodn くらい簡単にワンライナーでインストールする bash スクリプトを Gist に公開しました。(「さくらのVPS」限定ですが、、、)

  • 動作確認: Mastodon v2.0.0 + さくらのVPS + CentOS 7.2.1511(2017/09/24現在)

インストール・コマンド

CentOS7 入れ立てホヤホヤの VPS に SSH でアクセスして、"root" で下記のワンライナーを実行すると、ほぼ全自動でマストドンを、スクリプトのダウンロード・実行・インストールまで行います

cd ~/ && curl https://gist.githubusercontent.com/KEINOS/fb59b95020f0a06fb6448565d84e23cf/raw > install_mastodon.sh && chmod 0755 install_mastodon.sh && ./install_mastodon.sh

インストール・スクリプト @ Gist

上記ワンライナーでダウンロード・実行される本体スクリプトです。コメントを多めに入れたので、何をしているのかの参考になればいいな!

インストール概要

インストールが始まると「ドメイン」と「メールアドレス」を聞かれます。ドメインはマストドンを稼働させたいドメイン名。メールアドレスは SSL 認証の証明書(Let's Encrypt)の更新通知用のメールアドレスになります。

なお、ドメイン名はあらかじめ名前解決される状態である必要があります。つまり、DNS/NS の設定が終了していて、ドメイン名でサーバーの IP アドレスにアクセスできる状態です。なお、SSL 認証の登録や証明書の取得はスクリプト側で行うので https:// でアクセスできる必要はありません。

次に、実行の確認で "y" を選択すると、あとは 20〜30分 程度放置して完了したら再起動後、SSL(https://) 付きでドメインにアクセスしてみてください。

しばらく稼働させて良い感じになったら、ぜひ「日本 Mastodon インスタンス一覧」に登録しよう!

注意

インストール後、root およびパスワードでの SSH 接続ができないように設定して、SSH のポート番号変更をすることをおすすめします。

というのも、サーバを直接狙われた場合は効果は無いと思いますが、インスタンスを立ち上げてしばらくいじっていると 22 番ポートに root でのボットらしきアクセスが発生していたので「やっぱり、あるんだなぁ」と再実感しました。

あわせて読みたい

TS;DR(所感)

現在「さくらのVPS」のサーバーで CentOS7 とお付き合いをしています。「マストドンはイカガ?」と打診したところ、先日友達の子供のために勝手に Minecraft サーバーを建てて、やたら大きなワールドを入れたものの誰も来ないから一人でさまよってるだけの容量食いのせいで狭くなったばかりなのに、マストドンのメディア・ファイルでさらに狭くなったらどうするのよ、と嫌がられました。

ションボリしていたところ、Docker を使わないマストドンならカロリー少なめかもしれないし試してもいいかも、と OK がでたので色々チャレンジしていました。

ところが、「Cld3 が足りない」だの「Annotate がない」だの「rake secret できない」とダダをこねたり「device の鍵がない」だのと怒られたりして、インスタンスを建てるどころか腹が立って立って付き合うのを断念しそうでした。(心の声:「Ubuntu に乗り換えたろか!Ubuntu に!」)

お互いマストドンは初めての体験です。まずは稼働するところまで行けば「何が原因か」考える余裕も出来て先へ進めると思ったので、「さくらのクラウド」であればセットメニューの公式のスタートアップスクリプトがあるとの情報を得て、お試しで頼んでみたところ確かに簡単に導入できました。

しかし、@KEINOS は貧乏人なのでコスト的に維持出来そうにないのもわかりました。

ユーザーが増えてスケールアップのしやすさを考えると「さくらのVPS」より「さくらのクラウド」の方がいいかもしれません。しかし、現在お付き合いしている相手は人見知りで基本的に「お一人様用マストドン」を考えています。つまり、「さくらのクラウド」に移行したとしても月々のコストが高くなるだけということになります。

ただでさえ、お仕事時代に知り合ったロリポップちゃんやバリューちゃんとのお付き合いもあり、ひひり出しながら維持している現在の関係に、さらにコストがかかるとなると破滅してしまうこと必至です。

何とか現在の VPS サーバーに入れようと「さくらのクラウド」のスタートアップスクリプトを読んでみたところ、いけそうだったので同じジャジャ馬に悩んでいる方の参考になれば幸いです。

ちなみに、現在の VPS サーバーでは、Kusanagi の WordPress 環境を利用しているので、サブドメインにもインストールできるスクリプトも出来たらいいなと考えています。(誰か作ってKUSANAGI 環境にも一発でマストドンをインストールするスクリプトを公開しました)

その他の関連情報

初回のマストドン・ユーザー作成で、ユーザー登録後のメール認証を手動で行ったり、管理者に昇格する手順。

手動認証(コマンドで認証を通す)

# 'someone@email.com' のメール認証を管理者が代行する場合。
su - mastodon
cd live
RAILS_ENV=production bundle exec rails mastodon:confirm_email USER_EMAIL=someone@email.com

ユーザーを管理者に昇格する

# ユーザー 'KEINOS' を管理者に昇格する場合
su - mastodon
cd live
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=KEINOS

未認証ユーザーの手動削除

# ユーザー申請のみで認証の済んでいないユーザーの削除を手動で行う場合
su - mastodon
cd live
RAILS_ENV=production rake mastodon:users:clear

Mastodon コマンド詳細

https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Administration-guide.md

動作実績

  • サーバー   : さくらのVPS
  • OS            : CentOS 7.2.1511
  • ゾーン       : 石狩第1ゾーン
  • メモリ       : 2GB
  • ストレージ: SSD 50GB
  • CPU          : 3コア
  • オプション: なし
  • さくらのVPS バージョン: v4
サーバー OS 条件 スタートアップ・スクリプト マストドンのバージョン
さくらのVPS CentOS 7.2.1511 ※1 OSのインストール直後の状態 ※3 CentOS_yum-update v2.0.0

2017/09/24現在 ※5

※1 インストール後は CentOS 7.4.1708にバージョンアップされます。(2017/09/20現在)
※2 マストドン管理用のmastodonユーザーも同時に作成されます。su - mastodonで切り替えて管理ください。
※3 2017/06/20 追記:KUSANAGI環境下では動きません。「OSインストール」のイメージは「標準OSインストール」にある「CentOS7 x86_64」を選択してください。(2017/06/22 追記:KUSANAGI 環境用の記事を書きました)
※4 2017/08/09 追記:マストドンが v1.5.1 に大幅アップデートしました。アップデート方法およびメンテナンス情報をとりまとめ中ですが、取り急ぎ v1.4.7 から v1.5.1 にアップデートできました
※5 2017/09/24 追記:Mastodon 2.0.0 に合わせてインストーラーを修正しました。

参考文献

KEINOS
A Japanese made in Mexico with Mexican quality ;-) Who monkey around the jungle of codes.記事の日本語がおかしかったら遠慮なく編集リクください。また、記事に「LGTM」が付くたび、なるべく見直して、何かしら加筆・修正してブラッシュアップしています。更新頻度が高いためストックされても基本的に通知はお送りしません。
https://blog.keinos.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした