***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(日記) |