192 lines
7.5 KiB
Markdown
192 lines
7.5 KiB
Markdown
|
# 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のリポジトリからインストールしないこと!!! ここからインストールすること!](https://elixir-lang.org/install.html#unix-and-unix-like))。または [asdf](https://github.com/asdf-vm/asdf) を pleroma ユーザーでインストール。
|
|||
|
- erlang-dev
|
|||
|
- erlang-tools
|
|||
|
- erlang-parsetools
|
|||
|
- 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
|
|||
|
```
|
|||
|
|
|||
|
### Pleroma BE (バックエンド) をインストールします
|
|||
|
|
|||
|
* 新しいユーザーを作ります。
|
|||
|
```
|
|||
|
adduser pleroma
|
|||
|
```
|
|||
|
(Give it any password you want, make it STRONG)
|
|||
|
|
|||
|
* 新しいユーザーをsudoグループに入れます。
|
|||
|
```
|
|||
|
usermod -aG sudo pleroma
|
|||
|
```
|
|||
|
|
|||
|
* 新しいユーザーに変身し、ホームディレクトリに移動します。
|
|||
|
```
|
|||
|
su pleroma
|
|||
|
cd ~
|
|||
|
```
|
|||
|
|
|||
|
* Gitリポジトリをクローンします。
|
|||
|
```
|
|||
|
git clone 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](How-to-activate-mediaproxy) を見てください。
|
|||
|
|
|||
|
#### コンフィギュレーションとカスタマイズ
|
|||
|
|
|||
|
* [Configuration tips](General tips for customizing pleroma fe)
|
|||
|
* [Small Pleroma-FE customizations](Small customizations)
|
|||
|
* [Admin tasks](Admin tasks)
|
|||
|
|
|||
|
## 質問ある?
|
|||
|
|
|||
|
インストールについて質問がある、もしくは、うまくいかないときは、以下のところで質問できます。
|
|||
|
|
|||
|
* [#pleroma:matrix.org](https://matrix.heldscal.la/#/room/#freenode_#pleroma:matrix.org)
|
|||
|
* **Freenode** の **#pleroma** IRCチャンネル
|