Mastodon(マストドン)インスタンスをConoHaで立ち上げる方法

ここ数日すごく話題になっているMastodon。

ボクも興味が湧いちゃってインスタンス立ててみました。

https://leaf.style

そのインスタンスを立てる時にやったことをまとめてみようと思います。

Mastodonってなによ?な方はこちらへどうぞ!

「Mastodon(マストドン)」の基本的な使い方や用語解説など

◆Mastodonの解説◆ (@sameanko)

ConoHa上にサーバーインスタンスを立ち上げる

まずConoHaのアカウントを持ってない方はここからアカウント登録するとプレゼントクーポンがもらえるので是非どうぞ(^ ^)

ConoHaコントロールパネルからサーバー追加します。

今回ボクはCentOS7.3で立てました。

インスタンスのサイズは、とりあえず立ててみたいだけならメモリ512MBの最小サイズで十分かな?

ここで設定したrootパスワードは絶対忘れないようにね!

ネームタグはお好みで。

サーバー上にMastodonを構築する

基本的な流れはこちらのサイトを参考にさせてもらったんだけど、まだまだひよっこのボクには足りない情報が多すぎた(^^;;

http://jtwp470.hatenablog.jp/entry/2017/04/15/174036

なので、大幅な補足含めて書き留めておこうと思う。

準備

まずはConoHaに立てたインスタンスへログイン。

Macならコンソールからsshでいいと思う。

ログインしたら一般ユーザー mastodon を作って、パスワードを設定しておく。

sudoコマンドをパスワードなしで実行できるようにしておくと便利なのでそうする。

あと、やっぱり日本語の方がわかりやすいのでロケール変更しとく。

必要なものをインストールする (追記あり)

公式ページを見ると必要なものがいろいろあるのでそれぞれインストールする。

追記(2017/04/18 23:15):
@ttanimichiさんにご指摘いただきました。
Docker使う場合はNginx以外不要みたいです。
追記ここまで

Ruby (Docker使用時は不要)

ここを参考にしてインストール

http://qiita.com/r-tamura/items/b9b085fc0f9f1073c64c

インストールできる最新版を入れておけばいいと思う。

ボクは2.4.1を入れた。

-devと付いてるやつは開発版なので使わない。

PATHの設定した後は、一度ログアウトするか .bashrc を読み込み直すこと。

インストール完了まではそれなりに時間がかかるみたい。

Node.js (Docker使用時は不要)

yumコマンドでインストールすればいいみたい。

PostgreSQL (Docker使用時は不要)

こちらのサイトを参考にインストール

http://vdeep.net/centos7-postgres

インストールしたらスタート&インスタンス起動時に立ち上がるように設定

Redis (Docker使用時は不要)

こちらもyumコマンドでインストール

スタート&自動起動設定

Redisの動作確認

Nginx

こちらのサイトを参考にインストール。お世話になります(^ ^)

http://vdeep.net/centos7-nginx

必要なリポジトリ追加して

yumコマンドでインストール&確認

Docker & Docker-Composeのインストール

Dockerのインストール

ここを参照してインストール。

https://docs.docker.com/engine/installation/linux/centos/

英語だけど頑張って読んだ(笑)

DockerはEEではなくCEを入れましょう。

yum-config-manager でリポジトリを追加。

yumのパッケージインデックスをアップデートしてからインストール

スタート&自動起動設定

rootユーザーでなくてもdockerコマンドを使えるようにする

いったんログアウトしてログインし直す。

(ログインし直すことでdockerコマンドが使えるようになる)

Dockerの動作確認

Docker-Composeのインストール

ここを参照。英語です(笑)

https://docs.docker.com/compose/install/

Docker-Composeのインストールはrootユーザーでやらないとエラー出ます。

ドメインを準備する

Mastodonインスタンスを外部公開したいなら、ドメインを用意する必要があります。

外部公開をしないならドメイン取得は不要なので読み飛ばしてください。

ドメインを取得する

お名前.comなどで取得してください。

ボクの場合はもちろん leaf.style です(^ ^)

Aレコードの設定

取得したドメインのAレコードにConoHaに立てたサーバーインスタンスのIPアドレスを設定しておきます。

Mastodonのインストール

ここまで来てやっとMastodonのインストールです。

基本的には公式のREADME通りに進めるだけなんだけど、英語です。

https://github.com/tootsuite/mastodon

gitからパッケージをダウンロードして、そのディレクトリへ移動する。

docker-compose.yml の編集

dbセクションとredisセクションのvolumesのコメントアウトを外す。

これをやらないとインスタンス再起動時などにデータが全て消えます。

環境設定ファイル .env.production を作成・編集する。

SMTP_* の設定も必要って書いてあるけど、外部公開しないとかでメール送信が不要であれば設定しなくても問題無いです。

ちなみに DEFAULT_LOCALE のコメントを外してjaに設定しておけば、標準で日本語になるみたいです。

ビルドして設定反映させます。

このコマンドを実行したら、長〜いランダム文字列が表示されるので、コピペして .env.production のxxxのところ3箇所に貼り付けます。

データベースのマイグレーションとフロントエンドのプリコンパイルを実施。

Mastodonインスタンスを起動する

おめでとうございます。

これでMastodonが立ち上がりました!

が、しかし・・・

このままではアクセスができません(^^;;

あと少し、設定が必要です。

NginxとFireWallを設定する

SSLの設定

Let’s EncryptでSSL証明書を生成します。

Certbotを使います。

https://certbot.eff.org/all-instructions/#centos-rhel-7-nginx

メールアドレスを求められるので入力してください。

Nginxの設定

デフォルトの設定ファイルを読み込まれないようにリネームします。

公式ドキュメントから設定をコピペして新しい設定ファイルを作成します。

firewalldの設定

firewalldにhttpとhttpsの通信を許可します。

お疲れ様でした。

これでようやくMastodonインスタンスにアクセスできるようになりました。

取得したドメインにアクセスしてみてください(^ ^)

【作成中】ユーザー登録と管理者設定について

作成中

【作成中】送信メールサーバの設定

作成中

おわりに

オープンソースで誰でもインスタンスが立てられるとはいえ、やはり様々な設定などが必要で、今はまだそうそう簡単に出来るものでもないですね。

正直、疲れました・・・(^^;;

スポンサーリンク
レクタングル広告(大)
レクタングル広告(大)

フォローする

スポンサーリンク
レクタングル広告(大)