====== GB7SV YSF Cloud Reflector - 23.04.24====== GB7SV YSF Cloud Reflector and Web Dashboard (Status and last stations heard) ====Network and Hardware Setup==== Based on https://cloud.oracle.com/?tile=free-apache-ubuntu-vm®ion=uk-london-1 Region https://cloud.oracle.com/compute/instances?region=uk-london-1 **Virtual Cloud Network configuration** **Setup compute instance** ====Web Server Setup==== # Copy down private key, store and set security on it cd keys sudo chmod 60 ssh-key-2021-10-31.key # ssh on to cloud instance sudo ssh -i ./keys/ssh-key-2021-10-31.key ubuntu@150.230.115.225 sudo apt update sudo apt full-upgrade sudo apt install apache2 -y sudo usermod -G www-data -a ubuntu sudo usermod -G www-data -a root sudo chown -R www-data:www-data /data/sites/web/d3g5e-5tb-hostingcom/html sudo chmod -R 775 /data/sites/web/d3g5e-5tb-hostingcom/html sudo apt install php7.4-common php7.4-cgi php7.4 -y sudo apt install libapache2-mod-php7.4 -y sudo nano /etc/apache2/sites-enabled/000-default.conf # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /data/sites/web/d3g5e-5tb-hostingcom/html # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log sudo nano /etc/apache2/ports.conf # If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default.conf Listen 80 Listen 443 Listen 443 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet sudo systemctl restart apache2 Update firewall rules 42002 Reflector and 80 Web Dashboard sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 42002 -j ACCEPT sudo iptables -I INPUT 6 -m state --state NEW -p udp --dport 42002 -j ACCEPT sudo netfilter-persistent save Check firewall rules sudo iptables -S ====YSF Reflector Service Setup==== Based on https://github.com/iu5jae/pYSFReflector git clone git://github.com/iu5jae/pYSFReflector.git cd pYSFReflector/systemd sudo cp YSFReflector.service /etc/systemd/system sudo systemctl enable YSFReflector.service sudo mkdir /var/log/YSFReflector sudo groupadd mmdvm sudo useradd mmdvm -g mmdvm -s /sbin/nologin sudo chown -R mmdvm:mmdvm /var/log/YSFReflector cd .. sudo cp YSFReflector /usr/local/bin sudo mkdir /etc/YSFReflector sudo cp YSFReflector.ini /etc/YSFReflector/YSFReflector.ini sudo cp deny.db /usr/local/etc YSFReflector.service (For reference) [Unit] Description=YSFReflector After=network.target [Service] ExecStartPre=/bin/sleep 1 Type=simple User=mmdvm Group=mmdvm Restart=always # Modify for different location of Python3 or location of files ExecStart=/usr/bin/python3 /usr/local/bin/YSFReflector /etc/YSFReflector/YSFReflector.ini [Install] WantedBy=multi-user.target Setup ensuring config files are correctly placed sudo nano /etc/YSFReflector/YSFReflector.ini Name=GB-GB7SV Description=www.GB7SV.com and #Set this to 0 to have full logging capabilities, 1 for normal log and 2 for ve$ FileLevel=1 FilePath=/var/log/YSFReflector/ FileRoot=YSFReflector # Set this to 0 and configure systems logrotate to do the job with a single log$ FileRotate=1 # Enable = 1 or disable = 0 the extended command set EnableExtendedCommands=0 [Network] Port=42002 Changed Reflector config file sudo systemctl daemon-reload Reflector Status sudo systemctl status YSFReflector.service Reflector Restart sudo systemctl restart YSFReflector.service ====YSF Reflector Web Dashboard Setup==== Based on https://qso365.co.uk/2020/02/how-to-set-up-a-yaesu-system-fusion-reflector-ysfreflector/ Using https://github.com/dg9vh/YSFReflector-Dashboard cd ~ sudo git clone https://github.com/dg9vh/YSFReflector-Dashboard.git sudo cp -R ./YSFReflector-Dashboard/* /data/sites/web/d3g5e-5tb-hostingcom/html/ **Configure YSF Reflector Web Dashboard** http://150.230.115.225/setup.php Configuration as per file config.php date_default_timezone_set('UTC'); define("YSFREFLECTORLOGPATH", "/var/log/YSFReflector"); define("YSFREFLECTORLOGPREFIX", "YSFReflector"); define("YSFREFLECTORINIPATH", "/etc/YSFReflector/"); define("YSFREFLECTORINIFILENAME", "YSFReflector.ini"); define("YSFREFLECTORPATH", "/usr/local/bin/"); define("TIMEZONE", "Europe/London"); define("LOGO", ""); define("REFRESHAFTER", "60"); define("SHOWOLDMHEARD", "60"); define("TEMPERATUREHIGHLEVEL", "60"); Remove Setup.php sudo rm /data/sites/web/d3g5e-5tb-hostingcom/html/setup.php YSF Dashboard http://YSF.GB7SV.COM Register Reflector https://register.ysfreflector.de ====YSF Reflector Web Dashboard Configuration Notes==== Apache, Ports, Reflector and dashboard configuration files sudo nano /etc/apache2/sites-enabled/000-default.conf sudo nano /etc/apache2/ports.conf sudo nano /etc/YSFReflector/YSFReflector.ini sudo nano /data/sites/web/d3g5e-5tb-hostingcom/html/config/config.php ====Web Dashboard Issues==== internal 500 error PHP timeout where code is processing log. Web dashboard frozen. Caused by PHP script errors, code sadly no longer maintained. Work round - Delete the logs and restart apache service. nano /var/log/apache2/error.log [Sun Jul 11 00:03:00.953894 2021] [php7:notice] [pid 29690] [client 192.168.0.4:49337] PHP Notice: A non well formed numeric value encountered in /data/sites/web/d3g5e-5tb-hostingcom/html/include/sysinfo.php on line 96, referer: ht$ $er: http://192.168.0.100:8900/ [Wed Jul 14 05:22:14.638807 2021] [php7:notice] [pid 25132] [client 114.23.212.119:56754] PHP Notice: A non well formed numeric value encountered in /data/sites/web/d3g5e-5tb-hostingcom/html/include/sysinfo.php on line 96, referer: http://gb7sv.duckdns.org:8900/ [Wed Jul 14 05:23:17.695948 2021] [php7:notice] [pid 26313] [client 114.23.212.119:62027] PHP Notice: A non well formed numeric value encountered in /data/sites/web/d3g5e-5tb-hostingcom/html/include/sysinfo.php on line 96, referer: http://gb7sv.duckdns.org:8900/ [Wed Jul 14 05:23:17.696143 2021] [php7:notice] [pid 26313] [client 114.23.212.119:62027] PHP Notice: A non well formed numeric value encountered in /data/sites/web/d3g5e-5tb-hostingcom/html/include/sysinfo.php on line 96, referer: http://gb7sv.duckdns.org:8900/ [Wed Jul 14 05:24:20.787588 2021] [php7:notice] [pid 25129] [client 114.23.212.119:53648] PHP Notice: A non well formed numeric value encountered in /data/sites/web/d3g5e-5tb-hostingcom/html/include/sysinfo.php on line 96, referer: http://gb7sv.duckdns.org:8900/ [Wed Jul 14 05:24:20.787788 2021] [php7:notice] [pid 25129] [client 114.23.212.119:53648] PHP Notice: A non well formed numeric value encountered in /data/sites/web/d3g5e-5tb-hostingcom/html/include/sysinfo.php on line 96, referer: http://gb7sv.duckdns.org:8900/ [Wed Jul 14 05:25:23.844868 2021] [php7:notice] [pid 25132] [client 114.23.212.119:51296] PHP Notice: A non well formed numeric value encountered in /data/sites/web/d3g5e-5tb-hostingcom/html/include/sysinfo.php on line 96, referer: http://gb7sv.duckdns.org:8900/ PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 193 [Wed Nov 03 15:43:42.037962 2021] [php7:error] [pid 12372] [client 82.27.122.60:33026] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 193 [Wed Nov 03 16:07:21.008009 2021] [php7:error] [pid 10435] [client 82.27.122.60:33672] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 191 [Wed Nov 03 16:08:02.657894 2021] [php7:error] [pid 10438] [client 82.27.122.60:33684] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 189 [Wed Nov 03 16:12:03.817933 2021] [php7:error] [pid 12372] [client 192.168.0.12:35070] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 189 [Wed Nov 03 16:12:27.147982 2021] [php7:error] [pid 10434] [client 192.168.0.12:35072] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 189 [Wed Nov 03 16:13:50.348007 2021] [php7:error] [pid 13257] [client 192.168.0.3:60337] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 195 [Wed Nov 03 16:14:15.717954 2021] [php7:error] [pid 10436] [client 192.168.0.3:60342] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 189 [Wed Nov 03 16:20:46.167922 2021] [php7:error] [pid 10438] [client 192.168.0.3:60385] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 189 [Wed Nov 03 16:22:54.967884 2021] [mpm_prefork:notice] [pid 548] AH00169: caught SIGTERM, shutting down [Wed Nov 03 16:22:55.630151 2021] [mpm_prefork:notice] [pid 13386] AH00163: Apache/2.4.38 (Raspbian) configured -- resuming normal operations [Wed Nov 03 16:22:55.630486 2021] [core:notice] [pid 13386] AH00094: Command line: '/usr/sbin/apache2' [Wed Nov 03 16:23:41.877915 2021] [php7:error] [pid 13387] [client 192.168.0.12:35308] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 195 [Wed Nov 03 16:23:59.437952 2021] [php7:error] [pid 13388] [client 192.168.0.3:60396] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 189 [Wed Nov 03 16:24:29.547913 2021] [php7:error] [pid 13389] [client 192.168.0.12:35310] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /data/sites/web/d3g5e-5tb-hostingcom/html/include/functions.php on line 196 ====Reflector Issues==== View and clear logs cd /var/log/YSFReflector sudo rm *.* # to remove logs sudo systemctl restart apache2.service Changed Reflector config file sudo systemctl daemon-reload Stuck Reflector No longer possible to connect. Reflector service has hung and auto restart failed sudo systemctl status YSFReflector.service ● YSFReflector.service - YSFReflector Loaded: loaded (/etc/systemd/system/YSFReflector.service; enabled; vendor pre Active: active (running) since Thu 2021-06-24 19:34:21 BST; 2 days ago Process: 530 ExecStartPre=/bin/sleep 1 (code=exited, status=0/SUCCESS) Main PID: 545 (python3) Tasks: 7 (limit: 2062) CGroup: /system.slice/YSFReflector.service └─545 /usr/bin/python3 /usr/local/bin/YSFReflector /etc/YSFReflector/ Jun 24 19:34:20 GB7SVReflector systemd[1]: Starting YSFReflector... Jun 24 19:34:21 GB7SVReflector systemd[1]: Started YSFReflector. Jun 27 10:56:28 GB7SVReflector python3[545]: Starting pYSFReflector-20210512 To Restart sudo systemctl restart YSFReflector.service pi@GB7SVReflector:~ $ sudo systemctl status YSFReflector.service ● YSFReflector.service - YSFReflector Loaded: loaded (/etc/systemd/system/YSFReflector.service; enabled; vendor pre Active: active (running) since Sun 2021-06-27 11:36:45 BST; 14min ago Process: 8578 ExecStartPre=/bin/sleep 1 (code=exited, status=0/SUCCESS) Main PID: 8583 (python3) Tasks: 7 (limit: 2062) CGroup: /system.slice/YSFReflector.service └─8583 /usr/bin/python3 /usr/local/bin/YSFReflector /etc/YSFReflector Jun 27 11:36:44 GB7SVReflector systemd[1]: Starting YSFReflector... Jun 27 11:36:45 GB7SVReflector systemd[1]: Started YSFReflector. Logon and select "update" to ensure Reflector entry is activated https://register.ysfreflector.de