2017-05-18 15:52:50 +00:00
|
|
|
|
Misskey構築の手引き
|
|
|
|
|
================================================================
|
|
|
|
|
|
|
|
|
|
Misskeyサーバーの構築にご関心をお寄せいただきありがとうございます!
|
|
|
|
|
このガイドではMisskeyのインストール・セットアップ方法について解説します。
|
|
|
|
|
|
|
|
|
|
[英語版もあります - English version also available](./setup.en.md)
|
|
|
|
|
|
|
|
|
|
----------------------------------------------------------------
|
|
|
|
|
|
2018-07-15 00:43:16 +00:00
|
|
|
|
*1.* Misskeyユーザーの作成
|
2017-05-18 15:52:50 +00:00
|
|
|
|
----------------------------------------------------------------
|
2018-09-10 09:32:51 +00:00
|
|
|
|
Misskeyはrootユーザーで実行しない方がよいため、代わりにユーザーを作成します。
|
2018-07-15 00:43:16 +00:00
|
|
|
|
Debianの例:
|
2017-11-22 20:43:00 +00:00
|
|
|
|
|
2018-07-15 00:43:16 +00:00
|
|
|
|
```
|
|
|
|
|
adduser --disabled-password --disabled-login misskey
|
2017-11-22 20:43:00 +00:00
|
|
|
|
```
|
|
|
|
|
|
2018-03-27 03:55:58 +00:00
|
|
|
|
*2.* 依存関係をインストールする
|
2017-05-18 15:52:50 +00:00
|
|
|
|
----------------------------------------------------------------
|
|
|
|
|
これらのソフトウェアをインストール・設定してください:
|
|
|
|
|
|
|
|
|
|
#### 依存関係 :package:
|
2018-11-05 01:48:40 +00:00
|
|
|
|
* **[Node.js](https://nodejs.org/en/)** (10.0.0以上)
|
2018-07-15 05:20:30 +00:00
|
|
|
|
* **[MongoDB](https://www.mongodb.com/)** (3.6以上)
|
2017-05-18 15:52:50 +00:00
|
|
|
|
|
|
|
|
|
##### オプション
|
2018-10-11 06:50:27 +00:00
|
|
|
|
* [Redis](https://redis.io/)
|
2018-10-11 09:18:15 +00:00
|
|
|
|
* Redisはオプションですが、インストールすることを強く推奨します。
|
|
|
|
|
* インストールしなくていいのは、あなたのインスタンスが自分専用のときだけとお考えください。
|
2018-10-11 09:20:27 +00:00
|
|
|
|
* 具体的には、Redisをインストールしないと、次の事が出来なくなります:
|
2018-10-11 09:18:15 +00:00
|
|
|
|
* Misskeyプロセスを複数起動しての負荷分散
|
|
|
|
|
* レートリミット
|
2019-02-05 05:25:03 +00:00
|
|
|
|
* ジョブキュー
|
2018-10-11 09:18:15 +00:00
|
|
|
|
* Twitter連携
|
|
|
|
|
* [Elasticsearch](https://www.elastic.co/)
|
2018-10-11 09:20:27 +00:00
|
|
|
|
* 検索機能を有効にするためにはインストールが必要です。
|
2019-02-05 05:24:10 +00:00
|
|
|
|
* [FFmpeg](https://www.ffmpeg.org/)
|
2017-05-18 15:52:50 +00:00
|
|
|
|
|
2018-07-23 11:48:55 +00:00
|
|
|
|
*3.* MongoDBの設定
|
2018-04-02 02:32:27 +00:00
|
|
|
|
----------------------------------------------------------------
|
2018-07-15 00:43:16 +00:00
|
|
|
|
ルートで:
|
|
|
|
|
1. `mongo` mongoシェルを起動
|
|
|
|
|
2. `use misskey` misskeyデータベースを使用
|
2019-02-02 19:50:40 +00:00
|
|
|
|
3. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` misskeyユーザーを作成
|
|
|
|
|
4. `exit` mongoシェルを終了
|
2018-07-15 00:43:16 +00:00
|
|
|
|
|
|
|
|
|
*4.* Misskeyのインストール
|
|
|
|
|
----------------------------------------------------------------
|
2019-04-16 04:09:31 +00:00
|
|
|
|
1. misskeyユーザーを使用
|
|
|
|
|
|
|
|
|
|
`su - misskey`
|
|
|
|
|
|
|
|
|
|
2. masterブランチからMisskeyレポジトリをクローン
|
|
|
|
|
|
|
|
|
|
`git clone -b master git://github.com/syuilo/misskey.git`
|
|
|
|
|
|
|
|
|
|
3. misskeyディレクトリに移動
|
|
|
|
|
|
|
|
|
|
`cd misskey`
|
|
|
|
|
|
|
|
|
|
4. [最新のリリース](https://github.com/syuilo/misskey/releases/latest)を確認
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
git tag | grep '^10\.' | sort -V --reverse | \
|
|
|
|
|
while read tag_name; do \
|
|
|
|
|
if ! curl -s "https://api.github.com/repos/syuilo/misskey/releases/tags/$tag_name" \
|
|
|
|
|
| grep -qE '"(draft|prerelease)": true'; \
|
|
|
|
|
then git checkout $tag_name; break; fi ; done
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
5. Misskeyの依存パッケージをインストール
|
|
|
|
|
|
|
|
|
|
`npm install`
|
2018-07-15 00:43:16 +00:00
|
|
|
|
|
2018-07-18 15:04:09 +00:00
|
|
|
|
*5.* 設定ファイルを作成する
|
2018-03-25 11:19:32 +00:00
|
|
|
|
----------------------------------------------------------------
|
2019-04-16 04:09:31 +00:00
|
|
|
|
1. `.config/example.yml`をコピーし名前を`default.yml`にする。
|
|
|
|
|
|
|
|
|
|
`cp .config/example.yml .config/default.yml`
|
|
|
|
|
|
2018-07-15 00:43:16 +00:00
|
|
|
|
2. `default.yml` を編集する。
|
2017-05-18 15:52:50 +00:00
|
|
|
|
|
2018-07-18 15:04:09 +00:00
|
|
|
|
*6.* Misskeyのビルド
|
2018-04-02 02:32:27 +00:00
|
|
|
|
----------------------------------------------------------------
|
2018-07-15 00:43:16 +00:00
|
|
|
|
|
|
|
|
|
次のコマンドでMisskeyをビルドしてください:
|
|
|
|
|
|
2019-02-22 05:18:05 +00:00
|
|
|
|
`NODE_ENV=production npm run build`
|
2018-07-15 00:43:16 +00:00
|
|
|
|
|
|
|
|
|
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
|
|
|
|
|
|
|
|
|
|
何らかのモジュールでエラーが発生する場合はnode-gypを使ってください:
|
2018-05-23 10:00:23 +00:00
|
|
|
|
1. `npm install -g node-gyp`
|
|
|
|
|
2. `node-gyp configure`
|
|
|
|
|
3. `node-gyp build`
|
2019-02-22 05:18:05 +00:00
|
|
|
|
4. `NODE_ENV=production npm run build`
|
2017-05-18 15:52:50 +00:00
|
|
|
|
|
2018-07-18 15:04:09 +00:00
|
|
|
|
*7.* 以上です!
|
2017-05-18 15:52:50 +00:00
|
|
|
|
----------------------------------------------------------------
|
|
|
|
|
お疲れ様でした。これでMisskeyを動かす準備は整いました。
|
|
|
|
|
|
2018-07-15 00:43:16 +00:00
|
|
|
|
### 通常起動
|
2019-02-22 05:18:05 +00:00
|
|
|
|
`NODE_ENV=production npm start`するだけです。GLHF!
|
2018-07-15 00:43:16 +00:00
|
|
|
|
|
|
|
|
|
### systemdを用いた起動
|
2019-04-16 04:09:31 +00:00
|
|
|
|
1. systemdサービスのファイルを作成
|
|
|
|
|
|
|
|
|
|
`/etc/systemd/system/misskey.service`
|
|
|
|
|
|
2018-07-15 00:43:16 +00:00
|
|
|
|
2. エディタで開き、以下のコードを貼り付けて保存:
|
|
|
|
|
|
2019-04-16 04:09:31 +00:00
|
|
|
|
```
|
|
|
|
|
[Unit]
|
|
|
|
|
Description=Misskey daemon
|
|
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
|
Type=simple
|
|
|
|
|
User=misskey
|
|
|
|
|
ExecStart=/usr/bin/npm start
|
|
|
|
|
WorkingDirectory=/home/misskey/misskey
|
|
|
|
|
Environment="NODE_ENV=production"
|
|
|
|
|
TimeoutSec=60
|
|
|
|
|
StandardOutput=syslog
|
|
|
|
|
StandardError=syslog
|
|
|
|
|
SyslogIdentifier=misskey
|
|
|
|
|
Restart=always
|
|
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
CentOSで1024以下のポートを使用してMisskeyを使用する場合は`ExecStart=/usr/bin/sudo /usr/bin/npm start`に変更する必要があります。
|
2018-07-15 00:43:16 +00:00
|
|
|
|
|
2019-04-16 04:09:31 +00:00
|
|
|
|
3. systemdを再読み込みしmisskeyサービスを有効化
|
|
|
|
|
|
|
|
|
|
`systemctl daemon-reload ; systemctl enable misskey`
|
|
|
|
|
|
|
|
|
|
4. misskeyサービスの起動
|
|
|
|
|
|
|
|
|
|
`systemctl start misskey`
|
2018-07-15 00:43:16 +00:00
|
|
|
|
|
|
|
|
|
`systemctl status misskey`と入力すると、サービスの状態を調べることができます。
|
2017-05-18 15:52:50 +00:00
|
|
|
|
|
2018-04-02 02:34:35 +00:00
|
|
|
|
### Misskeyを最新バージョンにアップデートする方法:
|
2018-07-15 00:43:16 +00:00
|
|
|
|
1. `git fetch`
|
2019-04-16 04:09:31 +00:00
|
|
|
|
2.
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
git tag | grep '^10\.' | sort -V --reverse | \
|
|
|
|
|
while read tag_name; do \
|
|
|
|
|
if ! curl -s "https://api.github.com/repos/syuilo/misskey/releases/tags/$tag_name" \
|
|
|
|
|
| grep -qE '"(draft|prerelease)": true'; \
|
|
|
|
|
then git checkout $tag_name; break; fi ; done
|
|
|
|
|
```
|
|
|
|
|
|
2018-07-15 00:43:16 +00:00
|
|
|
|
3. `npm install`
|
2019-02-22 05:18:05 +00:00
|
|
|
|
4. `NODE_ENV=production npm run build`
|
2018-09-01 09:42:46 +00:00
|
|
|
|
5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
|
2018-05-07 19:04:18 +00:00
|
|
|
|
|
2019-03-12 04:26:26 +00:00
|
|
|
|
なにか問題が発生した場合は、`npm run clean`または`npm run cleanall`すると直る場合があります。
|
2019-02-14 20:58:09 +00:00
|
|
|
|
|
2018-07-24 19:15:22 +00:00
|
|
|
|
----------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
なにかお困りのことがありましたらお気軽にご連絡ください。
|