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