total rebase
[anni] / docs / installation / debian_based_jp.md
1 # Pleromaの入れ方
2
3 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.
4
5 ## 日本語訳について
6
7 この記事は [Installing on Debian based distributions](Installing on Debian based distributions) の日本語訳です。何かがおかしいと思ったら、原文を見てください。
8
9 ## インストール
10
11 このガイドはDebian Bookwormを利用することを想定しています。Ubuntu 22.04でもおそらく動作します。また、ユーザはrootもしくはsudoにより管理者権限を持っていることを前提とします。もし、以下の操作をrootユーザで行う場合は、 `sudo` を無視してください。ただし、`sudo -Hu pleroma` のようにユーザを指定している場合には `su <username> -s $SHELL -c 'command'` を代わりに使ってください。
12
13 ### 必要なソフトウェア
14
15 - PostgreSQL 11.0以上 (Ubuntu16.04では9.5しか提供されていないので,[](https://www.postgresql.org/download/linux/ubuntu/)こちらから新しいバージョンを入手してください)
16 - `postgresql-contrib` 11.0以上 (同上)
17 - Elixir 1.8 以上 ([Debianのリポジトリからインストールしないこと!!! ここからインストールすること!](https://elixir-lang.org/install.html#unix-and-unix-like)。または [asdf](https://github.com/asdf-vm/asdf) をpleromaユーザーでインストールしてください)
18 - `erlang-dev`
19 - `erlang-nox`
20 - `git`
21 - `build-essential`
22 - `cmake`
23 - `libmagic-dev`
24
25 #### このガイドで利用している追加パッケージ
26
27 - `nginx` (おすすめです。他のリバースプロキシを使う場合は、参考となる設定をこのリポジトリから探してください)
28 - `certbot` (または何らかのLet's Encrypt向けACMEクライアント)
29 - `ImageMagick`
30 - `ffmpeg`
31 - `exiftool`
32
33 ### システムを準備する
34
35 * まずシステムをアップデートしてください。
36 ```
37 sudo apt update
38 sudo apt full-upgrade
39 ```
40
41 * 上記に挙げたパッケージをインストールしておきます。
42 ```
43 sudo apt install git build-essential postgresql postgresql-contrib cmake ffmpeg imagemagick libmagic-dev
44 ```
45
46 ### ElixirとErlangをインストールします
47
48 * Erlangのリポジトリをダウンロードおよびインストールします。
49 ```
50 wget -P /tmp/ https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb
51 sudo dpkg -i /tmp/erlang-solutions_2.0_all.deb
52 ```
53
54 * ElixirとErlangをインストールします、
55 ```
56 sudo apt update
57 sudo apt install elixir erlang-dev erlang-nox
58 ```
59
60 ### オプションパッケージ: [`docs/installation/optional/media_graphics_packages.md`](../installation/optional/media_graphics_packages.md)
61
62 ```shell
63 sudo apt install imagemagick ffmpeg libimage-exiftool-perl
64 ```
65
66 ### Pleroma BE (バックエンド) をインストールします
67
68 *  Pleroma用に新しいユーザーを作ります。
69
70 ```
71 sudo useradd -r -s /bin/false -m -d /var/lib/pleroma -U pleroma
72 ```
73
74 **注意**: Pleromaユーザとして単発のコマンドを実行したい場合はは、`sudo -Hu pleroma command` を使ってください。シェルを使いたい場合は `sudo -Hu pleroma $SHELL`です。もし `sudo` を使わない場合は、rootユーザで `su -l pleroma -s $SHELL -c 'command'` とすることでコマンドを、`su -l pleroma -s $SHELL` とすることでシェルを開始できます。
75
76 *  Gitリポジトリをクローンします。
77 ```
78 sudo mkdir -p /opt/pleroma
79 sudo chown -R pleroma:pleroma /opt/pleroma
80 sudo -Hu pleroma git clone -b stable https://git.pleroma.social/pleroma/pleroma /opt/pleroma
81 ```
82
83 *  新しいディレクトリに移動します。
84 ```
85 cd /opt/pleroma
86 ```
87
88 * Pleromaが依存するパッケージをインストールします。Hexをインストールしてもよいか聞かれたら、yesを入力してください。
89 ```
90 sudo -Hu pleroma mix deps.get
91 ```
92
93 * コンフィギュレーションを生成します。
94 ```
95 sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance gen
96 ```
97     * rebar3をインストールしてもよいか聞かれたら、yesを入力してください。
98     * このときにpleromaの一部がコンパイルされるため、この処理には時間がかかります。
99     * あなたのインスタンスについて、いくつかの質問されます。この質問により `config/generated_config.exs` という設定ファイルが生成されます。
100
101
102 * コンフィギュレーションを確認して、もし問題なければ、ファイル名を変更してください。
103 ```
104 sudo -Hu pleroma mv config/{generated_config.exs,prod.secret.exs}
105 ```
106
107 * 先程のコマンドで、すでに `config/setup_db.psql` というファイルが作られています。このファイルをもとに、データベースを作成します。
108 ```
109 sudo -Hu pleroma MIX_ENV=prod mix pleroma.instance gen
110 ```
111
112 * そして、データベースのマイグレーションを実行します。
113 ```
114 sudo -Hu pleroma MIX_ENV=prod mix ecto.migrate
115 ```
116
117 * これでPleromaを起動できるようになりました。
118 ```
119 sudo -Hu pleroma MIX_ENV=prod mix phx.server
120 ```
121
122 ### インストールの最終段階
123
124 あなたの新しいインスタンスを世界に向けて公開するには、nginx等のWebサーバやプロキシサーバをPleromaの前段に使用する必要があります。また、Pleroma のためにシステムサービスファイルを作成する必要があります。
125
126 #### Nginx
127
128 * まだインストールしていないなら、nginxをインストールします。
129 ```
130 sudo apt install nginx
131 ```
132
133 * SSLをセットアップします。他の方法でもよいですが、ここではcertbotを説明します。
134 certbotを使うならば、まずそれをインストールします。
135 ```
136 sudo apt install certbot
137 ```
138 そしてセットアップします。
139 ```
140 sudo mkdir -p /var/lib/letsencrypt/
141 sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --standalone
142 ```
143 もしうまくいかないときは、nginxが正しく動いていない可能性があります。先にnginxを設定してください。ssl "on" を "off" に変えてから再試行してください。
144
145 ---
146
147 * nginxの設定ファイルサンプルをnginxフォルダーにコピーします。
148 ```
149 sudo cp /opt/pleroma/installation/pleroma.nginx /etc/nginx/sites-available/pleroma.nginx
150 sudo ln -s /etc/nginx/sites-available/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx
151 ```
152
153 * nginxを起動する前に、設定ファイルを編集してください。例えば、サーバー名、証明書のパスなどを変更する必要があります。
154 * nginxを再起動します。
155 ```
156 sudo systemctl enable --now nginx.service
157 ```
158
159 もし証明書を更新する必要が出てきた場合には、nginxの関連するlocationブロックのコメントアウトを外し、以下のコマンドを動かします。
160
161 ```
162 sudo certbot certonly --email <your@emailaddress> -d <yourdomain> --webroot -w /var/lib/letsencrypt/
163 ```
164
165 #### 他のWebサーバやプロキシ
166 これに関してはサンプルが `/opt/pleroma/installation/` にあるので、探してみてください。
167
168 #### Systemd サービス
169
170 * サービスファイルのサンプルをコピーします。
171 ```
172 sudo cp /opt/pleroma/installation/pleroma.service /etc/systemd/system/pleroma.service
173 ```
174
175 * サービスファイルを変更します。すべてのパスが正しいことを確認してください
176 * サービスを有効化し `pleroma.service` を開始してください
177 ```
178 sudo systemctl enable --now pleroma.service
179 ```
180
181 #### 初期ユーザの作成
182
183 新たにインスタンスを作成したら、以下のコマンドにより管理者権限を持った初期ユーザを作成できます。
184
185 ```
186 sudo -Hu pleroma MIX_ENV=prod mix pleroma.user new <username> <your@emailaddress> --admin
187 ```
188
189 #### その他の設定とカスタマイズ
190
191 {! backend/installation/further_reading.include !}
192
193 ## 質問ある?
194
195 インストールについて質問がある、もしくは、うまくいかないときは、以下のところで質問できます。
196
197 * [#pleroma:libera.chat](https://matrix.to/#/#pleroma:libera.chat)
198 * **libera.chat** の **#pleroma** IRCチャンネル