7.7 KiB
Pleromaの入れ方
日本語訳について
この記事は [Installing on Debian based distributions](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リポジトリをクローンします。
git clone -b master https://git.pleroma.social/pleroma/pleroma
- 新しいディレクトリに移動します。
cd pleroma/
- Pleromaが依存するパッケージをインストールします。Hexをインストールしてもよいか聞かれたら、yesを入力してください。
mix deps.get
- コンフィギュレーションを生成します。
mix pleroma.instance gen
* rebar3をインストールしてもよいか聞かれたら、yesを入力してください。
* この処理には時間がかかります。私もよく分かりませんが、何らかのコンパイルが行われているようです。
* あなたのインスタンスについて、いくつかの質問があります。その回答は `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 を見てください。
コンフィギュレーションとカスタマイズ
- Backup your instance
- Configuration tips
- Hardening your instance
- How to activate mediaproxy
- Small Pleroma-FE customizations
- Updating your instance
質問ある?
インストールについて質問がある、もしくは、うまくいかないときは、以下のところで質問できます。
- #pleroma:matrix.org
- Freenode の #pleroma IRCチャンネル