135 lines
5.3 KiB
Markdown
135 lines
5.3 KiB
Markdown
Misskey構築の手引き
|
||
================================================================
|
||
|
||
Misskeyサーバーの構築にご関心をお寄せいただきありがとうございます!
|
||
このガイドではMisskeyのインストール・セットアップ方法について解説します。
|
||
|
||
[英語版もあります - English version also available](./setup.en.md)
|
||
|
||
----------------------------------------------------------------
|
||
|
||
*1.* Misskeyユーザーの作成
|
||
----------------------------------------------------------------
|
||
Misskeyのrootで実行しない方がよいため、代わりにユーザーを作成します。
|
||
Debianの例:
|
||
|
||
```
|
||
adduser --disabled-password --disabled-login misskey
|
||
```
|
||
|
||
*2.* 依存関係をインストールする
|
||
----------------------------------------------------------------
|
||
これらのソフトウェアをインストール・設定してください:
|
||
|
||
#### 依存関係 :package:
|
||
* *Node.js* と *npm*
|
||
* **[MongoDB](https://www.mongodb.com/)**
|
||
* **[Redis](https://redis.io/)**
|
||
* **[ImageMagick](http://www.imagemagick.org/script/index.php)**
|
||
|
||
##### オプション
|
||
* [Elasticsearch](https://www.elastic.co/) - 検索機能を向上させるために用います。
|
||
|
||
*3.* Mongodbの設定
|
||
----------------------------------------------------------------
|
||
ルートで:
|
||
1. `mongo` mongoシェルを起動
|
||
2. `use misskey` misskeyデータベースを使用
|
||
3. `db.users.save( {dummy:"dummy"} )` ダミーデータを書き込みDBを初期化
|
||
4. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` misskeyユーザーを作成
|
||
5. `exit` mongoシェルを終了
|
||
|
||
*4.* Misskeyのインストール
|
||
----------------------------------------------------------------
|
||
1. `su - misskey` misskeyユーザーを使用
|
||
2. `git clone -b master git://github.com/syuilo/misskey.git` masterブランチからMisskeyレポジトリをクローン
|
||
3. `cd misskey` misskeyディレクトリに移動
|
||
4. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)` [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
|
||
5. `npm install` Misskeyの依存パッケージをインストール
|
||
|
||
*5.* reCAPTCHAトークン
|
||
----------------------------------------------------------------
|
||
MisskeyはreCAPTCHAトークンを必要とします。
|
||
https://www.google.com/recaptcha/intro/ にアクセスしてトークンを生成してください。
|
||
|
||
*(オプション)* VAPIDキーペアの生成
|
||
----------------------------------------------------------------
|
||
ServiceWorkerを有効にする場合、VAPIDキーペアを生成する必要があります:
|
||
|
||
``` shell
|
||
npm install web-push -g
|
||
web-push generate-vapid-keys
|
||
```
|
||
|
||
*6.* Make configuration file
|
||
----------------------------------------------------------------
|
||
1. `cp .config/example.yml .config/default.yml` `.config/example.yml`をコピーし名前を`default.yml`にする。
|
||
2. `default.yml` を編集する。
|
||
|
||
*7.* Misskeyのビルド
|
||
----------------------------------------------------------------
|
||
|
||
次のコマンドでMisskeyをビルドしてください:
|
||
|
||
`npm run build`
|
||
|
||
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
|
||
|
||
何らかのモジュールでエラーが発生する場合はnode-gypを使ってください:
|
||
1. `npm install -g node-gyp`
|
||
2. `node-gyp configure`
|
||
3. `node-gyp build`
|
||
4. `npm run build`
|
||
|
||
|
||
*6.* 以上です!
|
||
----------------------------------------------------------------
|
||
お疲れ様でした。これでMisskeyを動かす準備は整いました。
|
||
|
||
### 通常起動
|
||
`npm start`するだけです。GLHF!
|
||
|
||
### systemdを用いた起動
|
||
1. systemdサービスのファイルを作成: `/etc/systemd/system/misskey.service`
|
||
2. エディタで開き、以下のコードを貼り付けて保存:
|
||
|
||
```
|
||
[Unit]
|
||
Description=Misskey daemon
|
||
|
||
[Service]
|
||
Type=simple
|
||
User=misskey
|
||
ExecStart=/usr/bin/npm start
|
||
WorkingDirectory=/home/misskey/misskey
|
||
TimeoutSec=60
|
||
StandardOutput=syslog
|
||
StandardError=syslog
|
||
SyslogIdentifier=misskey
|
||
Restart=always
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
```
|
||
|
||
3. `systemctl daemon-reload ; systemctl enable misskey` systemdを再読み込みしmisskeyサービスを有効化
|
||
4. `systemctl start misskey` misskeyサービスの起動
|
||
|
||
`systemctl status misskey`と入力すると、サービスの状態を調べることができます。
|
||
|
||
### Misskeyを最新バージョンにアップデートする方法:
|
||
1. `git fetch`
|
||
2. `git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1)`
|
||
3. `npm install`
|
||
4. `npm run build`
|
||
|
||
## メモリが足りなくてビルドできない場合
|
||
Misskeyの(クライアントの)ビルドには、目安として8GBくらいのメモリを必要とします。
|
||
VPSなどでビルドする時は、もしかしたらメモリが足りなくなる可能性があります。
|
||
そうなった場合、もしVPSではなくあなたのPCが十分なメモリを搭載しているなら、あなたのPC上でビルドし、生成されたファイルをVPSにFTPでアップロードする方法を採ることができます。
|
||
|
||
1. あなたのPC上にMisskeyをインストールする
|
||
2. 設定ファイルを用意する。設定ファイルは、サーバーに合わせた設定にします。
|
||
3. npm run webpack
|
||
4. built/client をサーバーにアップロードする
|
||
5. サーバー上で、npm run gulp
|