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