インスタンスをコマンド一発(ワンライナー)で簡単に建てたい
先日の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 に公開しました。 |