VulsRepo側でsystemd/sytemVの起動スクリプトが実装されたので、多分この記事の作業は不要です。ですが、自分でsystemdの設定を行う際の参考として残しておきますね。
概要
新しくなったvulsrepoは、Webサーバのコンテンツとして配置するのではなく、実行ファイルとして配布されています。
そのため自動起動等の設定は自分で行う必要があります。
本ページでは、vulsrepoをsystemctl start/stop/restart で扱えるようにするためのヒントを記載します。
(というか、単なるsystemdで自動起動するにはどうすんの?の記事です)
systemd?
SystemV系の/etc/init.d/SERVICENAME よりは、sytemdでの起動設定の方が初めは面倒に感じるかもしれません。
systemdでの設定は以下のように行います。
- 起動プログラムを用意する
- /etc/systemd/system/SERVICENAME.serviceに動作を記載する
- systemctl enable SERVICENAMEで自動起動登録する
- systemctl (start|stop|restart) SERVICENAMEで利用する
- reload等、必要があれば実装してください。
vulsrepoで上記設定をどうするかを記載します。
設定
前提として、以下の設定がされているとします。
- vulsrepo自体のインストールと動作確認がされていること
- インストールディレクトリは /opt/vuls/vulsrepo の想定
- configの設定が完了し /opt/vuls/vulsrepo/server/vulsrepo-server でvulsrepoが動いている
起動プログラムを用意する
vulsrepo-server 自体を直接たたくので、不要。
/etc/systemd/system にファイルを書く
vuls-serverを起動/リスタートするための設定を書きます。
[Unit]
Description=vulsrepo daemon
Documentation=https://github.com/usiusi360/vulsrepo
[Service]
ExecStart = /opt/vuls/vulsrepo/server/vulsrepo-server
ExecRestart = /bin/kill -WINCH ${MAINPID} ; /opt/vuls/vulsrepo/server/vulsrepo-server
ExecStop = /bin/kill -WINCH ${MAINPID}
Restart = no
Type = simple
User = vuls
Group = vuls
[Install]
WantedBy = multi-user.target
認識しているかを確認をする
# systemctl list-unit-files --type=service|grep vulsrepo
vulsrepo.service disabled
#
自動起動設定と動作確認
enableすれば自動起動します。
あとは、systemctl start/stop vulsrepoで開始と停止、restartもできます。
# systemctl enable vulsrepo
#
# systemctl start vulsrepo
#
# ps -ef | grep vulsrepo
vuls 4046 1 0 16:39 ? 00:00:00 /opt/vuls/vulsrepo/server/vulsrepo-server
root 4245 20446 0 16:45 pts/0 00:00:00 grep --color=auto vulsrepo
#
# systemctl restart vulsrepo
# ps -ef | grep vulsrepo
vuls 4268 1 0 16:45 ? 00:00:00 /opt/vuls/vulsrepo/server/vulsrepo-server <---PID変わった
root 4275 20446 0 16:45 pts/0 00:00:00 grep --color=auto vulsrepo
#
# systemctl stop vulsrepo
# ps -ef | grep vulsrepo
root 4302 20446 0 16:46 pts/0 00:00:00 grep --color=auto vulsrepo
#
まとめ
gitのファイルには/etc/systemd/system/vulsrepo.serviceは含まれていませんが、設定ファイルを置くだけで自動起動設定できますので、活用ください。