git cloneでxlxdのソースを取ってきて、OpenBSD用のパッチを当ててgmake installすると/xlxdの中に以下のファイルがインストールされます(/直下というのがちょっと気に食わないのですが、Dashboardからも参照していたりするので下手に動かせません)。
- xlxd
- xlxd.blacklist
- xlxd.blacklist.sample
- xlxd.interlink
- xlxd.interlink.sample
- xlxd.whitelist
- xlxd.whitelist.sample
/etc/rc.dに各種デーモンの起動用スクリプトを配置し、rcctlで起動制御を行うのがイマドキのOpenBSD流なのですが、自分は野良ビルドしたApacheも含め/etc/rc.localをこんな感じに書いて起動しています。
echo -n 'starting local daemons:'
if [ -x /usr/local/apache2/bin/apachectl ]; then
echo -n ' httpd'
/usr/local/apache2/bin/apachectl start > /dev/null
fi
if [ -x /xlxd/xlxd ]; then
echo -n ' xlxd'
/xlxd/xlxd XLX@@@ `grep inet /etc/hostname.vio0 | \
grep -v inet6 | awk '{print $2}'` 127.0.0.1
top | grep xlxd | awk '{print $1}' > /var/log/xlxd.pid
fi
echo '.'
|
XLX@@@の部分は使用するサーバ番号を書く必要があり、かつてはX Reflector Directoryに番号を問い合わせるように言われていましたが、現在はXLX950のReflector listから空いている番号を使えば良いように見えます(*)。xlxdの使用するIPアドレスは変更があった場合に備え、hostname.vio0から引っ張ってきています。Dashboardが/var/log/xlxd.pidも参照するため、xlxd起動後に作成します。
(*)CHANGES TO THE X REFLECTOR DIRECTORY(Feb 27, 2019)を読むに、XLXはサーバ番号(reflector number)のリストを自前で管理できるんだからそっちでやってもらって、X Reflector Forumはそれ以外のリフレクタの管理に専念するね、ということらしい。
Dashboardはdashboardとdashboard2がありますが、自分はシンプルなdashboard2を選びました。設定の詳細は他のページにお任せしますが、以下の項目を変更しました。
- index.php: mailto:<?php echo $PageOptions['ContactEmail']; ?>からmailto:を外し、e-mailではなくweb pageへのリンクとした
- pgs/config.inc.php: $PageOptions['ContactEmail']はweb pageのURL
- pgs/config.inc.php: $PageOptions['PageRefreshDelay']は10000(ms)→60000(ms)
- pgs/config.inc.php: $PageOptions['RepeatersPage']['IPModus'], $PageOptions['PeerPage']['IPModus']はShowFullIP→ShowLast2ByteOfIP(個人的にはShowFullIPのままで良いのではないかと思うのですが)
- pgs/config.inc.php: $CallingHome['Active']はfalse→true(trueでXLX reflector listへの自動登録処理が動作します)
- pgs/config.inc.php: $CallingHome['MyDashBoardURL'], $CallingHome['Country'], $CallingHome['Comment']は適宜設定
なお、/etc/php-7.2.iniのallow_url_fopen = Onとなっていることを確認しておいてください。これを忘れるとDashboardでReflector Listが取得できません。
ここまでの設定でなんとなく動いている感じではあるのですが、Reflector Listを見るとservice downとなってしまい、どこの設定を間違えたのか悩んでいるところです。58.55kg(16:50)
08-Apr-2019補足:どうも$CallingHome['HashFile']で作られるファイル(デフォルトは/tmp/callinghome.phpに作られる)を不用意に消してしまったりするとReflector Listの機嫌が悪くなるように見えます。他のサイトでは、このファイルを/tmpに作成すると再起動時にクリアされてしまうためそれ以外の適当なディレクトリに作るよう勧めていますが、この勧めには従った方が良いように思われます。
11-Oct-2019補足:/etc/php-7.2.iniのdate.timezoneも適切に設定する必要があります(日本ならdate.timezone = Asia/Tokyo)。/var/log/xlxd.xmlはローカルタイムで時刻を書き出すため、PHPのタイムゾーンの設定が正しくないとdashboard2上でいつまで経っても誰かが送信状態になっているという現象が起こります。