Pleromaの入れ方

日本語訳について

この記事は Installing on Debian based distributions の日本語訳です。何かがおかしいと思ったら、原文を見てください。

インストール

このガイドはDebian Stretchを仮定しています。Ubuntu 16.04でも可能です。

必要なソフトウェア

  • PostgreSQL 9.6+ (postgresql-contrib-9.6 または他のバージョンの PSQL をインストールしてください)
  • Elixir 1.5 以上 (Debianのリポジトリからインストールしないこと!!! ここからインストールすること!)。または asdf を pleroma ユーザーでインストール。
  • erlang-dev
  • erlang-tools
  • erlang-parsetools
  • erlang-ssh
  • erlang-xmerl (Jessieではバックポートからインストールすること!)
  • git
  • build-essential
  • openssh
  • openssl
  • nginx prefered (Apacheも動くかもしれませんが、誰もテストしていません!)
  • certbot (または何らかのACME Let's encryptクライアント)

システムを準備する

  • まずシステムをアップデートしてください。
apt update && apt dist-upgrade
  • 複数のツールとpostgresqlをインストールします。あとで必要になるので。
apt install git build-essential openssl ssh sudo postgresql-9.6 postgresql-contrib-9.6

(postgresqlのバージョンは、あなたのディストロにあわせて変えてください。または、バージョン番号がいらないかもしれません。)

ElixirとErlangをインストールします

  • Erlangのリポジトリをダウンロードおよびインストールします。
wget -P /tmp/ https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i /tmp/erlang-solutions_1.0_all.deb
  • ElixirとErlangをインストールします、
apt update && apt install elixir erlang-dev erlang-parsetools erlang-xmerl erlang-tools erlang-ssh

Pleroma BE (バックエンド) をインストールします

  • 新しいユーザーを作ります。
adduser pleroma

(Give it any password you want, make it STRONG)

  • 新しいユーザーをsudoグループに入れます。
usermod -aG sudo pleroma
  • 新しいユーザーに変身し、ホームディレクトリに移動します。
su pleroma
cd ~
  • Gitリポジトリをクローンします。
sudo mkdir -p /opt/pleroma
sudo chown -R pleroma:pleroma /opt/pleroma
sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma
  • 新しいディレクトリに移動します。
cd pleroma/
  • Pleromaが依存するパッケージをインストールします。Hexをインストールしてもよいか聞かれたら、yesを入力してください。
mix deps.get
  • コンフィギュレーションを生成します。
mix pleroma.instance gen
* rebar3yes
* 
*  `config/generated_config.exs` 

注意: メディアプロクシを有効にすると回答して、なおかつ、キャッシュのURLは空欄のままにしている場合は、generated_config.exs を編集して、base_url で始まる行をコメントアウトまたは削除してください。そして、上にある行の true の後にあるコンマを消してください。

  • コンフィギュレーションを確認して、もし問題なければ、ファイル名を変更してください。
mv config/{generated_config.exs,prod.secret.exs}
  • これまでのコマンドで、すでに config/setup_db.psql というファイルが作られています。このファイルをもとに、データベースを作成します。
sudo su postgres -c 'psql -f config/setup_db.psql'
  • そして、データベースのミグレーションを実行します。
MIX_ENV=prod mix ecto.migrate
  • Pleromaを起動できるようになりました。
MIX_ENV=prod mix phx.server

インストールを終わらせる

あなたの新しいインスタンスを世界に向けて公開するには、nginxまたは何らかのウェブサーバー (プロクシ) を使用する必要があります。また、Pleroma のためにシステムサービスファイルを作成する必要があります。

Nginx

  • まだインストールしていないなら、nginxをインストールします。
apt install nginx
  • SSLをセットアップします。他の方法でもよいですが、ここではcertbotを説明します。 certbotを使うならば、まずそれをインストールします。
apt install certbot

そしてセットアップします。

mkdir -p /var/lib/letsencrypt/.well-known
% certbot certonly --email your@emailaddress --webroot -w /var/lib/letsencrypt/ -d yourdomain

もしうまくいかないときは、先にnginxを設定してください。ssl "on" を "off" に変えてから再試行してください。


  • nginxコンフィギュレーションの例をnginxフォルダーにコピーします。
cp /home/pleroma/pleroma/installation/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx
  • nginxを起動する前に、コンフィギュレーションを編集してください。例えば、サーバー名、証明書のパスなどを変更する必要があります。
  • nginxを再起動します。
systemctl reload nginx.service

Systemd サービス

  • サービスファイルの例をコピーします。
cp /home/pleroma/pleroma/installation/pleroma.service /usr/lib/systemd/system/pleroma.service
  • サービスファイルを変更します。すべてのパスが正しいことを確認してください。また、[Service] セクションに以下の行があることを確認してください。
Environment="MIX_ENV=prod"
  • pleroma.service を enable および start してください。
systemctl enable --now pleroma.service

モデレーターを作る

新たにユーザーを作ったら、モデレーター権限を与えたいかもしれません。以下のタスクで可能です。

mix set_moderator username [true|false]

モデレーターはすべてのポストを消すことができます。将来的には他のことも可能になるかもしれません。

メディアプロクシを有効にする

generate_config でメディアプロクシを有効にしているなら、すでにメディアプロクシが動作しています。あとから設定を変更したいなら、How to activate mediaproxy を見てください。

コンフィギュレーションとカスタマイズ

質問ある?

インストールについて質問がある、もしくは、うまくいかないときは、以下のところで質問できます。