Announcement

Collapse
No announcement yet.

How to Install dump1090-fa and fr24feed on Fedora & RHEL

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to Install dump1090-fa and fr24feed on Fedora & RHEL

    How to Install dump1090-fa and fr24feed on Fedora & Red Hat Enterprise Linux (RHEL)

    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 FR24 Data Feeder (Scroll down to post #2)


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


    STEP-1: Install dump1090-fa

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


    RHEL- 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 instal complete package of tools.
    ## 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 Map 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 Fedora at localhost/dump1090-fa/

    Fedora32 - dump1090-fa - localhost.png


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

    RHEL 8.1 dump1090-fa.png



    Map display in browser of another computer on same LAN at IP-of-Fedora:8080

    Fedora32 - dump1090-fa - LAN.png
    Last edited by abcd567; 2020-02-14, 20:18.

  • #2
    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 and 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
    http://ip-of-rhel or fedora:8754


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


    RHEL fr24feed.png



    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]CYYZ52@185.218.24.22: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
    Last edited by abcd567; 2020-01-31, 03:57.

    Comment


    • #3
      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.

      2.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.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

      2.3 - create configuration file
      Code:
      sudo touch /etc/pfclient-config.json
      sudo chmod 666 /etc/pfclient-config.json
      sudo echo "{}" > /etc/pfclient-config.json

      2.4 - Setup systemd service for auto-start at boot, and for start, stop & status.
      2.4.1 - Create system user pfc to run the pfclient
      Code:
      sudo useradd --system pfc
      2.4.2 - Create a new blank file pfclient.service
      Code:
      sudo dnf install nano
      
      sudo nano /lib/systemd/system/pfclient.service
      2.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)

      2.5 - Enable the pfclient service by following command
      Code:
      sudo systemctl enable pfclient
      sudo systemctl restart pfclient
      
      sudo systemctl status pfclient
      2.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
      2.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.

      2.8 Useful Commands:
      Code:
      sudo systemctl status pfclient
      sudo systemctl restart pfclient
      sudo systemctl stop pfclient
      Last edited by abcd567; 2020-01-31, 08:33.

      Comment


      • #4
        PLACEHOLDER

        Comment

        Working...
        X