ここでは、インストールしたGrowiをサービス化して、サーバを再起動しても自動実行されるようにします。
起動スクリプト化
※ cat ~ EOFまで全行を実行します。
※ コマンド実行の前に[ ]でくくった箇所を自分の環境に置き換えてください。
以下の順番で行うとやりやすいです。
- 以下のコマンド全行(cat - ~ 最下行のEOFまで)をコピーする
- 任意のテキストエディタに貼り付ける
- [ ]でくくった箇所を置き換えて編集する(このとき、[ ] も外します)
- 置き換えて編集したコマンド全行をコピー
- ターミナルに貼り付けて実行する
cat <<- 'EOF' | sudo tee -a /var/growi/growi-start.sh
#!/bin/sh
cd /var/growi
NODE_ENV=production \
AUDIT_LOG_ENABLED=true \
FORCE_WIKI_MODE=private \
MONGO_URI=mongodb://localhost:27017/growi \
ELASTICSEARCH_URI=http://localhost:9200/growi \
REDIS_URI=redis://localhost:6379 \
PASSWORD_SEED=[ランダムな文字列を指定する] \
FILE_UPLOAD=local \
npm start
EOF
また、上記は筆者の環境に合わせています。不要な場合は削除ください。
- AUDIT_LOG_ENABLED=true \
- v5.1.10から実装された監査ログを有効化する機能
- FORCE_WIKI_MODE=private \
- 強制的に全てのページを非公開にする
起動スクリプトに実行権限を付与
sudo chmod +x /var/growi/growi-start.sh
ls -l /var/growi/growi-start.sh
# 実行権限がついていることを確認
サービスとして登録
cat <<- 'EOF' | sudo tee -a /etc/systemd/system/growi.service
[Unit]
Description = growi
After=network-online.target mongod.service
ConditionPathExists=/var/growi
[Service]
ExecStart=/var/growi/growi-start.sh
Restart=no
Type=simple
[Install]
WantedBy=multi-user.target
EOF
登録したサービスを有効化
sudo systemctl daemon-reload
sudo systemctl start growi.service
sudo systemctl enable growi.service
sudo systemctl status growi.service
# (running)とenabledを確認
起動確認
起動後(3分ぐらいかかります)、
http://[IPアドレス/dns登録名]:3000
にアクセスすることで、growiのログイン画面が出てきます。この段階で利用可能です。
次にご紹介するリバースプロキシー有効化などは、ローカル運用と割り切ってしまえば不要なオプション設定です。