make bulk user creation from admin works as a transaction
[akkoma] / docs / installation / debian_based_jp.md
1 # Pleromaの入れ方
2 ## 日本語訳について
3
4 この記事は [Installing on Debian based distributions](Installing on Debian based distributions) の日本語訳です。何かがおかしいと思ったら、原文を見てください。
5
6 ## インストール
7
8 このガイドはDebian Stretchを仮定しています。Ubuntu 16.04でも可能です。
9
10 ### 必要なソフトウェア
11
12 - PostgreSQL 9.6+ (postgresql-contrib-9.6 または他のバージョンの PSQL をインストールしてください)
13 - Elixir 1.5 以上 ([Debianのリポジトリからインストールしないこと!!! ここからインストールすること!](https://elixir-lang.org/install.html#unix-and-unix-like))。または [asdf](https://github.com/asdf-vm/asdf) を pleroma ユーザーでインストール。
14 - erlang-dev
15 - erlang-tools
16 - erlang-parsetools
17 - erlang-xmerl (Jessieではバックポートからインストールすること!)
18 - git
19 - build-essential
20 - openssh
21 - openssl
22 - nginx prefered (Apacheも動くかもしれませんが、誰もテストしていません!)
23 - certbot (または何らかのACME Let's encryptクライアント)
24
25 ### システムを準備する
26
27 * まずシステムをアップデートしてください。
28 ```
29 apt update && apt dist-upgrade
30 ```
31
32 * 複数のツールとpostgresqlをインストールします。あとで必要になるので。
33 ```
34 apt install git build-essential openssl ssh sudo postgresql-9.6 postgresql-contrib-9.6
35 ```
36 (postgresqlのバージョンは、あなたのディストロにあわせて変えてください。または、バージョン番号がいらないかもしれません。)
37
38 ### ElixirとErlangをインストールします
39
40 * Erlangのリポジトリをダウンロードおよびインストールします。
41 ```
42 wget -P /tmp/ https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i /tmp/erlang-solutions_1.0_all.deb
43 ```
44
45 * ElixirとErlangをインストールします、
46 ```
47 apt update && apt install elixir erlang-dev erlang-parsetools erlang-xmerl erlang-tools
48 ```
49
50 ### Pleroma BE (バックエンド) をインストールします
51
52 * 新しいユーザーを作ります。
53 ```
54 adduser pleroma
55 ```
56 (Give it any password you want, make it STRONG)
57
58 * 新しいユーザーをsudoグループに入れます。
59 ```
60 usermod -aG sudo pleroma
61 ```
62
63 * 新しいユーザーに変身し、ホームディレクトリに移動します。
64 ```
65 su pleroma
66 cd ~
67 ```
68
69 * Gitリポジトリをクローンします。
70 ```
71 git clone https://git.pleroma.social/pleroma/pleroma
72 ```
73
74 * 新しいディレクトリに移動します。
75 ```
76 cd pleroma/
77 ```
78
79 * Pleromaが依存するパッケージをインストールします。Hexをインストールしてもよいか聞かれたら、yesを入力してください。
80 ```
81 mix deps.get
82 ```
83
84 * コンフィギュレーションを生成します。
85 ```
86 mix pleroma.instance gen
87 ```
88 * rebar3をインストールしてもよいか聞かれたら、yesを入力してください。
89 * この処理には時間がかかります。私もよく分かりませんが、何らかのコンパイルが行われているようです。
90 * あなたのインスタンスについて、いくつかの質問があります。その回答は `config/generated_config.exs` というコンフィギュレーションファイルに保存されます。
91
92 **注意**: メディアプロクシを有効にすると回答して、なおかつ、キャッシュのURLは空欄のままにしている場合は、`generated_config.exs` を編集して、`base_url` で始まる行をコメントアウトまたは削除してください。そして、上にある行の `true` の後にあるコンマを消してください。
93
94 * コンフィギュレーションを確認して、もし問題なければ、ファイル名を変更してください。
95 ```
96 mv config/{generated_config.exs,prod.secret.exs}
97 ```
98
99 * これまでのコマンドで、すでに `config/setup_db.psql` というファイルが作られています。このファイルをもとに、データベースを作成します。
100 ```
101 sudo su postgres -c 'psql -f config/setup_db.psql'
102 ```
103
104 * そして、データベースのミグレーションを実行します。
105 ```
106 MIX_ENV=prod mix ecto.migrate
107 ```
108
109 * Pleromaを起動できるようになりました。
110 ```
111 MIX_ENV=prod mix phx.server
112 ```
113
114 ### インストールを終わらせる
115
116 あなたの新しいインスタンスを世界に向けて公開するには、nginxまたは何らかのウェブサーバー (プロクシ) を使用する必要があります。また、Pleroma のためにシステムサービスファイルを作成する必要があります。
117
118 #### Nginx
119
120 * まだインストールしていないなら、nginxをインストールします。
121 ```
122 apt install nginx
123 ```
124
125 * SSLをセットアップします。他の方法でもよいですが、ここではcertbotを説明します。
126 certbotを使うならば、まずそれをインストールします。
127 ```
128 apt install certbot
129 ```
130 そしてセットアップします。
131 ```
132 mkdir -p /var/lib/letsencrypt/.well-known
133 % certbot certonly --email your@emailaddress --webroot -w /var/lib/letsencrypt/ -d yourdomain
134 ```
135 もしうまくいかないときは、先にnginxを設定してください。ssl "on" を "off" に変えてから再試行してください。
136
137 ---
138
139 * nginxコンフィギュレーションの例をnginxフォルダーにコピーします。
140 ```
141 cp /home/pleroma/pleroma/installation/pleroma.nginx /etc/nginx/sites-enabled/pleroma.nginx
142 ```
143
144 * nginxを起動する前に、コンフィギュレーションを編集してください。例えば、サーバー名、証明書のパスなどを変更する必要があります。
145 * nginxを再起動します。
146 ```
147 systemctl reload nginx.service
148 ```
149
150 #### Systemd サービス
151
152 * サービスファイルの例をコピーします。
153 ```
154 cp /home/pleroma/pleroma/installation/pleroma.service /usr/lib/systemd/system/pleroma.service
155 ```
156
157 * サービスファイルを変更します。すべてのパスが正しいことを確認してください。また、`[Service]` セクションに以下の行があることを確認してください。
158 ```
159 Environment="MIX_ENV=prod"
160 ```
161
162 * `pleroma.service` を enable および start してください。
163 ```
164 systemctl enable --now pleroma.service
165 ```
166
167 #### モデレーターを作る
168
169 新たにユーザーを作ったら、モデレーター権限を与えたいかもしれません。以下のタスクで可能です。
170 ```
171 mix set_moderator username [true|false]
172 ```
173
174 モデレーターはすべてのポストを消すことができます。将来的には他のことも可能になるかもしれません。
175
176 #### メディアプロクシを有効にする
177
178 `generate_config` でメディアプロクシを有効にしているなら、すでにメディアプロクシが動作しています。あとから設定を変更したいなら、[How to activate mediaproxy](How-to-activate-mediaproxy) を見てください。
179
180 #### コンフィギュレーションとカスタマイズ
181
182 * [Configuration tips](General tips for customizing pleroma fe)
183 * [Small Pleroma-FE customizations](Small customizations)
184 * [Admin tasks](Admin tasks)
185
186 ## 質問ある?
187
188 インストールについて質問がある、もしくは、うまくいかないときは、以下のところで質問できます。
189
190 * [#pleroma:matrix.org](https://matrix.heldscal.la/#/room/#freenode_#pleroma:matrix.org)
191 * **Freenode** の **#pleroma** IRCチャンネル