CzADSB-Mlat server: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(Lighttpd)
(Lighttpd)
Řádka 98: Řádka 98:
 
== Lighttpd ==
 
== Lighttpd ==
 
  # prvne nainstalujeme WebServer. Doporu4uje se nginx, nebo lighttpd
 
  # prvne nainstalujeme WebServer. Doporu4uje se nginx, nebo lighttpd
  sudo apt install -y lighttpd jq
+
  sudo apt install -y lighttpd jq libdate-manip-perl
 
  sudo apt install -y lighttpd-modules-lua lua-luaossl
 
  sudo apt install -y lighttpd-modules-lua lua-luaossl
 
  sudo lighty-enable-mod alias
 
  sudo lighty-enable-mod alias

Verze z 3. 3. 2026, 20:59

Verze


Mapa:

Příprava

sudo apt update && sudo apt upgrade -y
sudo apt install -y git python3-pip python3 python3-venv gcc
sudo chmod 777 /opt/
git clone https://github.com/adsblol/mlat-server.git /opt/mlat-server
VENV=/opt/mlat-python-venv
sudo rm -rf $VENV
python3 -m venv $VENV
source $VENV/bin/activate
pip3 install -U pip
pip3 install numpy scipy pykalman python-graph uvloop ujson Cython setuptools
cd /opt/mlat-server
python3 setup.py build_ext --inplace
sudo chmod 755 /opt/

Po každé aktualizaci kódu znovu zkompilujte věci Cython:

source $VENV/bin/activate
cd /opt/mlat-server
python3 setup.py build_ext --inplace

Starý, již neplatný

pip3 install numpy scipy pykalman python-graph-core uvloop ujson Cython setuptools==81.0.0

Opusteni VENV:

deactivate

Servises

sudo cp /opt/mlat-server/systemd-service.example /usr/lib/systemd/system/mlat-server.service
sudo mcedit /usr/lib/systemd/system/mlat-server.service
ExecStart=/opt/mlat-python-venv/bin/python3 /opt/mlat-server/mlat-server \
    --client-listen 31090 \
    --motd "Ahoj, tohle je mlat-server czadsb.cz" \
    --filtered-basestation-listen 31003 \
    --basestation-listen 31004 \
    --write-csv /run/mlat-server/positions.csv \
    --work-dir /run/mlat-server \
    --check-leaks
sudo systemctl daemon-reload
sudo systemctl restart mlat-server.service

Help

options:
 -h, --help                      zobrazit tuto zprávu s nápovědou a ukončit

Client connections:
 --client-listen CLIENT_LISTEN   poslouchejte na hostiteli [host:]tcp_port[:udp_port] připojení od multilateration klientů. 
                                 Měli byste mít alespoň jeden z nich!
 --motd MOTD                     nastavit MOTD serveru odesílaný klientům.

Output methods:
 --write-csv WRITE_CSV           zapsat výsledky ve formátu CSV do lokálního souboru
 --basestation-connect BASESTATION_CONNECT
                                 připojit se k portu host:port a odeslat výsledky ve formátu Basestation.
 --basestation-listen BASESTATION_LISTEN
                                 naslouchat na portu [host:] a odesílat výsledky ve formátu Basestation klientům, kteří se připojují.
 --filtered-basestation-connect FILTERED_BASESTATION_CONNECT
                                 připojit se k portu host:port a odeslat výsledky ve formátu Basestation.
 --filtered-basestation-listen FILTERED_BASESTATION_LISTEN
                                 naslouchat na portu [host:] a odesílat výsledky ve formátu Basestation klientům, kteří se připojují.

Utility options:
 --work-dir WORK_DIR             adresář pro výstup ladění/statistik a blacklist
 --check-leaks                   spouštět pravidelné kontroly úniku paměti (vyžaduje balíček objgraph).
 --dump-pseudorange DUMP_PSEUDORANGE
                                 vypsat data pseudorashů ve formátu JSON do souboru
 --partition PARTITION           povolit dělení (n/počet)
 --tag TAG                       nastavit prefix názvu procesu (vyžaduje modul setproctitle)
 --status-interval STATUS_INTERVAL
                                 interval protokolování stavu v sekundách, násobek 15, -1 pro vypnutí, výchozí hodnota 15

Nastaveni

Stavajici

python3 /home/czadsb/mlat-server/mlat-server 
  --client-listen 40147:40147
  --basestation-listen :31003
  --write-csv /home/czadsb/mlat-server/positions.csv
  --work-dir /home/czadsb/mlat-server
  --check-leaks
  --motd Ahoj, tohle je mlat-server czadsb.cz

Lighttpd

# prvne nainstalujeme WebServer. Doporu4uje se nginx, nebo lighttpd
sudo apt install -y lighttpd jq libdate-manip-perl
sudo apt install -y lighttpd-modules-lua lua-luaossl
sudo lighty-enable-mod alias
sudo mkdir -p /var/www/html/mlat
# Kopírujeme celé složky, abychom zachovali strukturu
sudo cp -r /cesta/k/repozitari/syncmap /var/www/html/mlat/
sudo cp -r /cesta/k/repozitari/synctable /var/www/html/mlat/
# Vytvoření cesty sync/default uvnitř složky s mapou
sudo mkdir -p /var/www/html/mlat/syncmap/sync/default/

# Vytvoření symbolického odkazu na tvůj mlat-server soubor
sudo ln -s /run/mlat-server/sync.json /var/www/html/mlat/syncmap/sync/default/sync.json

Vytvoř soubor /etc/lighttpd/conf-available/89-mlat.conf:

# Mapa bude dostupná na /mlat/
alias.url += ( "/mlat/" => "/var/www/html/mlat/syncmap/" )
# Tabulka bude dostupná na /mlat-table/
alias.url += ( "/mlat-table/" => "/var/www/html/mlat/synctable/" )

# POVOLENÍ SYMLINKŮ (Bez tohoto originální skript data neuvidí)
server.follow-symlink = "enable"

# Nastavení pro správné načítání JSON bez kešování
$HTTP["url"] =~ "^/mlat/.*\.json$" {
    setenv.add-response-header += ( "Cache-Control" => "no-store, no-cache, must-revalidate, max-age=0" )
}
sudo lighty-enable-mod alias
sudo lighty-enable-mod setenv
sudo systemctl restart lighttpd


DData ze ctou ze souboru 'sync.json'.