Locked History Actions

ServerKonfigurationWeb

Konfiguration unserer Webservers (www.ffgraz.net)

{i} Diese Dokumentation beschreibt die Konfiguration unseres Webservers. Informationen zu allen anderen Servern kann auf der Seite ServerDokumentation gefunden werden.

Allgemeines

Der Webserver ist eine virtuelle Maschine auf unserem VM Wirt. Darauf läuft unsere Homepage, dieses Wiki, die Google-Map sowie das Manman System samt der kompletten Datenbank und dem Webinterface zur Vergabe von IP Adressen. Zusätzlich läuft unserer Voip Server (asterisk), silcd und der Master für unsere DNS Zonen welche automatisch aus unserer Datenbank generiert werden. Sämtliche Teilbereiche des Webservers sind als Apache2 VHost realisiert. Die entsprechenden Konfigurationsdateien liegen unter /etc/apache2/sites-available. Jeder VHost verwendet seine eigenen Log Dateien. Zusätzlich zu den unten erwähnten Diensten läuft auf unserem Webserver eine munin-node mithilfe derer Langzeitstatistiken über die wichtigsten Systemparameter geführt werden. Näheres ist unter Munin zu finden.

VHosts

Webseite

Zu erreichen ist die Seite unter dem folgenden Hostnamen:

  • www.graz.funkfeuer.at und www.ffgraz.net jeweils mit http und https (http redirected auf https)

  • graz.funkfeuer.at und ffgraz.net jeweils mit http und https (http redirected auf https)

Unsere Webseite ist mit Server Side Includes realisiert. Alle Dateien dafür liegen unter /srv/homepage/ ausserdem gibt es ein GIT Repository mit dem Namen homepage das sämtliche Dateien enthält. Das GIT Repository verfügt über einen Post-Commit Hook der (über ssh) ein update der Dateien am Webserver bewirkt. Damit ist es möglich die Inhalte der Homepage per GIT zu ändern. Änderungen am Design (CSS) können mit der Datei template/index.html getestet werden (diese Datei funktioniert größtenteils auch ohne SSI und kann somit lokal überprüft werden). Ausserdem liegt im GIT eine Readme Datei die die Konfiguration von Apache beschreibt um die volle Funktionalität zu testen. Unter dem GIT-Benutzer läuft ein Cron script (/etc/cron.d/homepage) das die nächsten Treffen ankündigt.

Zum Ändern der Homepage folgende Kommandos verwenden:

Wiki

Als Wiki ist moinmoin im Einsatz. Dazu ist das Paket python-moinmoin installiert. Zusätzlich zum Datenverzeichnis welches sich unter /var/www/wiki.graz.funkfeuer.at befindet gibt es dafür noch ein paar Konfigurationsdateien unter /etc/moin/. Wiki Logins werden über ManMan Passworte gemacht, dazu liegt unter /usr/share/pyshared/MoinMoin/auth/ die Datei manman.py und es ist das Paket python-mysqldb installiert. Ausserdem muss für ein paar Seiten das Macro DictColumns installiert sein. Dafür liegt unter /usr/share/pyshared/MoinMoin/macro/ die Datei DictColumns.py. Damit diese beiden Module von python gefunden werden gibt es die Datei /usr/share/python-support/python-moinmoin-ffgraz.public. Nach einem

# sudo update-python-modules /usr/share/python-support/python-moinmoin-ffgraz.public

Sollten die Module funktionieren. Zu erreichen ist das Wiki unter dem folgenden Hostnamen:

Googlemap

Von der Googelmap gibt es 2 Versionen eine stabile und eine Entwicklerversion. Beide liegen unter dem Verzeichnis /var/www/karte. Geschrieben sind beide in einer Kombination aus PHP und Javascript. Die Topologie Daten werden dabei von einem cron Script (/etc/cron.d/topo_karte) jede Minute vom Statistik Server (stats.ffgraz.net) in die beiden Wurzelverzeichnisse kopiert. Zu erreichen sind die Karten unter dem folgenden Hostnamen:

stabile Version:

Entwickler Version:

  • dev-karte.graz.funkfeuer.at und dev-karte.ffgraz.net jeweils mit http und https

Datenbank und Manman

Unser IP Vergabe System basiert hauptsächlich auf eine MySQL Datenbank namens mappe. Alle Interfaces mit denen man die Daten manipulieren kann sind auf der Seite db.ffgraz.net bzw db.graz.funkfeuer.at verlinkt. Zunächst mal läuft eine Instanz von PHPMyAdmin (Paket phpmyadmin). Ausserdem existiert noch das in Perl geschriebene Managementinterface welches unter /usr/lib/cgi-bin zu finden ist (ausser perl muss für dieses Interface das Paket ipcalc installiert sein). Zu guter letzt gibt es noch das Manman System. Dieses ist in Ruby on Rails geschrieben und befindet sich unter /srv/manman. Für das manman System muss das Paket mongrel und libmysql-ruby1.8 installiert sein. Ausserdem muss noch rails in der richtigen Version mittels Ruby gems installiert werden:

# sudo gem install -v=1.2.1 rails

Der eigentliche Manman Webserver ist der mongrel_rails Daemon welcher mit /etc/init.d/manman beim Systemstart geladen wird und auf localhost port 3000 läuft. Dieser Server ist nach aussen per Apache2 Http Proxy unter folgenden Hostnamen errichbar:

  • manman.graz.funkfeuer.at und manman.ffgraz.net jeweils mit http und https

Download Server

Dieser einfache Auto-Index VHost hat sein Wurzelverzeichnis unter /srv/download.graz.funkfeuer.at. Zu erreichen ist der Server unter:

  • http(s)://download.graz.funkfeuer.at/ bzw http(s)://download.ffgraz.net/

5Bone Karte

Ähnlich wie die beiden Googlemaps ist auch die 5Bone Karte in PHP und Javascript geschrieben und liegen unter /var/www/5bone-map. Die Daten werden direkt aus der Datenbank geholt. Zu erreichen ist die Karte unter:

  • http(s)://5bone.graz.funkfeuer.at/map/ bzw http(s)://5bone.ffgraz.net/map/

ext. Proxy

Der ext. Proxy ist ein Apache Http Proxy der die eigentlich nur intern erreichbaren Router-Webinterfaces unter der Domain <interface>.<router>.<location>.ext.graz.funkfeuer.at bzw.<interface>.<router>.<location>.ext.ffgraz.net auch von außen erreichbar macht.

DNS Master

Unsere 5 DNS Zonen werden alle 10 Minuten aus unserer Datenbank generiert und im Verzeichnis /etc/bind gespeichert wo auch die restlichen Konfigurationsdateien für bind liegen. Das dazu passende cron Script liegt unter /etc/cron.d/dns welches wiederum einen Script unter /usr/lib/cgi-bin aufruft. Derzeit serviert dieser Server die folgenden Zonen:

  • graz.funkfeuer.at
  • ffgraz.net
  • 10.in-addr.arpa
  • 150.33.193.in-addr.arpa
  • 151.33.193.in-addr.arpa

Voip Server / Asterisk

Unser Voip Server befindet sich ebenfalls auf diesem Server. Hierzu ist das Paket asterisk installiert. Alle Konfigurationsdateien dafür liegen unter /etc/asterisk. Darin befinden sich eine Menge verschiedene Dateien wovon nur wenige von der Standardkonfiguration abweichen. Hier ist eine Liste der veränderten Dateien:

  • extensions.conf
  • iax.conf
  • sip.conf
  • voicemail.conf

Funkfeuer Graz hat einen Teil der Durchwahlen von Funkfeuer Wien zur eigenen Verwaltung. Wir besitzen den Bereich von 1500 bis 1599. Unter der Durchwahl 1599 ist ein Echo Test installiert der zum Überprüfen der Funktionalität verwendet werden kann. Es existiert eine IAX Verbindung (iax.conf) zum Voip Server in Wien worüber der gesamte Nummernbereich erreichbar ist. In Wien läuft ein Echo Test unter 1600. Die meisten unserer vergebenen Durchwahlen sind per SIP vergeben (sip.conf). Welche Nummern vergeben sind kann man in der Datei extensions.conf nachlesen. Eingehend sind alle Durchwahlen über die Funkfeuer Enum Domain erreichbar: +43 780 700 888 <durchwahl ohne führende 1> (z.B.: +43 780 700 888 599 für unseren Echo Test).

SILC-Server

Weiters befindet sich ein SilcServer zur Echtzeitkommunikation (Chat) mit den folgenden Eckdaten auf diesem Server. Die entsprechende Konfiguration findet sich unter /etc/silcd/.

Fingerprint (SHA1): 269C 6754 D7A7 2FC3 78C7  3F5B E957 EEC4 5060 5AEE
Babbleprint (SHA1): xenin-sinih-gohep-lures-fyvis-lozoh-rupih-luras-gigek-bikov-voxax

Public Key:

-----BEGIN SILC PUBLIC KEY-----
AAABMgADcnNhACFVTj1TRVJWRVJfTkFNRSwgSE49d3d3LmZmZ3Jhei5uZXQAAAAC//0AAAE
AnoBnDEgDlE9mMAbxX8Z+1oaEkOzwYO5YrtA0z+tyc2Dbx0lEXvKc4HnSeszhA7qifW4z4h
yjvHTwpPzpNcYF+JrYxsk17kIqD8+Tyg8tQcY+ojjMrt5scMkddwiTgdf6DEYtqbY1IujdK
CDpQ1SyeY9V9XAZHrpFKOrvR9eKEIfEcebiCt9ZG6n1m3NjfV2m0i35u/v1+r2kpLn757aV
su8cCCH6/sUq66KOtN+mBqUKpgCKYjRIVahSrUhW061jHJW1FBkyfn4RXIbPqHpiwggt3rR
JE/Ihd9I0BeKhP4o/onHq1Rppd8AMBh2w4Zhw9JKjoBQ5/pQAtFf0cyVyDQ==
-----END SILC PUBLIC KEY-----

Der interne HTTP Server von silcd ist aktiviert und lauscht auf localhost am Port 5000. Auf der davon servierten Seite sind ein paar statistische Informationen zu finden.