インスタンスをコマンド一発(ワンライナー)で簡単に建てたい
先日のQiita記事に続き、「さくらのVPS」の「標準OSインストール」で選択できる「KUSANAGI(CentOS7 x86_64)」でも、マストドンのサーバー(インスタンス)を一発で建てるスクリプトを Gist に公開しました。
インスタンス立ち上げ後も、KUSANAGI は従来通り使えるので別途 WordPress のプロビジョニング(LAMP 環境)も作成できます。(KUSANAGI は初期化済みとなるので、改めて初期化をしたい場合は注意ください。)
※ 2017/08/09追記:マストドンが v1.5.1 に大幅アップデートしました。アップデート方法およびメンテナンス情報をとりまとめ中ですが、取り急ぎv1.4.7 から v1.5.1 にアップデートできました。
一発インストールのコマンド(KUSANAGI バージョン)
cd ~/ && curl https://gist.githubusercontent.com/KEINOS/044296632e363fad065ff9a17b01d143/raw > install_mastodon.sh && chmod 0755 install_mastodon.sh && ./install_mastodon.sh
「さくらのVPS」の「標準OSインストール」で「KUSANAGI(CentOS7 x86_64)」を選択・インストールした直後に rootで SSH 接続して、上記コマンドを実行すると、Mastodon にアクセスできる状態まで 20 分弱程度でセットアップしてくれます。
大まかな動作
yum update を行った後、kusanagi の初期化・LEMP 環境の構築(プロビジョニングの実行)・Let'sEncrypt の SSL 証明書の取得を実行してから、kusanagiユーザーでruby,railsなどの依存プログラムを導入して、Mastodon のインストールを行います。さらに詳しいインストールの流れは実際の bash スクリプトをご覧いただくのがベストだと思います。
注意点
上でも簡単に述べましたが、従来のインストールと一番違うのは mastodon アカウントを作成せずkusanagiアカウントで Mastodon をインストールしている点です。
これは従来の導入方法だと mastodon アカウントで各種 conf ファイルを上書きしてしまうため、Mastodon は動きはするものの「kusanagi コマンド」でプロビジョニング(新規の WordPress 環境を設置)した際に表示されなかったり、「yum update 後に再起動すると nginx が起動しない」といった細かい不都合が発生しました。
そこで、色々試した結果(疲れたので)Web関連の挙動はkusanagiアカウントで行うように統一したところ一番安定した動作を得られたため、このスクリプトでは管理用にmastodonアカウントは作成しない仕様になっています。(基本的にユーザーをmastodonをkusanagiに置き換えればいいだけです)
そのため、コマンド・ラインで Mastodon のユーザーの認証を行いたい場合なども kusanagi ユーザーでの操作になります。また、操作も kusanagi のホームディレクトリ内にある live ディレクトリに移動してから実行してください。
また、kusanagi アカウントは sudoers グループに入れていないので kusanagi アカウントで sudo は使えません。都度都度 su で root など sudoers 権限を持ったアカウントに切り替えてください。
なお、マストドンのセキュリティの観点からも、まずは下記の設定をすぐに変更することをおすすめします。
-
rootユーザーとkusanagiユーザーのssh接続禁止 -
sshのパスワード認証によるログイン認証禁止 -
sshの接続ポート番号の変更
手動認証(コマンドで認証を通す)例
su - kusanagi
cd live
RAILS_ENV=production bundle exec rails mastodon:confirm_email USER_EMAIL=your@mail.com
ユーザー"KEINOS"を管理者に昇格する例
su - kusanagi
cd live
RAILS_ENV=production bundle exec rails mastodon:make_admin USERNAME=KEINOS
関連Qiita記事
「さくらのVPS」で KUSANAGI の入っていない VPS インスタンス(CentOS7 x86_64のイメージ)にマストドンのインスタンスをインストールしたい場合は、下記の前回の記事をご覧ください。
|
Mastodonインスタンスをコマンド一発で建てる(Docker 不使用、CentOS7.x@さくらVPS)
分散型ミニブログ「マストドン」のサーバー(インスタンス)を `yum install mastodn` くらいに「もっと手軽に建てられればいいのになぁ」と思い、ほぼ全自動でマストドンをインストールしてくれる bash スクリプトを Gist に公開しました。 |