<> = 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 [[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 {{{ # 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: * ''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: {{{ # 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 ''...ext.graz.funkfeuer.at'' bzw.''...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 (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. ---- . CategoryDocumentation