Table of Contents
Konfiguration unserer Webservers (www.ffgraz.net)
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 ServerDokumentation#Munin|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:
- git clone ssh:git@git.ffgraz.net:22000/homepage.git * git commit -a * git push ==== 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 <file># sudo update-python-modules /usr/share/python-support/python-moinmoin-ffgraz.public </file> Sollten die Module funktionieren. Zu erreichen ist das Wiki unter dem folgenden Hostnamen: * wiki.graz.funkfeuer.at und wiki.ffgraz.net jeweils mit http und https - redirect auf http://wiki.graz.funkfeuer.at bzw. https://wiki.graz.funkfeuer.at ==== 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: * karte.graz.funkfeuer.at und karte.ffgraz.net jeweils mit http und https - redirect auf http://karte.graz.funkfeuer.at bzw. https://karte.graz.funkfeuer.at 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: <file># sudo gem install -v=1.2.1 rails </file> 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 * CategoryDocumentation
