LoginSignup
2
3

More than 5 years have passed since last update.

vulsrepoをsystemd的に扱う(自動起動しよう)

Last updated at Posted at 2017-10-02

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を起動/リスタートするための設定を書きます。

/etc/systemd/system/vulsrepo.service
[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は含まれていませんが、設定ファイルを置くだけで自動起動設定できますので、活用ください。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3