Benutzer-Werkzeuge

Webseiten-Werkzeuge


freifunk:webserverkonfiguration

Webserver-Konfiguration

Dienste

Name Zweck ffmd-repo Ort inst. Version autostart sonstiges
alfred mesh-metadaten alfred 2014.2.0
hopglass-server hopglass-server hopglass-server /opt/hopglass-server module branch /etc/hopglass-server/default/config.json
hopglass hopglass hopglass /opt/hopglass
ffmap-backend backend zu Map ffmap-backend /usr/local/lib/ffmap
grafana visualisierung statistik 6.2.1
Prometheus Grafana-Stats Backend offen 2.9.2 / 2019-04-24 autostart über Docker Policy
meshviewer map meshivewer /var/www/map/ anpassen der neuen Version (grüner/blauer Punkt)
/var/www/map/config.json Variable: current-firmware - not used
wiki dokumentation ?

weitere Dinge

API

fastd

  • Änderung der startmethode von /etc/init.d/ zu systemdservice (systemctl start fastd@magdeburg)

grafana:

  • service grafana-server start/stop/reboot (see documentation)
  • config: /etc/grafana/grafana.ini
      [server]
      root_url = https://map.md.freifunk.net/stats/
      [analytics]
      check_for_updates = true
      [auth.anonymous]
      enabled = true

  • systemctl start grafana-server
  • /usr/lib/systemd/system/grafana-server.service:

      [Unit]
      Description=Starts and stops a single grafana instance on this system
      Documentation=http://docs.grafana.org
      Wants=network-online.target
      After=network-online.target
    
      [Service]
      EnvironmentFile=/etc/default/grafana-server
      User=grafana
      Group=grafana
      Type=simple
      Restart=on-failure
      WorkingDirectory=/usr/share/grafana
      ExecStart=/usr/sbin/grafana-server  \
      --config=${CONF_FILE}                   \
       --pidfile=${PID_FILE}                 \
          cfg:default.paths.logs=${LOG_DIR}   \
          cfg:default.paths.data=${DATA_DIR} \
          cfg:default.paths.plugins=${PLUGINS_DIR}
      LimitNOFILE=10000
      TimeoutStopSec=20
      UMask=0027
    
      [Install]
      WantedBy=multi-user.target      

  • graphana holt sich die Daten vom gw2, auf dem prometheus die daten in eine DB speichert (http://130.185.109.142:9090/graph)

hopglass

  • config: /opt/hopglass/web/build/config.json
      {
      "dataPath": "data/",
      "siteName": "Freifunk Magdeburg",
      "mapSigmaScale": 0.5,
      "showContact": false,
      "maxAge": 14,
      "mapLayers": [
          { "name": "OSM Standard",
          "url": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
          "config": {
              "type": "osm",
              "attribution": "<a target=\"_blank\" href=\"http://www.openstreetmap.org/\">Karte hergestellt aus OpenStreetMap-Daten</a> | <a rel=\"license\" target=\"_blank\" href=\"http://opendatacommons.org/licenses/odbl/\">Open Database License (ODbL)</a>",
      "maxZoom": 19
          }
      },
      { "name": "OSM deutscher Stil",
          "url": "http://a.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png",
          "config": {
                  "type": "osm",
          "attribution": "<a target=\"_blank\" href=\"http://www.openstreetmap.org/\">Karte hergestellt aus OpenStreetMap-Daten</a> | <a rel=\"license\" target=\"_blank\" href=\"http://opendatacommons.org/licenses/odbl/\">Open Database License (ODbL)</a>",
      "maxZoom": 18
          }
      },
      { "name": "MapQuest",
          "url": "https://otile{s}-s.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.jpg",
          "config": {
      "subdomains": "1234",
      "type": "osm",
      "attribution": "Tiles &copy; <a href=\"https://www.mapquest.com/\" target=\"_blank\">MapQuest</a>, Data CC-BY-SA OpenStreetMap",
      "maxZoom": 17
          }
      },
      {
      "name": "Stamen.TonerLite"
      }
      ],
      "siteNames": [
      { "site": "ffmd", "name": "Magdeburg" }
      ]
      }

  • update: cd /opt/hopglass/web/ ; git pull; npm install; grunt

hopglass-server

https://libraries.io/github/hopglass/hopglass-server

  • config: /etc/hopglass-server/default/
  • aliases.json:
        {
          "d2f429996861": {
            "firstseen": "2016-04-07T17:49:18.252Z",
            "nodeinfo": {
              "node_id": "d2f429996861",
              "owner": {
                "contact": "kontakt@md.freifunk.net"
              },
              "network": {
                "mac": "d2:f4:29:99:68:61",
                "mesh_interfaces": [
                  "d2:f4:29:99:68:61"
                ],
                "mesh": {
                  "bat0": {
                    "interfaces": {
                      "tunnel": [
                        "d2:f4:29:99:68:61"
                      ]
                    }
                  }
                }
              },
              "hostname": "gw1"
           },
            "neighbours": {
              "batadv": {
                "d2:f4:29:99:68:61": {}
              }
            }
          }        
          "be981f07ffa3": {
            "firstseen": "2016-04-07T17:49:18.252Z",
            "nodeinfo": {
              "node_id": "be981f07ffa3",
              "owner": {
                "contact": "kontakt@md.freifunk.net"
              },
              "network": {
                "mac": "be:98:1f:07:ff:a3",
                "mesh_interfaces": [
                  "be:98:1f:07:ff:a3"
                ],
                "mesh": {
                  "bat0": {
                    "interfaces": {
                      "tunnel": [
                        "be:98:1f:07:ff:a3"
                      ]
                    }
                  }
                }
              },
              "hostname": "gw2"
           },
            "neighbours": {
              "batadv": {
                "be:98:1f:07:ff:a3": {}
              }
            }
          }
        }          

  • config.json:

      {
      "receiver": {
      "receivers": [
        { "module": "announced",
          "config": {
            "interval": {
              "statistics": 60,
              "nodeinfo": 500
            }
          }
        },
        { "module": "aliases",
          "config": {
            "file": "./aliases.json"
          },
          "overlay": true
        }
      ],
      "ifaces": [
        "bat0"
      ],
      "storage": {
        "file": "./raw.json"
      },
      "purge": {
        "maxAge": 14,
      }
      },
      "provider": {
      "offlineTime": 900
      },
      "webserver": {
      "port": 4000
      }
      }       

  • systemctl start/stop hopglass-server@default
  • /usr/lib/systemd/system/hopglass-server@.service

      [Unit]
      Description=The HopGlass Server collects data from the Freifunk network (%I)
      [Service]
      Type=simple
      User=hopglass
      Group=hopglass
      WorkingDirectory=/etc/hopglass-server/%I/
      ExecStart=/usr/bin/node --harmony /opt/hopglass/server/hopglass-server.js
      Restart=always
    
      [Install]
      WantedBy=multi-user.target

  • Daten werden gespeichert unter /etc/hopglass-server/default/raw.json

Query Location Description
http://web1.md.freifunk.net:4000/nodes.json HopGlass nodes.json v2
http://web1.md.freifunk.net:4000/graph.json HopGlass graph.json v1
http://web1.md.freifunk.net:4000/mv/nodes.json Meshviewer nodes.json v2
http://web1.md.freifunk.net:4000/mv/graph.json Meshviewer graph.json v1
http://web1.md.freifunk.net:4000/raw.json Raw data collected, same as the raw.json save file
http://web1.md.freifunk.net:4000/hosts hosts file to be placed in /etc/hosts
http://web1.md.freifunk.net:4000/metrics Prometheus metrics
http://web1.md.freifunk.net:4000/wifi-aliases.txt Aliases file for Wifi Analyzer app
http://web1.md.freifunk.net:4000/WifiAnalyzer_Alias.txtAliases file for Wifi Analyzer app
http://web1.md.freifunk.net:4000/ffapi.json Freifunk API file
http://web1.md.freifunk.net:4000/nodes.zone Named DNS zone file
freifunk/webserverkonfiguration.txt · Zuletzt geändert: 2021-02-12 21:14 von kwasir