2019-03-28 09:46:30 -07:00
# Pleromaの入れ方
2023-06-14 14:48:10 -07:00
Note: This article is potentially outdated because at this time we may not have people who can speak this language well enough to update it. To see the up-to-date version, which may have significant differences or important caveats of the installation process, look up the English version.
2019-03-28 09:46:30 -07:00
## 日本語訳について
この記事は [Installing on Debian based distributions ](Installing on Debian based distributions ) の日本語訳です。何かがおかしいと思ったら、原文を見てください。
## インストール
2023-05-30 23:28:28 -07:00
このガイドはDebian Bookwormを利用することを想定しています。Ubuntu 22.04でもおそらく動作します。また、ユーザはrootもしくはsudoにより管理者権限を持っていることを前提とします。もし、以下の操作をrootユーザで行う場合は、 `sudo` を無視してください。ただし、`sudo -Hu pleroma` のようにユーザを指定している場合には `su <username> -s $SHELL -c 'command'` を代わりに使ってください。
2019-03-28 09:46:30 -07:00
### 必要なソフトウェア
2019-08-31 00:23:15 -07:00
- PostgreSQL 9.6以上 (Ubuntu16.04では9.5しか提供されていないので,[](https://www.postgresql.org/download/linux/ubuntu/)こちらから新しいバージョンを入手してください)
2020-03-02 19:58:12 -08:00
- `postgresql-contrib` 9.6以上 (同上)
- Elixir 1.8 以上 ([Debianのリポジトリからインストールしないこと! ! ! ここからインストールすること!](https://elixir-lang.org/install.html#unix-and-unix-like)。または [asdf ](https://github.com/asdf-vm/asdf ) をpleromaユーザーでインストールしてください)
- `erlang-dev`
- `erlang-nox`
- `git`
- `build-essential`
2020-08-10 06:12:45 -07:00
- `cmake`
2020-06-16 06:11:45 -07:00
- `libmagic-dev`
2019-08-31 00:23:15 -07:00
#### このガイドで利用している追加パッケージ
2020-03-02 19:58:12 -08:00
- `nginx` (おすすめです。他のリバースプロキシを使う場合は、参考となる設定をこのリポジトリから探してください)
- `certbot` (または何らかのLet's Encrypt向けACMEクライアント)
2020-09-26 09:32:16 -07:00
- `ImageMagick`
- `ffmpeg`
- `exiftool`
2019-03-28 09:46:30 -07:00
### システムを準備する
* まずシステムをアップデートしてください。
```
2019-08-31 00:23:15 -07:00
sudo apt update
sudo apt full-upgrade
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
* 上記に挙げたパッケージをインストールしておきます。
2019-03-28 09:46:30 -07:00
```
2020-10-09 09:26:10 -07:00
sudo apt install git build-essential postgresql postgresql-contrib cmake ffmpeg imagemagick libmagic-dev
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
2019-03-28 09:46:30 -07:00
### ElixirとErlangをインストールします
* Erlangのリポジトリをダウンロードおよびインストールします。
```
2020-05-28 08:32:56 -07:00
wget -P /tmp/ https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb
sudo dpkg -i /tmp/erlang-solutions_2.0_all.deb
2019-03-28 09:46:30 -07:00
```
* ElixirとErlangをインストールします、
```
2019-08-31 00:23:15 -07:00
sudo apt update
2020-03-02 19:58:12 -08:00
sudo apt install elixir erlang-dev erlang-nox
2019-03-28 09:46:30 -07:00
```
2021-01-10 00:25:36 -08:00
### オプションパッケージ: [`docs/installation/optional/media_graphics_packages.md`](../installation/optional/media_graphics_packages.md)
2020-09-26 09:32:16 -07:00
```shell
sudo apt install imagemagick ffmpeg libimage-exiftool-perl
```
2019-03-28 09:46:30 -07:00
### Pleroma BE (バックエンド) をインストールします
2019-08-31 00:23:15 -07:00
* Pleroma用に新しいユーザーを作ります。
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
**注意**: Pleromaユーザとして単発のコマンドを実行したい場合はは、`sudo -Hu pleroma command` を使ってください。シェルを使いたい場合は `sudo -Hu pleroma $SHELL` です。もし `sudo` を使わない場合は、rootユーザで `su -l pleroma -s $SHELL -c 'command'` とすることでコマンドを、`su -l pleroma -s $SHELL` とすることでシェルを開始できます。
2019-03-28 09:46:30 -07:00
* Gitリポジトリをクローンします。
```
2019-08-31 00:23:15 -07:00
sudo mkdir -p /opt/pleroma
sudo chown -R pleroma:pleroma /opt/pleroma
2019-10-14 08:38:51 -07:00
sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma
2019-03-28 09:46:30 -07:00
```
* 新しいディレクトリに移動します。
```
2019-08-31 00:23:15 -07:00
cd /opt/pleroma
2019-03-28 09:46:30 -07:00
```
* Pleromaが依存するパッケージをインストールします。Hexをインストールしてもよいか聞かれたら、yesを入力してください。
```
2019-08-31 00:23:15 -07:00
sudo -Hu pleroma mix deps.get
2019-03-28 09:46:30 -07:00
```
* コンフィギュレーションを生成します。
```
2021-05-16 10:20:20 -07:00
sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance gen
2019-03-28 09:46:30 -07:00
```
* rebar3をインストールしてもよいか聞かれたら、yesを入力してください。
2019-08-31 00:23:15 -07:00
* このときにpleromaの一部がコンパイルされるため、この処理には時間がかかります。
* あなたのインスタンスについて、いくつかの質問されます。この質問により `config/generated_config.exs` という設定ファイルが生成されます。
2019-03-28 09:46:30 -07:00
* コンフィギュレーションを確認して、もし問題なければ、ファイル名を変更してください。
```
2021-01-23 08:56:11 -08:00
sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs}
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
* 先程のコマンドで、すでに `config/setup_db.psql` というファイルが作られています。このファイルをもとに、データベースを作成します。
2019-03-28 09:46:30 -07:00
```
2021-05-16 10:20:20 -07:00
sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance gen
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
* そして、データベースのマイグレーションを実行します。
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
* これでPleromaを起動できるようになりました。
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
sudo -Hu pleroma MIX_ENV=prod mix phx.server
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
### インストールの最終段階
2019-03-28 09:46:30 -07:00
2019-08-31 00:23:15 -07:00
あなたの新しいインスタンスを世界に向けて公開するには、nginx等のWebサーバやプロキシサーバをPleromaの前段に使用する必要があります。また、Pleroma のためにシステムサービスファイルを作成する必要があります。
2019-03-28 09:46:30 -07:00
#### Nginx
* まだインストールしていないなら、nginxをインストールします。
```
2019-08-31 00:23:15 -07:00
sudo apt install nginx
2019-03-28 09:46:30 -07:00
```
* SSLをセットアップします。他の方法でもよいですが、ここではcertbotを説明します。
certbotを使うならば、まずそれをインストールします。
```
2019-08-31 00:23:15 -07:00
sudo apt install certbot
2019-03-28 09:46:30 -07:00
```
そしてセットアップします。
```
2019-08-31 00:23:15 -07:00
sudo mkdir -p /var/lib/letsencrypt/
sudo certbot certonly --email < your @ emailaddress > -d < yourdomain > --standalone
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
もしうまくいかないときは、nginxが正しく動いていない可能性があります。先にnginxを設定してください。ssl "on" を "off" に変えてから再試行してください。
2019-03-28 09:46:30 -07:00
---
2019-08-31 00:23:15 -07:00
* nginxの設定ファイルサンプルをnginxフォルダーにコピーします。
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx
sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
* nginxを起動する前に、設定ファイルを編集してください。例えば、サーバー名、証明書のパスなどを変更する必要があります。
2019-03-28 09:46:30 -07:00
* nginxを再起動します。
```
2019-08-31 00:23:15 -07:00
sudo systemctl enable --now nginx.service
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
もし証明書を更新する必要が出てきた場合には、nginxの関連するlocationブロックのコメントアウトを外し、以下のコマンドを動かします。
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
sudo certbot certonly --email < your @ emailaddress > -d < yourdomain > --webroot -w /var/lib/letsencrypt/
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
#### 他のWebサーバやプロキシ
これに関してはサンプルが `/opt/pleroma/installation/` にあるので、探してみてください。
#### Systemd サービス
2019-03-28 09:46:30 -07:00
2019-08-31 00:23:15 -07:00
* サービスファイルのサンプルをコピーします。
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
* サービスファイルを変更します。すべてのパスが正しいことを確認してください
* サービスを有効化し `pleroma.service` を開始してください
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
sudo systemctl enable --now pleroma.service
2019-03-28 09:46:30 -07:00
```
2019-08-31 00:23:15 -07:00
#### 初期ユーザの作成
2019-03-28 09:46:30 -07:00
2019-08-31 00:23:15 -07:00
新たにインスタンスを作成したら、以下のコマンドにより管理者権限を持った初期ユーザを作成できます。
2019-03-28 09:46:30 -07:00
2019-08-31 00:23:15 -07:00
```
sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new < username > < your @ emailaddress > --admin
```
2019-03-28 09:46:30 -07:00
2019-08-31 00:23:15 -07:00
#### その他の設定とカスタマイズ
2019-03-28 09:46:30 -07:00
2020-06-22 02:41:22 -07:00
{! backend/installation/further_reading.include !}
2019-03-28 09:46:30 -07:00
## 質問ある?
インストールについて質問がある、もしくは、うまくいかないときは、以下のところで質問できます。
2021-05-25 21:14:45 -07:00
* [#pleroma:libera.chat ](https://matrix.to/#/#pleroma:libera.chat )
* **libera.chat** の ** #pleroma ** IRCチャンネル