Feed Planefinder from Red Hat (RHEL) & Fedora x86_64

ab cd

Senior Member
How to Install dump1090-fa and Planefinder feeder on Red Hat (RHEL) & Fedora

Tested on:
Fedora 31, x86_64
Red Hat Enterprise Linux (RHEL) 8.1, x86_64



STEP-1: Install dump1090-fa (see below)

STEP-2: Install Planefinder Data Feeder
(Scroll down to post #2)

STEP-3: Install FlightRadar24 Data Feeder (Scroll down to post #3)


STEP-1: Install dump1090-fa

FEDORA - Install Dependencies & Tools
Code:
sudo dnf install git wget
sudo dnf install make cmake libusb-devel ncurses-devel



RHEL- Install Dependencies & Tools
Code:
sudo dnf install git wget
sudo dnf install gcc-c++ make cmake libusbx-devel ncurses-devel

## In case of issues in building binaries, use following command to install build tool package
## sudo dnf groupinstall 'Development Tools'



(2) Fedora & RHEL - Build & Install package "librtlsdr"
This package is essential for building dump1090-fa linux binary in step (3)

NOTE: The command starting with "sudo cmake ../" has 4 flags after it and is very long, and full command is not visible directly. Please scroll right to see and copy it in full.
Code:
cd ~/
git clone https://github.com/steve-m/librtlsdr.git
cd librtlsdr
sudo mkdir build && cd build
sudo cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON -DLIB_INSTALL_DIR=/usr/lib64 -DCMAKE_INSTALL_PREFIX=/usr
sudo make
sudo make install
sudo ldconfig



(3) Fedora & RHEL - Build dump1090-fa linux binary from source code.
Code:
cd ~/
sudo git clone https://github.com/flightaware/dump1090.git dump1090-fa
cd dump1090-fa
sudo make BLADERF=no



(4) Fedora & RHEL - Test the dump1090-fa Linux Binary
Code:
cd ~/dump1090-fa
sudo ./dump1090

Sat Jan 25 16:52:54 2020 EST dump1090-fa starting up.
rtlsdr: using device #0: Generic RTL2832U (Realtek, RTL2832UFA, SN 00000101)
Detached kernel driver
Found Rafael Micro R820T tuner
rtlsdr: tuner gain set to 49.6 dB

*8dc07976235130f2c79820d7f6ee;
CRC: 000000
RSSI: -3.4 dBFS
Score: 1400
Time: 8240.83us
DF:17 AA:C07976 CA:5 ME:235130F2C79820
Extended Squitter Aircraft identification and category (4) (reliable)
ICAO Address: C07976 (Mode S / ADS-B)
Air/Ground: airborne
Ident: TSC219
Category: A3



(5) Fedora & RHEL - Configure & enable systemd for dump1090-fa by copying necessary files from cloned source code.
Code:
sudo cp ~/dump1090-fa/dump1090 /usr/bin/dump1090-fa
sudo cp ~/dump1090-fa/debian/dump1090-fa.default /etc/default/dump1090-fa
sudo cp ~/dump1090-fa/debian/dump1090-fa.service /usr/lib/systemd/system/dump1090-fa.service

sudo mkdir -p /usr/share/dump1090-fa/
sudo cp ~/dump1090-fa/debian/start-dump1090-fa /usr/share/dump1090-fa/start-dump1090-fa
sudo cp -r ~/dump1090-fa/public_html /usr/share/dump1090-fa/html
sudo useradd --system dump1090

sudo systemctl enable dump1090-fa
sudo systemctl start dump1090-fa
sudo systemctl status dump1090-fa

## If status shows FAILED, then reboot the computer, and after reboot check status again
sudo reboot
sudo systemctl status dump1090-fa



(6) Install lighttpd web server

Fedora

Code:
sudo dnf install lighttpd



RHEL
Code:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install lighttpd



(7) Fedora & RHEL - Copy necessary dump1090-fa integration & configuration file from source code.
Code:
sudo cp ~/dump1090-fa/debian/lighttpd/89-dump1090-fa.conf /etc/lighttpd/conf.d/89-dump1090-fa.conf  

sudo chmod 666 /etc/lighttpd/lighttpd.conf  

echo "server.modules += ( \"mod_alias\" )" >> /etc/lighttpd/lighttpd.conf  

echo "include \"/etc/lighttpd/conf.d/89-dump1090-fa.conf\"" >> /etc/lighttpd/lighttpd.conf  

sudo sed -i 's/server.use-ipv6 = "enable"/server.use-ipv6 = "disable"/' /etc/lighttpd/lighttpd.conf   

sudo chmod 644 /etc/lighttpd/lighttpd.conf

sudo systemctl enable lighttpd
sudo systemctl restart lighttpd



(8) Fedora & RHEL - Configure SELinux to run permissive for httpd
This will enable lighttpd to pull aircraft data from folder /var/run/dump1090-fa/:
Code:
sudo semanage permissive -a httpd_t


(9) Fedora & RHEL - Configure Firewall to permit display of SkyView from LAN/internet.

Code:
sudo firewall-cmd --add-service=http 
sudo firewall-cmd --runtime-to-permanent 
sudo firewall-cmd --reload


(10) Reboot Computer



Map display in browser of RHEL at
localhost/dump1090-fa/

RHEL 8.1 dump1090-fa.png




Map dispaly in browser of FEDORA at localhost/dump1090-fa/
Fedora32 - dump1090-fa - localhost.png





Map display in browser of another computer on same LAN at IP-of-Fedora:8080
Fedora32 - dump1090-fa - LAN.png
[/SIZE][/B]
 
Last edited:
How to Install Planefinder data feeder on Red Hat (RHEL) & Fedora x86_64
NOTE:
On RHEL and Fedora the "pfclient_4.1.1_i386.deb" package cannot be installed.
We will therefore use linux binary tarball "pfclient_4.1.1_i386.tar.gz".
Since the tarball does not contain any configuration, init, or service files, we will create all this manually.

(1) - Prepare x86_64 OS to accept i386 linux binary.

RHEL

Code:
sudo dnf install glibc.i686 libgcc.i686 libgcc.x86_64 audit.x86_64


Fedora
Code:
sudo dnf install glibc.i686 glibc.x86_64 audit.x86_64


(2) - Download and uncompress tarball "pfclient_4.1.1_i386.tar.gz"
Code:
sudo dnf install wget

sudo mkdir /usr/share/pfclient
sudo wget -O /usr/share/pfclient/pfclient_4.1.1_i386.tar.gz "http://client.planefinder.net/pfclient_4.1.1_i386.tar.gz"
sudo tar zxvf /usr/share/pfclient/pfclient_4.1.1_i386.tar.gz -C /usr/share/pfclient/
sudo cp /usr/share/pfclient/pfclient /usr/bin/pfclient


(3) - Create configuration file
Code:
sudo touch /etc/pfclient-config.json
sudo chmod 666 /etc/pfclient-config.json
sudo echo "{}" > /etc/pfclient-config.json


(4) - Setup systemd service for auto-start at boot, and for start, stop & status.
4.1 - Create system user pfc to run the pfclient
Code:
sudo useradd --system pfc

4.2 - Create a new blank file pfclient.service
Code:
sudo dnf install nano

sudo nano /lib/systemd/system/pfclient.service

4.3 - In file pfclient.service, copy-paste following code:
Code:
[Unit]
Description=Planefinder Feeder
After=network-online.target
[Service]
Type=simple
SyslogIdentifier=pfclient
RuntimeDirectory=pfclient
RuntimeDirectoryMode=0755
User=pfc
PermissionsStartOnly=true
ExecStartPre=-/bin/mkdir -p /var/log/pfclient
ExecStartPre=-/bin/chown pfc /var/log/pfclient
ExecStart=/usr/bin/pfclient --config_path=/etc/pfclient-config.json --log_path=/var/log/pfclient $ 2>/var/log/pfclient/error.log
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target

Save file (Ctrl+o) and close file (Ctrl+x)

(5) - Enable the pfclient service by following command
Code:
sudo systemctl enable pfclient
sudo systemctl restart pfclient

sudo systemctl status pfclient

(6) - RHEL only: Configure firewall
This is necessary to enable display of Planefinder Configuration and Map page at IP:30053 in browser of another computer on same LAN

Code:
sudo firewall-cmd --zone=public --add-port=30053/tcp
firewall-cmd --runtime-to-permanent
sudo firewall-cmd --reload

##Give following command to see that port 30053 is included in the list
sudo firewall-cmd --list-all --zone=public


(7) - Configuring Planefinder Feeder:
In RHEL or Fedora computer, go to page localhost:30053 (or to IP:30053 from another computer) and add your sharing key, latitude, longitude.

(8) - Useful Commands:
Code:
sudo systemctl status pfclient
sudo systemctl restart pfclient
sudo systemctl stop pfclient
 
Last edited:
How to Install FlightRadar24 data feeder on Fedora & RHEL x86_64


1 - Download and uncompress tarball "fr24feed_1.0.24-5_amd64.tgz"

Code:
sudo mkdir /usr/share/fr24
sudo wget -O /usr/share/fr24/fr24feed_1.0.24-5_amd64.tgz "https://repo-feed.flightradar24.com/linux_x86_64_binaries/fr24feed_1.0.24-5_amd64.tgz"
sudo tar xvzf /usr/share/fr24/fr24feed_1.0.24-5_amd64.tgz -C /usr/share/fr24
sudo cp /usr/share/fr24/fr24feed_amd64/fr24feed /usr/bin/


2 - Create configuration file "fr24feed.ini"
Code:
sudo nano /etc/fr24feed.ini


3 - Copy-paste following code in the newly created blank file fr24feed.ini

Code:
receiver="beast-tcp"
host="127.0.0.1:30005"
fr24key=""

bs="no"
raw="no"
logmode="1"
logpath="/var/log/fr24feed/"
mlat="no"
mlat-without-gps="no"

use-http=yes
http-timeout=20


4 - Create user fr24 to run service
Code:
sudo useradd --system fr24


5 - Create Service file fr24feed.service
Code:
sudo nano /lib/systemd/system/fr24feed.service


6 - Copy-paste following code in newly created blank file fr24feed.service
Code:
[Unit]
Description=Flightradar24 Feeder
After=network-online.target
[Service]
Type=simple
Restart=always
LimitCORE=infinity
RuntimeDirectory=fr24feed
RuntimeDirectoryMode=0755
ExecStartPre=-/bin/mkdir -p /var/log/fr24feed
ExecStartPre=-/bin/chown fr24 /var/log/fr24feed
ExecStart=/usr/bin/fr24feed
User=fr24
PermissionsStartOnly=true
StandardOutput=null
[Install]
WantedBy=multi-user.target


7 - Enable and start fr24feed service
Code:
sudo systemctl enable fr24feed
sudo systemctl restart fr24feed


8 - Installation Completed, please SIGNUP as below:

Option-1
If you already have a feeder key, open file fr24feed.ini by following command and add fr24key:
Code:
sudo nano /etc/fr24feed.ini
Save (Ctrl+o) and Close (Ctrl+x) file fr24feed.ini

Restart fr24feed by following command:
Code:
sudo systemctl restart fr24feed

Option-2
Alternatively signup using following command
Code:
sudo nano fr24feed --signup


9 - RHEL only: Configure firewall
This is necessary to enable display of FR24 Status & Settings page at IP:8754 in browser of another computer on same LAN</b>

Code:
sudo firewall-cmd --zone=public --add-port=8754/tcp
firewall-cmd --runtime-to-permanent
sudo firewall-cmd --reload

##Give following command to see that port 8754 is included in the list
sudo firewall-cmd --list-all --zone=public


10 - Checks:
In your RHEL/Fedora computer's browser, go to web interface at
localhost:8754

In another computer on same LAN, go to web interface at
ip-of-rhel-computer:8754
OR
ip-of-fedora-computer:8754

FR24 on RHEL.png



Code:
## To see status:
sudo systemctl status fr24feed

## To restart
sudo systemctl restart fr24feed

## To stop:
sudo systemctl stop fr24feed





10 - LOG:
Code:
[abcd@localhost ~]$ cat /var/log/fr24feed/fr24feed.log

2020-01-26 17:10:36 | ______ _ _ _ _ _ _____ ___
2020-01-26 17:10:36 | | ___|| |(_) | | | | | | / __ \ / |
2020-01-26 17:10:36 | | |_ | | _ __ _ | |__ | |_ _ __ __ _ __| | __ _ _ __`' / /' / /| |
2020-01-26 17:10:36 | | _| | || | / _` || '_ \ | __|| '__|/ _` | / _` | / _` || '__| / / / /_| |
2020-01-26 17:10:36 | | | | || || (_| || | | || |_ | | | (_| || (_| || (_| || | ./ /___\___ |
2020-01-26 17:10:36 | \_| |_||_| \__, ||_| |_| \__||_| \__,_| \__,_| \__,_||_| \_____/ |_/
2020-01-26 17:10:36 | __/ |
2020-01-26 17:10:36 | |___/
2020-01-26 17:10:36 | error | Local time: 2020-01-26 17:10:36 -0500
2020-01-26 17:10:36 | error | GMT+0 time: 2020-01-26 22:10:36 -0500
2020-01-26 17:10:36 | error | Your machine should be set as GMT+0 time zone!
2020-01-26 17:10:36 | warning | Time zone is not set to GMT+0
2020-01-26 17:10:36 | [main][i]FR24 Feeder/Decoder
2020-01-26 17:10:36 | [main][i]Version: 1.0.24-5/generic
2020-01-26 17:10:36 | [main][i]Built on Oct 30 2019 07:23:36 (static-i386_amd64-builds-and-macos-dump1090-update-c308dae.git/Linux/amd64)
2020-01-26 17:10:36 | [main][i]Running on: rhel8.1
2020-01-26 17:10:36 | [main][i]Local IP(s): 192.168.0.40 192.168.122.1 2607:fea8:4d20:55f4::9 fd00:f0f2:4906:68d2:e1e5:6b80:c236:2472 2607:fea8:4d20:55f4:ccad:d4fd:9ecc:aa14
2020-01-26 17:10:36 | [main][i]Copyright 2012-2019 Flightradar24 AB
2020-01-26 17:10:36 | [main][i]https://www.flightradar24.com
2020-01-26 17:10:36 | [main][i]DNS mode: LIBC
2020-01-26 17:10:36 | [main][i]Automatic updates are DISABLED
2020-01-26 17:10:36 | info | [httpd]Server started, listening on 0.0.0.0:8754
2020-01-26 17:10:37 | [e]PacketSenderConfiguration::fetch_config(): Unable to parse jsoned response
2020-01-26 17:10:37 | [d]TLSConnection::ctor(): Enable verify_peer in production code!
2020-01-26 17:10:37 | [main][i]Reader thread started
2020-01-26 17:10:37 | [time][i]Synchronizing time via NTP
2020-01-26 17:10:37 | [reader][i]Initializing reader
2020-01-26 17:10:37 | [reader][i]Connecting to unknown receiver via (tcp://127.0.0.1:30005)
2020-01-26 17:10:37 | [reader][i]Connected to the receiver, configuring
2020-01-26 17:10:37 | [reader][i]Configured, processing messages
2020-01-26 17:10:37 | [master][i]Starting processing thread
2020-01-26 17:10:37 | [reader][i]Timestamp source changed from UNKNOWN to SYSTEM-UNCERTAIN
2020-01-26 17:10:37 | [time][i]Time synchronized correctly, offset +5.541 seconds
2020-01-26 17:10:37 | [main][i]Feed Network client started
2020-01-26 17:10:37 | [feed][i]Downloading configuration
2020-01-26 17:10:37 | [feed][d]fetching configuration
2020-01-26 17:10:37 | [reader][i]Timestamp source changed from SYSTEM-UNCERTAIN to SYSTEM-VALIDATED
2020-01-26 17:10:37 | [feed][i]configuring decoder
2020-01-26 17:10:37 | [feed][c]Max range AIR: 350.0nm
2020-01-26 17:10:37 | [feed][c]Max range GND: 100.0nm
2020-01-26 17:10:37 | [feed][i]configuration changed
2020-01-26 17:10:37 | [feed][i]defined 3 servers
2020-01-26 17:10:37 | [feed][c]Timestamps: optional
2020-01-26 17:10:37 | info | Stopping ReceiverACSender threads for feed
2020-01-26 17:10:37 | info | Configured ReceiverACSender: 185.218.24.22:8099,185.218.24.23:8099,185.218.24.2 4:8099, feed: CYYZ52, send_interval: 5s, max age: 15s, send metadata: true, mode: 1, filtering: true
2020-01-26 17:10:37 | info | [stats]Stats thread started
2020-01-26 17:10:37 | [feed][n][email protected]:8099/UDP
2020-01-26 17:10:37 | [feed][n]connecting
2020-01-26 17:10:37 | info | Network thread connecting to 185.218.24.22:8099 for feed CYYZ52
2020-01-26 17:10:37 | [feed][n]connected via UDP (fd 27)
2020-01-26 17:10:37 | [feed][i]Feed connected
2020-01-26 17:10:37 | [feed][n]working
2020-01-26 17:10:41 | [feed][i]sent 8,0 AC
2020-01-26 17:10:46 | [feed][i]sent 10,0 AC
2020-01-26 17:10:51 | [feed][i]sent 11,0 AC
2020-01-26 17:10:56 | [feed][i]sent 11,0 AC
2020-01-26 17:11:02 | [feed][i]sent 13,0 AC
2020-01-26 17:11:07 | [feed][i]sent 11,0 AC
 
Back
Top