Server Installation: Unterschied zwischen den Versionen
(→Dienste: ACPI) |
(→SSH-Server) |
||
Zeile 46: | Zeile 46: | ||
#RSAAuthentication yes | #RSAAuthentication yes | ||
#PasswordAuthentication no | #PasswordAuthentication no | ||
+ | |||
+ | * auf Opennet Servern ist stets ''molly-guard'' installiert | ||
==== OpenVPN ==== | ==== OpenVPN ==== |
Version vom 15. Mai 2013, 15:55 Uhr
Inhaltsverzeichnis |
Gateway Server
Kurzer Leitfaden für das Aufsetzen neuer Vereinsgateways.
Basisinstallation
Allgemeines zur Grundinstallation siehe auch unter Dienste-Server.
Konfiguration
Netzwerk-Geräte
TODO - veraltet, überarbeiten!
- Externe und Intern IP in /etc/network/interfaces konfigurieren. Dabei eth0=extern und eth1=intern
- lege gatewaysetup.sh und iptables_dnat.autogenerated in /etc/network ab
- lege ein helper script zum konditionalen aufruf von /etc/network/gatewaysetup.sh in /etc/init.d/gatewaysetup (siehe z.B. izumi setup)
- linke /etc/init.d/gatewaysetup auf /etc/rcS.d/S40gatewaysetup
- Das Script /etc/network/if-up.d/openvpn starten OVPN
Routing / OLSR
- OLSR /etc/olsrd.conf, Defaults mit:
UseHysteresis no LinkQualityLevel 2 Interface "eth1" { <defaults> } Hna4 { # ipkg repositories 195.56.146.238 255.255.255.255 212.91.225.42 255.255.255.255 # downloads.openwrt.org 78.24.191.177 255.255.255.255
}
- WAN-Routing /etc/network/ip-up.d/gatewaysetup.sh (Kopie besorgen)
SSH-Server
- ggf. neue Schlüssel erstellen in /etc/ssh/
- RSA-Host-Key per ssh-keygen -b 2048 -t rsa -f ssh_host_rsa_key
- DSA-Host-Key per ssh-keygen -b 2048 -t dsa -f ssh_host_dsa_key
- Einige änderungen in /etc/ssh/sshd_config
PermitRootLogin without-password #RSAAuthentication yes #PasswordAuthentication no
- auf Opennet Servern ist stets molly-guard installiert
OpenVPN
Siehe Server Installation/OpenVPN.
Nameserver
- Erforderliche Pakete installieren: bind9
- falls noch kein rndc-Key - rndc absichern per rndc-conf -a
- mkdir /var/log/bind; chown bind /var/log/bind
- /etc/bind/named.conf.options:
key dnskey.opennet { algorithm hmac-md5; secret "<<<<Key von anderem Gateway holen>>>>"; }; server 139.30.241.202 { keys dnskey.opennet; }; options { directory "/var/cache/bind"; auth-nxdomain no; # conform to RFC1035 allow-recursion { any; }; # allow queries from non-localhost listen-on-v6 { any; }; # activate IPv6 check-names slave ignore; # ignoriert unterstrich in Domainnamen vom ON }; logging { channel logfile { file "/var/log/bind/named.log" versions 2 size 1M; print-time yes; # syslog local2; print-category yes; print-severity yes; severity info; }; category default { logfile; }; category general { logfile; }; # category queries { null; }; # category lame-servers { null; }; # category update { null; }; };
- /etc/bind/named.conf.local:
// on - forward (includes vpn) zone "on." { type slave; file "db.on"; masters {139.30.241.202;}; }; //on - reverse zone "168.192.in-addr.arpa" { type slave; file "db.192.168"; masters {139.30.241.202;}; }; //on-vpn - reverse zone "1.10.in-addr.arpa" { type slave; file "db.10.1"; masters {139.30.241.202;}; }; //on-ugw - reverse zone "2.10.in-addr.arpa" { type slave; file "db.10.2"; masters {139.30.241.202;}; };
- lokale Namensauflösung /etc/resolv.conf:
search on nameserver 127.0.0.1
- Überschreiben der Namensauflösung durch ppp-Einwahl unterbinden - /etc/ppp/peers/provider:
#usepeerdns
- Nameserver starten: /etc/init.d/bind9 start
- Funktion prüfen: ps aux|grep bind und rndc status
- Fehlermeldungen suchen: grep named /var/log/daemon.log|tail -20 bzw. tail /var/log/bind/named.log (falls Logfile vorhanden)
- Zonen-Transfer manuell durchführen: rndc retransfer on
Webserver
- apache2 installieren
- in /etc/apache2/ports.conf eintragen: Listen 80
- Default-Site deaktivieren: #RedirectMatch ^/$ /apache2-default/
- Default-Site unter /var/www/apache2-default ggf. löschen
- CGI-BIN deaktivieren: /etc/apache2/mods-enabled/cgi.load löschen; ggf. in sites-enabled/ den cgi-bin Eintrag löschen
- Server-Signature per "ServerSignature Off" in "sites-enabled/000-default" deaktivieren
Timeserver
- ntpdate und ntpd installieren
- beide beim Systemstart starten lassen (zur Sicherheit zuerst ntpdate, dann ntpd)
- Wenn beim Aufruf von ntp-keygen die Fehlermeldung RAND_load_file /root/.rnd not found or empty kommt kann man sich mit dd if=/dev/random of=/root/.rnd bs=512 count=1 helfen.
sudo su mkdir -p /etc/ntp chmod go-rx /etc/ntp cd /etc/ntp ntp-keygen -M chmod go-rxw * chmod go+rx /etc/ntp ln -sf ntpkey_MD5key* keys
- In /etc/ntp.conf sind dann folgende Einträge erforderlich:
keys /etc/ntp/keys keysdir /etc/ntp/ trustedkey 10 requestkey 10 restrict 127.0.0.1
- Das Script Server_Installation/ntpdrehash als /usr/local/bin/ntpdrehash ablegen:
- Und schliesslich /etc/ppp/ip-up.d/70ntpdrehash anlegen:
#!/bin/sh /usr/local/bin/ntpdrehash | ntpdc &
MTA (Mail Transfer)
Es ist sinnvoll einen MTA zu konfigurieren damit Statusmeldungen per Mail an unser administratives Postfach noc@opennet-initiative.de geschickt werden können. Wir benutzen dazu einen gemeinsamen Relayhost mit SMTP Auth unter postfix auf jedem Gateway.
Benötigte Pakete: postfix (bei der Debian installation Satellite system auswählen)
Konfiguriert wird Postfix über /etc/postfix/main.cf.
# hostname/domain definition # myhostname = <host> # (nicht zwingend erforderlich. Inhalt von /etc/hostname wird verwendet) mydomain= opennet-initiative.de # Sollte mit dem DNS Namen fuer unsere ip uebereinstimmen # Ist nicht zwingend erforderlich wenn wir smtp-auth verwenden # smtp_helo_name = defaultroute=$(route -n|grep ^0.0.0.0); defaultif=${defaultroute##* }; ipaddr=$(ifconfig $defaultif|grep "inet addr"); ipaddr2=${ipaddr##*inet addr:}; dig -x ${ipaddr2%% *} #smtp_helo_name = FQDN.opennet-initiative.de # myorigin wird an lokal generierte Mails angehaengt. Sollte deswegen eine Domain sein die # Mails empfangen kann und wo es Postfaecher fuer root, cron usw. gibt. myorigin = $mydomain # Aliase für lokale User alias_maps = hash:/etc/aliases # Postfix ist nur fuer localhost zuständig mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 inet_interfaces = loopback-only # IPv6 inet_protocols = all # alle Mails sollen über unseren Relayhost gesendet werden # (mit Dynamischen IP's und ohne PTR-Record sollte man lieber keine Mails versenden) relayhost = relayhost.opennet-initiative.de # Zum authentifizieren beim Relayhost benötigen wir SMTP Auth # ''/etc/postfix/sasl_passwd'' hat folgendes Format # hostname user:pass # Wichtig: es müssen folgende pakete installiert sein: libsasl2-2 libsasl2-modules # smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd smtp_sasl_security_options = # der relayhost erlaubt smtp-auth nur verschlüsselt smtp_use_tls = yes
Mail-Namen in /etc/mailname anlegen:
<host>.opennet-initiative.de
Alias-Namen in /etc/aliases anlegen:
postmaster: root abuse: root admin: root root: noc@opennet-initiative.de
Die Datei /etc/postfix/sasl/passwd anlegen und aktuellen Inhalt besorgen (z.B. von einem schon bestehenden Gateway). Danach noch die Datenbank Version der Datei mit postmap generieren und Zugriffsrechte setzen.
postmap /etc/postfix/sasl/passwd chown root.root /etc/postfix/sasl/passwd*; chmod 600 /etc/postfix/sasl/passwd*
Zudem ist noch eine kleine Änderung an /etc/postfix/master.cf notwendig. Damit legen wir fest das Postfix nur am lo-Interface lauscht:
sed -i -e "s/\(^smtp.*smtpd.*$\)/127.0.0.1:\1/" master.cf
Damit Nachrichten an den Nutzer root generell weitergeleitet werden, in die /etc/aliases den Eintrag root: noc@opennet-initiative.de setzen.
Häufig benötigte Kommandos:
- Konfiguraion neuladen: postfix reload
- Default Konfiguration ausgeben: postconf -d
- Nach Änderungen an /etc/aliases: postalias /etc/aliases
- Warteschlange prüfen: postqueue -p oder mailq
- Warteschlange manipolieren siehe man postsuper
- Versandlogging erfolgt über mail.* nach: /var/log/mail.log
- Fehler werden nach /var/log/syslog geschrieben
- Versand prüfen: echo "testmail" > mailx -s testmail <user> (z.B. <user>=root)
Policy Routing
Für Server wird inzwischen Policy Routing verwendet, um die lokalen Routen (z.B. zum Default-GW) von den Opennet-internen OLSR Routen zu trennen.
- Paket iproute installieren
- /etc/iproute2/rt_tables ergänzen:
250 hardroutes
- /etc/network/if-up.d/policy_routing.sh erstellen, ggf. Interface anpassen
#!/bin/sh if [ $IFACE = 'eth0' ] ; then # leave those to olsr ip route add throw 192.168.0.0/16 table hardroutes ip route add throw 10.0.0.0/8 table hardroutes # everything else, send through the gateway to the rest of the world ip route add 0.0.0.0/0 via $IF_GATEWAY table hardroutes ip rule add table hardroutes pref 10 fi
- bei User-GW Server in /etc/network/interfaces ergänzen:
auto lo:0 iface lo:0 inet static address 192.168.0.247 netmask 255.255.255.255
VPN-Status
- Original-Skript http://pablohoffman.com/software/vpnstatus/vpnstatus.txt
- leicht angepasst für Opennet Bedürfnisse
- Zugriff in openvpn-conf erlauben: management localhost <port>
Dienste Server
Basisinstallation
- Booten, z.B. per CD oder PXE mit Knoppix
- Dateisystem vorbereiten:
- cfdisk /dev/<device>, z.B. /dev/hda (IDE) oder /dev/sda (SCSI)
- primäre Partitionen: 32 MB boot (Typ 83 + bootable), 500 MB swap (Typ 82), Rest für / (Typ 83)
- boot mit EXT2: mkfs.ext2 /dev/<device>1
- swap mit SWAP: mkswap /dev/<device>2
- root mit XFS: mkfs.xfs /dev/<device>3
- Debian (aktuelle Stable) installieren
- a) Neuinstallation, vgl. Debian GNU/Linux-Installationsanleitung
- c) per debootstap von Knoppix aus, vgl. Debian GNU/Linux-Installationsanleitung - C.4
- b) als Kopie von vorhandenem GW, z.B. izumi
- Filesysteme auf izumi ggf. mounten, crontab Einträge ggf. deaktivieren (CPU-Last)
- boot einbinden: mount /dev/<device>1 /mnt/
- boot spiegeln: rsync -axz --numeric-ids root@izumi.on:/boot/ /mnt/
- root einbinden: umount /mnt; mount /dev/<device>3 /mnt/
- root spiegeln: rsync -axz --numeric-ids root@izumi.on:/ /mnt/
- Minimale Device-Nodes anlegen (bei UDEV): MAKEDEV null console zero
Hilfsmittel: RAID mit mdadm
- spezieller Partitionstyp FD (Linux raid autodetect), mit cfdisk einstellen
- direkt: mdadm --create --verbose /dev/md0 --level=raid1 --raid-devices=2 /dev/sda1 /dev/sdb1
- oder auch schrittweise:
- mdadm --create --verbose /dev/md0 --level=raid1 --raid-devices=2 /dev/sda1 missing
- Daten in /sda1 einspielen
- mdadm --manage /dev/md0 --add /dev/sdb1
- Status prüfen per: mdadm --detail /dev/md0
- Metadevice (md0) sollte "clean" anzeigen
- Physical Disks (sda1, sdb1) sollten "active sync" anzeigen
Grub2
- Grub2 installieren und Kernel einbinden
apt-get install grub-pc grub-install /dev/saX # alternativ besser wieder dpkg-reconfigure... update-grub
- Grub2 Installation ggf. später wieder anpassen
dpkg-reconfigure grub-pc
- Kontrolle über /boot/grub/grub.cfg und /boot/grub/device.map und ggf.
grub-install --recheck /dev/sdX
- Bei der Nutzung von Software RAID (md) Grub auch in beiden Physical Disks installieren
- Zuordnung der Festplatten in Grub2 erfolgt stets über UUIDs, Kontrolle über (hier Bsp. mit RAID via md):
$:~# cat /boot/grub/device.map (hd0) /dev/disk/by-id/ata-WDC_WD10EARX-22N0YB0_WD-WMC0T0893214 (hd1) /dev/disk/by-id/ata-WDC_WD10EARX-22N0YB0_WD-WMC0T0882613 $:~# ls -l /dev/disk/by-uuid lrwxrwxrwx 1 root root 10 May 14 14:03 15e2985b-d7cf-47ed-a0b5-ddc9cb41a7ef -> ../../dm-3 lrwxrwxrwx 1 root root 10 May 14 14:03 97165c10-cc81-4766-897e-952741036bae -> ../../dm-5 lrwxrwxrwx 1 root root 9 Jan 4 16:13 e4369ea9-7b23-447c-a4c1-625b2f8878f9 -> ../../md0 $:~# grep -i uuid /boot/grub/grub.cfg search --no-floppy --fs-uuid --set e4369ea9-7b23-447c-a4c1-625b2f8878f9 search --no-floppy --fs-uuid --set e4369ea9-7b23-447c-a4c1-625b2f8878f9 search --no-floppy --fs-uuid --set e4369ea9-7b23-447c-a4c1-625b2f8878f9 linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=e4369ea9-7b23-447c-a4c1-625b2f8878f9 ro quiet search --no-floppy --fs-uuid --set e4369ea9-7b23-447c-a4c1-625b2f8878f9 linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=e4369ea9-7b23-447c-a4c1-625b2f8878f9 ro single search --no-floppy --fs-uuid --set e4369ea9-7b23-447c-a4c1-625b2f8878f9 linux /boot/vmlinuz-2.6.26-2-amd64 root=UUID=e4369ea9-7b23-447c-a4c1-625b2f8878f9 ro quiet search --no-floppy --fs-uuid --set e4369ea9-7b23-447c-a4c1-625b2f8878f9 linux /boot/vmlinuz-2.6.26-2-amd64 root=UUID=e4369ea9-7b23-447c-a4c1-625b2f8878f9 ro single
Minimalkonfiguration
- Hostname /etc/hostname + /etc/mailname
- Zeitzone /etc/timezone -> UTC
- Kernelmodule /etc/modules
- Dateisysteme /etc/fstab
/dev/<device>1 /boot ext2 noauto,noatime 1 1 /dev/<device>3 / xfs noatime 0 0 /dev/<device>2 none swap sw 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0
Virtualisierung
Bezüglich KVM siehe Server Installation/KVM.
Dienste
ACPI
- alle Opennet Server haben einen acpid Dienst, so ist es möglich per Taster oder KVM den Server ein Signal zum herunterfahren zu senden
- das parallel häufig mitinstallierte dbus sowie consolekit und policykit ist nicht notwendig, kann deinstalliert werden
Ferm (Firewall)
Siehe Server Installation/ferm.
Trac (Projektmanagement)
Siehe Server Installation/Trac.
MediaWiki
Siehe Server Installation/MediaWiki.
Postgresql
- Installation per APT
- bei Bedarf Zugriffe erweitern in /etc/postgresql/<version>/main/pg_hba.conf
# allow other connections to DB # added mathias mahnke 2012-05-12 # # "local" is for Unix domain socket connections only local all all ident # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5
- nach einem Debian od. Postgres Major Release Wechsel muessen die DBs manuell migriert werden (Versionen anpassen):
pg_dropcluster 9.1 main --stop /etc/init.d/postgresql restart pg_upgradecluster 8.4 main .. Rechte in /etc/postgresql/<version>/main/pg_hba.conf pruefen .. .. Anwendung pruefen, wenn okay, fortfahren .. pg_dropcluster 8.4 main apt-get remove postgresql-8.4 postgresql-client-8.4
- hierbei wurde zunächst die Default DB gelöscht und dann per Migr neu angelegt mit den Daten der urspr. DB
IRC
- ircd-hybrid, IRC Server - als fertiges Debian Paket noch ohne SSL Support
- hybserv, Dienste für IRC Netz (Nickname, Channel, Memo...)
- logbot.pl, Bot für IRC Netz
- Vorgang zur Installation des ircd mit SSL Support (entspr. CRYPTLINKS.txt in Debian Package Doku):
cd /usr/src/ apt-get source ircd-hybrid apt-get build-dep ircd-hybrid cd ircd-hybrid-<latest-version> USE_OPENSSL=1 fakeroot debian/rules binary cd .. dpkg -i ircd-hybrid_<latest-version>.ssl1_<arch>.deb
- Konfigurationsfile /etc/ircd-hybrid/ircd.conf anpassen:
listen { port = 6667; flags = hidden, ssl; port = 6669; flags = ssl; port = 6697; };
- nach der Installation via "netstat -l" überprüfen
Monitoring
apticron
Derzeit nicht verwendet, liefert zu häufig Fehler.
- prüft den Update Status des Debian OS
- Default-Installation ausreichend, liefert Änderungen per Mail an root
- werden durch postfix dann automatisch an das ONI-NOC gesendert
apt-listchanges
- zeigt eine Zusammenfassung des Paket Changelogs bei der Instalation
- Versand parallel an Opennet NOC (via /etc/aliases - "root : noc@....")
- Installation per apt-get install apt-listchanges, keine weitere Konfiguration notwendig
munin
- erzeugt Graphen zum Systemzustand, inbesondere Netztraffic
- Default-Installation ausreichend, Zugriff via Web (apache)
- Allow from All in /etc/apache2/conf.d/munin aufnehmen
monit
- Debian Default-Installation ausführen und Opennet Config-File unter /etc/monit/conf.d/opennet ablegen
- Dienst in /etc/default/monit aktivieren
- Check auf Default-GW (IP) und PID-Files (Pfade) prüfen
- überwacht dann dauerhaft Prozesse und startet diese ggf. neu
- Zugriff per https://<host> und Username/Passwort (siehe Config-File)
vnstat
- vnstat installieren: apt-get install vnstat; vnstat -u -i <wan-interface>
- wird regelmässig durch den cron gestartet
- Werte können an der Console abgefragt werden, z.B. Monatswerte per vnstat -m
logcheck
- derzeit nicht im Einsatz auf Opennet Servern!
- prüft Logdateien auf Anomalien und sendet dieses per E-Mail
- Installation per apt-get install logcheck und Konfiguration von /etc/logcheck/logcheck.conf:
FQDN=0 MAILASATTACH=0 REPORTLEVEL="server" SENDMAILTO="noc@opennet-initiative.de" TMP="/tmp"
- Ausnahmen bitte in /etc/logcheck/ignore.d.server/opennet ablegen
Nagios
- Generator-Skript für AP-Überwachung - nagios_opennet_gen.sh
#!/bin/bash i=0 while [ $i -le 255 ] do i=$[$i+1] echo "define host { host_name #NUMBER#.aps.on use generic-host }" | sed -s "s/#NUMBER#/$i/" >> nagios_opennet.conf done exit 0
- Deaktivierung von E-Mail-Benachrichtung - contacts_nagios2.cfg
service_notification_options n host_notification_options n
Backup
Rsync
- die meisten Server werden zu Server/akito per rsync gesichert
- hierzu wird folgendes Script (/usr/local/sbin/backup.sh) als Grundgerüst je Server verwendet (hier heartofgold als Beispiel):
#!/bin/bash FORMAT='%H:%M:%S %d.%m.%Y'; LOGFILE=/var/log/backup.log renice 19 -p $$ >/dev/null ionice -c 3 -p $$ echo "$(date +"$FORMAT") Start Backup: hog" >> $LOGFILE rsync -azx --numeric-ids --delete --bwlimit 300 --exclude-from /tank/exclude/ALL.txt \ --exclude-from /tank/exclude/heartofgold.txt hog.on-i.de:/ /tank/hog/ echo "$(date +"$FORMAT") Start Backup: fertig" >> $LOGFILE
- neue Server dort entsprechend ergänzen
Tartarus
- externes Backup der Server, wird für Server bei Hetzner verwendet (Hetzner Backup Service your-server.de)
- Zugangsdaten im Conf-File hinterlegen und Start via /etc/crontab
15 4 2-31 * * root /usr/sbin/tartarus -i /etc/tartarus/www.conf >> /var/log/tartarus.log 2>&1 15 4 1 * * root /usr/sbin/tartarus /etc/tartarus/www.conf >> /var/log/tartarus.log 2>&1
Karten-Software
Die Opennet-Karten basieren auf den Link Quality Daten die OLSR bereit stellt. Ein PHP Script bereitet diese Daten auf und legt sie auf dem Webserver in einem Textfile ab. Es gibt die Übersichtskarten und die AP-Positionskarten.
Übersichtskarten
Die Übersichtskarten werden über ein iFrame und der URL wiki.opennet-initiative.de/osm.php?lat=54.085&lng=12.12&zoom=14&maptype=gmap in Wiki-Seiten eingebunden. Statt dem Maptype gmap kann man auch mapnik verwenden. Mapnik Karten basieren auf dem Kartendaten von Openstreetmap.
AP-Positionskarten
Durch das Wiki-Plugin OnApPos lassen sich Karten erzeugen die einen AP und dessen Nachbarn darstellt. Um z.B. eine Karte für AP100 und dessen Nachbarn zu erzeugen würde man folgendes einfügen:
<OnApPos>100</OnApPos>
Damit die Karte passend am rechten Rand positioniert wird kann man folgende Vorlage verwenden:
{{Accesspoint Kartenposition|ap=100}}
PHP Link Quality Script
Wir befinden uns auf dem Webserver. Über ein Cron Script (/usr/local/sbin/get_topo) werden alle 60 Sekunden per OLSR-TXT Plugin die Topo und HNA Informationen ausgelesen und in Text Dateien (/var/www/olsrtopo/hna|topo) geschrieben. Diese werden anschließend über das PHP Script /var/www/olsrtopo/engine.php ausgewertet. Das Ergebnis ist die Datei /var/www/olsrtopo/topo_output.csv die als Grundlage für die Karten-Scripte dient.
Das Script engine.php führt folgende Aktionen aus.
- HNA's aus /var/www/olsrtopo/hna einlesen.
- AP Liste im Wiki Parsen und Koordinaten sammeln.
- Topo aus /var/www/olsrtopo/topo einlesen.
- Netz Qualität der einzelnen AP's berechnen. Dabei wird von den AP's ausgegangen die direkten Kontakt mit einem Gateway haben das HNA's ausgibt. Von hier werden absteigend die Links verfolgt. Die LQ eines AP's ist die LQ des schlechtesten Link zum nächsten Gateway.
- Liste mit Links zwischen den AP's ausgeben.
- Liste mit AP's ausgeben.
- Die Daten landen in topo_output.csv.
- Daten werden ein mal pro Minute aktualisiert.
Python Link Quality Script
Das Python Script (von sh01) läuft auf Opennet_Server/heartofgold und verwendet ein spezielles OLSR Plugin um an die LQ Daten zu kommen. Die Daten landen auf Opennet_Server/heartofgold in /var/www/htdocs/topology/olsr/alfredi_output.csv. Das passiert alle 5 Minuten durch einen Cronjob.
Auf www.on-i.de läd ein weiterer Cronjob /usr/local/sbin/olsrtopoloader alle 5 Minuten die csv-Datei auf den Webserver nach /var/www/olsrtopo/alfredi_output_old.csv. Durch zwei Mediawiki Erweiterungen können die Informationen nun im Wiki angezeigt werden. Diese Daten werden aktuell nicht verwenden. Zum Vergeichen der Karten kann man alfredi_output_old.csv nach topo_output.csv kopieren.
OpenLayers Karte
- siehe Geronimo (früher Openlayers)
- aufgeteilt in Programmteil (nicht öffentlich, /var/www/map/) und Webanteil (öffentlich, /var/www/htdocs/map/)
- Triggern von www.opennet-initiative.de/api/ auf /var/www/map/src/geronimoCGI.py mittels WSGI
- Crontab notwendig (Zugriffsdaten Wikibot einsetzen) mit
*/10 * * * * /var/www/map/geronimo.py