4557856104
* Doc: Update setup documents Use GitHub api to checkout latest release instead of "git tag" command which cannot accurately determine prerelease tag. Also, Changed numbered list format because the shell command is too long to fit on one line. Conflicts: docs/docker.en.md docs/docker.fr.md docs/docker.ja.md docs/setup.en.md docs/setup.fr.md docs/setup.ja.md * Doc: Checkout 10.x tag only Update "checkout latest release" command. Checkout latest tag but 10.x tag only. * Doc: Restore MongoDB * Use tab instead of spaces
166 lines
5.5 KiB
Markdown
166 lines
5.5 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](https://nodejs.org/en/)** (10.0.0以上)
|
||
* **[MongoDB](https://www.mongodb.com/)** (3.6以上)
|
||
|
||
##### オプション
|
||
* [Redis](https://redis.io/)
|
||
* Redisはオプションですが、インストールすることを強く推奨します。
|
||
* インストールしなくていいのは、あなたのインスタンスが自分専用のときだけとお考えください。
|
||
* 具体的には、Redisをインストールしないと、次の事が出来なくなります:
|
||
* Misskeyプロセスを複数起動しての負荷分散
|
||
* レートリミット
|
||
* ジョブキュー
|
||
* Twitter連携
|
||
* [Elasticsearch](https://www.elastic.co/)
|
||
* 検索機能を有効にするためにはインストールが必要です。
|
||
* [FFmpeg](https://www.ffmpeg.org/)
|
||
|
||
*3.* MongoDBの設定
|
||
----------------------------------------------------------------
|
||
ルートで:
|
||
1. `mongo` mongoシェルを起動
|
||
2. `use misskey` misskeyデータベースを使用
|
||
3. `db.createUser( { user: "misskey", pwd: "<password>", roles: [ { role: "readWrite", db: "misskey" } ] } )` misskeyユーザーを作成
|
||
4. `exit` mongoシェルを終了
|
||
|
||
*4.* Misskeyのインストール
|
||
----------------------------------------------------------------
|
||
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`
|
||
|
||
*5.* 設定ファイルを作成する
|
||
----------------------------------------------------------------
|
||
1. `.config/example.yml`をコピーし名前を`default.yml`にする。
|
||
|
||
`cp .config/example.yml .config/default.yml`
|
||
|
||
2. `default.yml` を編集する。
|
||
|
||
*6.* Misskeyのビルド
|
||
----------------------------------------------------------------
|
||
|
||
次のコマンドでMisskeyをビルドしてください:
|
||
|
||
`NODE_ENV=production npm run build`
|
||
|
||
Debianをお使いであれば、`build-essential`パッケージをインストールする必要があります。
|
||
|
||
何らかのモジュールでエラーが発生する場合はnode-gypを使ってください:
|
||
1. `npm install -g node-gyp`
|
||
2. `node-gyp configure`
|
||
3. `node-gyp build`
|
||
4. `NODE_ENV=production npm run build`
|
||
|
||
*7.* 以上です!
|
||
----------------------------------------------------------------
|
||
お疲れ様でした。これでMisskeyを動かす準備は整いました。
|
||
|
||
### 通常起動
|
||
`NODE_ENV=production 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
|
||
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`に変更する必要があります。
|
||
|
||
3. systemdを再読み込みしmisskeyサービスを有効化
|
||
|
||
`systemctl daemon-reload ; systemctl enable misskey`
|
||
|
||
4. misskeyサービスの起動
|
||
|
||
`systemctl start misskey`
|
||
|
||
`systemctl status misskey`と入力すると、サービスの状態を調べることができます。
|
||
|
||
### Misskeyを最新バージョンにアップデートする方法:
|
||
1. `git fetch`
|
||
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
|
||
```
|
||
|
||
3. `npm install`
|
||
4. `NODE_ENV=production npm run build`
|
||
5. [ChangeLog](../CHANGELOG.md)でマイグレーション情報を確認する
|
||
|
||
なにか問題が発生した場合は、`npm run clean`または`npm run cleanall`すると直る場合があります。
|
||
|
||
----------------------------------------------------------------
|
||
|
||
なにかお困りのことがありましたらお気軽にご連絡ください。
|