2017年4月28日 12:03

Mastodon導入顛末記(下準備編)

自前で準備しなければいけないものとしては、次のものがある。

  • Webサーバ
  • Ruby 2.4 (Ruby on Rails)
  • PostgreSQL 9.1以降
  • Redis 2.8.0以降
  • Node.js (yarn)
  • SMTPサーバ(外部のサービスを利用するのでもいいが)
  • S3互換メディアサーバ
  • SSL証明書

これらを一つ一つ準備していかなければならない。Webサーバは既にNginxを構築済みだから、あとは、適切な場所に適切なものを導入していくだけである。

VineLinux側に用意する必要があるのは、PostgreSQL、RedisおよびS3互換メディアサーバ......要するにディスクを食うやつらだ。

Mastodon本体はRaspbian側に置くので、Ruby、Node.js、SMTPサーバ、SSL証明はそちら側に必要になる。

VineLinuxは、最近6.5にアップグレードされたのだが、PostgreSQLは9.0.23で不適格。RedisもVineSeed上にあるパッケージは2.6.8で不適格。なので、PostgreSQLはVineSeedの9.5.1のパッケージを持ってきてビルドし、Redisは、2.6.8のSPECSを3.2.8構築用に書き換えて構築して導入した。簡単に言っているがここだけでも結構手間がかかった。

S3互換メディアサーバはMinioを導入することにした。基本的にこれはダウンロードして、Supervisordで起動するようにするだけなので、簡単。

Raspbian側では、SMTPサーバはリレーするだけの設定をExim4にして、Rubyはrbenvでやるべしとそこここにあるが、Debianのrbenv+ruby-buildのパッケージは残念パッケージだったので、これも、最新版を拾ってきて、2.4.1をインストールする。Node.jsはパッケージを導入してから、n をインストールして、nを使って、最新安定板に更新し、npm を更新、最後にyarnを導入するという面倒な手順を踏む必要があったが、まあ、これも順番の問題だけだ。npmの更新は /usr/local/binに行われるので、パッケージの /usr/bin/npmが残ったままになるため、PATHに注意だ。

ここまで来て、ようやくMastodonの導入の下準備が整ったわけだ。