Top > 日記 > 2025-07-14

***M17サーバーの新規立ち上げ [#i68bf47b]
''【 目的 】''
従来稼働していたMREFd をOpenDHTを含めた新しいMREFd し、dashboad もWeb Server からgomrefdah に切り替え、443 port ではなくても80 port のサイトで運用できるようにする。これはHostsFileの管理運用がM17 Project → DVRef.com に移管されたことに起因する対応となる。

''【 準備と構築手順概要 】''
+ハード
++Raspberry pi 3B V1.2
+ソフト
++OS: 64bit版BookWorm をラズパイイメージャーで事前にuser passwd ssh Wifi 関連の設定を行っておくと良い。
64bit版BookWormを組み込んだ直後、ネットワーク環境が思い通りにならない場合は、nmtui コマンドを使うと容易。
++opendht, mrefd, go言語, gomrefdash の順で 👉[[ここ:https://github.com/n7tae/mrefd]]に従って組み込んで行く。

''【 インストールの注意点 】''
+opendht
>cmake -DOPENDHT_PYTHON=OFF -DCMAKE_INSTALL_PREFIX=/usr ..
<
後にmake を行うが、この過程が非常に時間がかかる。どうやら平行に複数同時にcompile を行っているようで最初にcompile されたobject が次以降のcompile 処理を待っていて、onメモリが食いつぶされた場合はその時点で自動的にreboot となる。それでも慌てず、reboot 後にmake したフォルダーに移動して、make を実行すればopenDHTはインストールが無事終わる。
+mrefd &color(Red){赤色部分は自分の環境に合わせて変更すること};
>/usr/local/etc/mrefd.cfg (設定例)
 
MultiClient = &color(Red){''true''};    &color(Red){<== この行が無い場合は追加する};
DashboardURL = &color(Red){http://jh1blt.net:3000/};
EmailAddr = &color(Red){motomph@gmail.com};
Bootstrap = xrf757.openquad.net
DHTSavePath = /usr/local/etc/mrefd.dht.bin
Country = &color(Red){JP};
Sponsor = &color(Red){JJ1YEG Sotobo Amateu Radio Club};
<
>/home/pi/mrefd/mrefd.mk
 
USESYMLINK = true
BINDIR = /usr/local/bin
CFGDIR = /usr/local/etc
DEBUG = false
DHT = true
DAEMON = false
このファイルは変更なしでそのまま使用したが、DEBUG, DAEMON は必要に応じてtureにして調査が必要かもしれない。
<
++make && sudo make install
この実行においては、10か所程度warning 等がでるが、エラーが出て停止することはない。
ただし、事前のtool opendht 等のvrsion によってはエラーで停止する場合もあるので、注意。
+gomrefdash
++git clone https://github.com/kc1awv/gomrefdash.git する前にgolang(go言語)をインストールしなければいけない。
>golang のinstall は
sudo apt update
sudo apt upgrade
sudo apt install golamg
sudo apt install golang
<
++install後のgolang が正常にinstall できたかを以下の様に確認しておく。
>&color(Blue){pi@MREFd:~ $}; go version
go version go1.19.8 linux/arm64
<
++これでいよいよgomrefd をインストール &color(Lime){(Github の install the Dashboard へ)};
>git clone https://github.com/kc1awv/gomrefdash.git
<
以下はmrefd を次回&color(Red){アップデートしたい場合};におこなう。今は行わない。
>&color(Red){cd mrefd}; &color(Red){<== この行がGithub には抜けているので注意};
sudo make uninstall
make clean
git pull
make
sudo make install
<
実際にgomrefdash のInstall は👉[[ここ:https://github.com/kc1awv/gomrefdash]]に従って組み込んで行く。
中略
>cp gomrefdash.sample.toml gomrefdash.toml
<
後に、gomrefdash.tomlを自分の環境に合わせて以下のように編集する。
>/home/pi/gomrefdash/gomrefdash.toml (設定例)
 
hostport=":3000" # e.g. 127.0.0.1:3000 for only localhost
ipv4="&color(Red){219.117.204.205};"
ipv6=""
refresh=&color(Red){6};
lastheard=20
mreffile="/var/log/mrefd.xml"
mrefpidfile="/var/run/mrefd.pid"
email="&color(Red){motomph@gmail.com};"
debug=false # debug mode on, logs more information
subpath="" # e.g. "/reflector" would be http://yourhostname/reflector, leave blank for no sub path
callsigncountryfile="callsign_country.csv"
<
 
+次の An alternative dashboard is also available と Updating mrefd はその必要がある場合に実施するが今回は実行しない。
++Firewall settings
MREFD requires the following port to be open to inbound network traffic:
ポートフォワーディング設定として443&color(Red){'' 以外''};を設定する。
>UDP port 17000 (or whatever port you have configured) for M17
UDP port 17171 for DHT
TCP port 80 for HTTP
&color(Red){TCP port 443 for HTTPS};
<
+自動起動設定
OS起動時にmrefd がたまにservice 起動していない場合があり、またgomrefdash も続けて起動する必要性から
念のためにuser の/home/pi/bin として/homt/pi/bin/start.sh を作成し、user crond にreboot時に起動させる。
++/homt/pi/bin/start.sh を作成する
>$ cd
$ mkdir bin
$ nano /home/pi/bin/startdash.sh
 
 #!/bin/bash
 
 sleep 10
 sudo systemctl restart mrefd
 sleep 1
 cd /home/pi/gomrefdash
 ./gomrefdash &
<
++user cron に以下追加登録する
>$ crontab -e
@reboot sleep 20 && /home/pi/bin/startdash.sh
<
 
&color(Maroon){''以下工事中''};
#clear
#comment
#navi(日記)

リロード   新規 下位ページ作成 凍結解除 差分 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS