Technische Infrastruktur: Unterschied zwischen den Versionen

 
(80 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 13: Zeile 13:
 
Die folgende Dokumentation dient zum einen dazu, interessierten die technischen Gegebenheiten des backspace näher zu bringen, zum anderen um zukünftigen Admins des backspace einen einfachen Einstieg zu ermöglichen. Im weiteren werden die Strukturen in ''outer'' und ''in-house'' eingeteilt. Versionen werden nicht näher erläutert, da sie sich im Laufe der Zeit ändern werden.
 
Die folgende Dokumentation dient zum einen dazu, interessierten die technischen Gegebenheiten des backspace näher zu bringen, zum anderen um zukünftigen Admins des backspace einen einfachen Einstieg zu ermöglichen. Im weiteren werden die Strukturen in ''outer'' und ''in-house'' eingeteilt. Versionen werden nicht näher erläutert, da sie sich im Laufe der Zeit ändern werden.
  
=Kontakt=
+
==Kontakt==
 
Bei technischen Schwiergikeiten bitte an folgende E-Mail Adresse wenden:
 
Bei technischen Schwiergikeiten bitte an folgende E-Mail Adresse wenden:
  
techinfra(at)hackerspace-bamberg.de
+
admins(ᴀᴛ)lists.hackerspace-bamberg.de
  
=Outer=
+
==Outer==
Unter der ''outer'' Struktur versteht sich alles was öffentlich immer erreichbar ist, z. B. Webseite, Pad, Gallery etc. Die genutzte Software läuft auf einer virtuellen Maschine. Die Virtualisierung ist mit Hilfe von KVM/Qemu realisiert. Auf der VM, die den Hostnamen ''ruby'' trägt, ist Fedora installiert. Alles was unter dem Punkt ''Outer'' genannt wird, läuft auf dieser Maschine.
+
Unter der ''outer'' Struktur versteht sich alles was öffentlich immer erreichbar ist, z. B. Webseite, Pad, Gallery etc. Die genutzte Software läuft auf einem von [https://manitu.de Manitu] gesponsorten [https://www.manitu.de/root-server/eco/root-server-eco-s/ Root Server Eco S]. Auf der Server, der den Hostnamen ''pink'' trägt, ist CentOS installiert. Alles was unter dem Punkt ''Outer'' genannt wird, läuft auf dieser Maschine.
  
==Webserver==
+
===Webserver===
 
Als Webserver kommt [http://de.wikipedia.org/wiki/Apache_HTTP_Server Apache] zum Einsatz. Er wurde selbst kompiliert und die jeweiligen Sourcen der befinden sich unter ''/usr/local/src/apache''. Das Stammverzeichnis des apache ist ''/usr/local/apache2''. 
 
Als Webserver kommt [http://de.wikipedia.org/wiki/Apache_HTTP_Server Apache] zum Einsatz. Er wurde selbst kompiliert und die jeweiligen Sourcen der befinden sich unter ''/usr/local/src/apache''. Das Stammverzeichnis des apache ist ''/usr/local/apache2''. 
  
Zeile 32: Zeile 32:
 
* [http://www.hackerspace-bamberg.de www.hackerspace-bamberg.de]
 
* [http://www.hackerspace-bamberg.de www.hackerspace-bamberg.de]
 
* [https://pad.hackerspace-bamberg.de pad.hackerspace-bamberg.de]
 
* [https://pad.hackerspace-bamberg.de pad.hackerspace-bamberg.de]
* [https://gallery.hackerspace-bamberg.de gallery.hackerspace-bamberg.de]
 
 
* [http://lists.hackerspace-bamberg.de/mailman/listinfo lists.hackerspace-bamberg.de]
 
* [http://lists.hackerspace-bamberg.de/mailman/listinfo lists.hackerspace-bamberg.de]
 +
* [http://mail.hackerspace-bamberg.de/ mail.hackerspace-bamberg.de]
 
* [http://bckspc.de bckspc.de]
 
* [http://bckspc.de bckspc.de]
  
 
Um eine gewisse Struktur im DocumentRoot herzustellen, wird für jeden vHost ein eigenes Unterverzeichnis angelegt. 
 
Um eine gewisse Struktur im DocumentRoot herzustellen, wird für jeden vHost ein eigenes Unterverzeichnis angelegt. 
  
==SSL==
+
===SSL===
 
Wie bereits erwähnt werden diverse Seiten auch via [http://de.wikipedia.org/wiki/Transport_Layer_Security SSL] ausgeliefert. Für die Kommunikation zum Mailserver wird ebenfalls SSL genutzt. Die dafür benötigten Zertifikate sind Class 1 Zertifikate die wir von ''startssl.com'' erhalten. Es können keine Wildcard Zertifikate erstellt werden und die Gültigkeitsdauer beläuft sich auf 1 Jahr. Zur Authentifizierung auf startssl.com wird ein im Browser hinterlegtes Authentifizierungszertifikat verlangt, das man bei der Anmeldung erhalten hat. Derzeit kann nur [[User:bobapple|bobapple]] neue Zertifiakte erstellen. Eine neue Validierung der Domains hackerspace-bamberg.de und bckspc.de ist möglich.
 
Wie bereits erwähnt werden diverse Seiten auch via [http://de.wikipedia.org/wiki/Transport_Layer_Security SSL] ausgeliefert. Für die Kommunikation zum Mailserver wird ebenfalls SSL genutzt. Die dafür benötigten Zertifikate sind Class 1 Zertifikate die wir von ''startssl.com'' erhalten. Es können keine Wildcard Zertifikate erstellt werden und die Gültigkeitsdauer beläuft sich auf 1 Jahr. Zur Authentifizierung auf startssl.com wird ein im Browser hinterlegtes Authentifizierungszertifikat verlangt, das man bei der Anmeldung erhalten hat. Derzeit kann nur [[User:bobapple|bobapple]] neue Zertifiakte erstellen. Eine neue Validierung der Domains hackerspace-bamberg.de und bckspc.de ist möglich.
  
==Website==
+
===Website===
Unter dem Projektname ''Kiwi'' ist im August 2012 die neue Webseite online gegangen. [[User:schinken|schinken]] und [[User:bobapple|bobapple]] hatten es sich zur Aufgabe gemacht den Internetauftritt des backspace zu verschönern. In einem ca. 3 Wöchigen Marathon wurde die Seite neue Designed, Strukturiert und Erweitert
+
Unter dem Projektname ''Kiwi'' ist im August 2012 die neue Webseite online gegangen. [[User:schinken|schinken]] und [[User:bobapple|bobapple]] hatten es sich zur Aufgabe gemacht den Internetauftritt des backspace zu verschönern. In einem ca. 3-wöchigen Marathon wurde die Seite neu designed, strukturiert und erweitert
  
Die Seite nutzt Intern ein normales [http://de.wikipedia.org/wiki/Mediawiki Mediawiki]. Das Template wurde selbst erstellt. Um Projekte automatisch strukturiert darzustellen wurde die Mediawiki-Extension [[ShoogleList]] erstellt. Zusätzlich erhält jedes Projekt auch eine Infobox mit diversen Informationen. ''Shoogle-List'' bezieht viele seiner Informationen aus der Infobox. Neu eingeführt wurde auch der [[Blog:Backspace_blog|Blog]], der aus einer [http://www.mediawiki.org/wiki/Extension:Wikilog Mediawiki Extension] entsteht.
+
Die Seite nutzt intern ein normales [http://de.wikipedia.org/wiki/Mediawiki Mediawiki]. Das Template wurde selbst erstellt. Um Projekte automatisch strukturiert darzustellen wurde die Mediawiki-Extension [[ShoogleList]] erstellt. Zusätzlich erhält jedes Projekt auch eine Infobox mit diversen Informationen. ''Shoogle-List'' bezieht viele seiner Informationen aus der Infobox. Neu eingeführt wurde auch der [[Blog:Backspace_blog|Blog]], der aus einer [http://www.mediawiki.org/wiki/Extension:Wikilog Mediawiki Extension] entsteht.
  
 
Die Sourcen liegen im Verzeichnis ''/web/www.hackerspace-bamberg.de/wiki''. Die jeweils aktuelle Version wird symbolisch verlinkt, so dass bei Updates keine Änderung des DocumentRoots nötig ist.
 
Die Sourcen liegen im Verzeichnis ''/web/www.hackerspace-bamberg.de/wiki''. Die jeweils aktuelle Version wird symbolisch verlinkt, so dass bei Updates keine Änderung des DocumentRoots nötig ist.
  
==Etherpad-Lite==
+
===Etherpad-Lite===
Um den Mitgliedern die Möglichkeit zu bieten, gemeinsam an Dokumenten zu arbeiten, ohne diese Dokumente bei Drittanbietern zu hosten, betreiben wir eine eigene [https://github.com/Pita/etherpad-lite Etherpad-Lite]-Instanz. 
+
Um den Mitgliedern die Möglichkeit zu bieten, gemeinsam an Dokumenten zu arbeiten, ohne diese Dokumente bei Drittanbietern zu hosten, betreiben wir eine eigene [https://github.com/ether/etherpad-lite Etherpad-Lite]-Instanz. 
  
 
Die dazu benötigten Dateien liegen im Verzeichnis ''/usr/local/etherpad-lite''. Gestartet/Gestoppt wird das Pad mittels ''systemctl <start|stop|restart> etherpad-lite.service''. Da systemd zu diesem Zeitpunkt noch nicht unterstützt wird, wurde eine eigene Datei erstellt, welche sich unter ''/etc/systemd/system/etherpad-lite.service'' befindet. Gespeichert werden die Pads in einer eigenen MySQL-Datenbank.
 
Die dazu benötigten Dateien liegen im Verzeichnis ''/usr/local/etherpad-lite''. Gestartet/Gestoppt wird das Pad mittels ''systemctl <start|stop|restart> etherpad-lite.service''. Da systemd zu diesem Zeitpunkt noch nicht unterstützt wird, wurde eine eigene Datei erstellt, welche sich unter ''/etc/systemd/system/etherpad-lite.service'' befindet. Gespeichert werden die Pads in einer eigenen MySQL-Datenbank.
  
==MySQL==
+
===MySQL===
 
Um z. B. Mediawiki oder Etherpad-Lite Datenbanken bieten zu können, wird [http://de.wikipedia.org/wiki/Mysql MySQL] benutzt. Die Datenbanken werden unter ''/usr/local/mysql_data'' gespeichert. Das Stammverzeichnis ist ''/usr/local/mysql''. Installiert wurde der Server mittels vorkompilierter Dateien. Die Sourcen befinden sich unter ''/usr/local/src/mysql''. Es wird immer zur aktuellen Version gelinkt (''/usr/local/mysql -> /usr/local/src/mysql/mysql-<version>''). Die Konfiguration des MySQL-Servers und -Clients befindet sich in der Datei ''/etc/my.cnf''. Um das Arbeiten auf der Konsole zu erleichtern, wurden einige MySQL-Tools (mysqladmin, mysqldump, ...) nach ''/usr/local/bin'' verlinkt.
 
Um z. B. Mediawiki oder Etherpad-Lite Datenbanken bieten zu können, wird [http://de.wikipedia.org/wiki/Mysql MySQL] benutzt. Die Datenbanken werden unter ''/usr/local/mysql_data'' gespeichert. Das Stammverzeichnis ist ''/usr/local/mysql''. Installiert wurde der Server mittels vorkompilierter Dateien. Die Sourcen befinden sich unter ''/usr/local/src/mysql''. Es wird immer zur aktuellen Version gelinkt (''/usr/local/mysql -> /usr/local/src/mysql/mysql-<version>''). Die Konfiguration des MySQL-Servers und -Clients befindet sich in der Datei ''/etc/my.cnf''. Um das Arbeiten auf der Konsole zu erleichtern, wurden einige MySQL-Tools (mysqladmin, mysqldump, ...) nach ''/usr/local/bin'' verlinkt.
  
==Gallery==
+
===Mail===
Die Gallery, welche unter [https://gallery.hackerspace-bamberg.de gallery.hackerspace-bamberg.de] erreichbar ist, wird mit Hilfe von $Software realisiert. Sie speichert Bilder in verschiedenen Größen ab. Userdaten, Beschreibungen etc. werden in einer eigenen MySQL-Datenbank abgelegt.
 
  
 +
[[Datei:incoming_mail.jpg|500px|thumb|right|Eingehende Mail]]
  
==Mail==
+
Die Domain für den Mailserver (eingehend + ausgehend) ist ''mail.hackerspace-bamberg.de''. Auf diesem Server werden alle E-Mail-Adressen der Domains hackerspace-bamberg.de und bckspc.de behandelt. Für bckspc.de werden prinzipiell nur Weiterleitungen angeboten. Die nötigen Verbindungsoptionen werden über eine XML-Datei bekannt gegeben. Sie ist unter [http://autoconfig.hackerspace-bamberg.de/mail/config-v1.1.xml | autoconfig.hackerspace-bamberg.de/mail/config-v1.1.xml] erreichbar und wird von vielen Mailclients automatisch abgefragt.
  
[[Datei:incoming_mail.jpg|500px|thumb|right|Eingehende Mail]]
+
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
+
|+ '''Verbindungsinformationen'''
Die Domain für den Mailserver (eingehen+ausgehend) ist ''mail.hackerspace-bamberg.de''. Auf diesem Server werden alle E-Mail-Adressen der Domains hackerspace-bamberg.de und bckspc.de behandelt. Für bckspc.de werden prinzipiell nur Weiterleitungen angeboten. Die nötigen Verbindungsoptionen werden über eine XML-Datei bekannt gegeben. Sie ist unter [autoconfig.hackerspace-bamberg.de/mail/config-v1.1.xml] erreichbar und wird von vielen Mailclients automatisch abgefragt.
+
|-
 +
|
 +
| Server
 +
| Port
 +
| Connection
 +
| Username
 +
|-
 +
| IMAP
 +
| mail.hackerspace-bamberg.de  
 +
| 143 / 993
 +
| STARTTLS
 +
| [dein-nickname]@hackerspace-bamberg.de
 +
|-
 +
| SMTP
 +
| mail.hackerspace-bamberg.de  
 +
| 587 / 25
 +
| STARTTLS
 +
| [dein-nickname]@hackerspace-bamberg.de
 +
|-  
 +
| ManageSieve
 +
| mail.hackerspace-bamberg.de  
 +
| 4190
 +
| STARTTLS
 +
| [dein-nickname]@hackerspace-bamberg.de
 +
|}
  
 
Um uns für die Zukunft weite Möglichkeiten offen zu halten, kommen nur virtuelle Domains zum Einsatz. Die Mailboxes der einzelnen User befinden sich in ''/var/spool/vmail/<domain>/<username>''. Die jeweiligen Verzeichnisse haben alle den jeweiligen User als Besitzer und gehören der Gruppe vmail. Unpriviligierte Systemuser können keine Mails anderer User lesen. Das Zertifikat für MTA und MDA ist ''/etc/ssl/hackerspace-bamberg.de/mail.hackerspace-bamberg.de.pem''.
 
Um uns für die Zukunft weite Möglichkeiten offen zu halten, kommen nur virtuelle Domains zum Einsatz. Die Mailboxes der einzelnen User befinden sich in ''/var/spool/vmail/<domain>/<username>''. Die jeweiligen Verzeichnisse haben alle den jeweiligen User als Besitzer und gehören der Gruppe vmail. Unpriviligierte Systemuser können keine Mails anderer User lesen. Das Zertifikat für MTA und MDA ist ''/etc/ssl/hackerspace-bamberg.de/mail.hackerspace-bamberg.de.pem''.
Zeile 70: Zeile 94:
 
Als MTA wird [http://de.wikipedia.org/wiki/Postfix_(Mail_Transfer_Agent) Postfix] benutzt. Die jeweiligen Konfigurationsdateien beifinden in ''/etc/postfix''. Die Authentifizierung der Benutzer läuft prinzipiell über SASL, welches von dovecot angeboten wird. Der Login ist nur über SSL (TLS) möglich.
 
Als MTA wird [http://de.wikipedia.org/wiki/Postfix_(Mail_Transfer_Agent) Postfix] benutzt. Die jeweiligen Konfigurationsdateien beifinden in ''/etc/postfix''. Die Authentifizierung der Benutzer läuft prinzipiell über SASL, welches von dovecot angeboten wird. Der Login ist nur über SSL (TLS) möglich.
  
Als MDA kommt [http://de.wikipedia.org/wiki/Dovecot dovecot] zum Einsatz. Auch hier ist der Login nur via SSL möglich. Dovecot stellt virtuelle User  auch für Postfix bereit [http://de.wikipedia.org/wiki/SASL (SASL)]. Sie werden derzeit in einer passwd-Datei verwaltet. Die Passörter sind, bedingt durch den vorher genutzten Mailserver, ''[http://de.wikipedia.org/wiki/Salt_(Kryptologie) Salted] [http://de.wikipedia.org/wiki/Secure_Hash_Algorithm SHA1]'' verschlüsselt gespeichert. Neue/geängerte Passwörter werden in mittels ''SSHA512'' abgelegt. In der Zukunft sollen User mit einem [http://de.wikipedia.org/wiki/OpenLDAP OpenLDAP]-Server verwaltet werden.  Zum Empfangen von E-Mails bieten wir nur [http://de.wikipedia.org/wiki/Imap IMAP] an. Als Gimmick wird [http://de.wikipedia.org/wiki/Sieve sieve] angeboten. Realisiert ist das über dovecots [http://wiki2.dovecot.org/LMTP LMTP]-Funktion, die die Sieve-Scripte verarbeitet. Das [http://wiki2.dovecot.org/Pigeonhole/ManageSieve managesieve-plugin] ermöglicht dem Benutzer das Verwaltung seiner Scripte. Es können auch globale Sieve-Scripte auf dem Server hinterlegt werden. Das wird bespielsweise dazu benutzt, um Mails mit dem "X-Spam-Flag" automatisch in einen vorher automatisch generierten "Spam"-Ordner zu hinterlegen.
+
Als MDA kommt [http://de.wikipedia.org/wiki/Dovecot dovecot] zum Einsatz. Auch hier ist der Login nur via SSL möglich. Dovecot stellt virtuelle User auch für Postfix bereit [http://de.wikipedia.org/wiki/SASL (SASL)]. Sie werden derzeit in einer passwd-Datei verwaltet. Die Passörter sind, bedingt durch den vorher genutzten Mailserver, ''[http://de.wikipedia.org/wiki/Salt_(Kryptologie) Salted] [http://de.wikipedia.org/wiki/Secure_Hash_Algorithm SHA1]'' verschlüsselt gespeichert. Neue/geänderte Passwörter nutzen allerdings ''SSHA512''. In der Zukunft sollen User mit einem [http://de.wikipedia.org/wiki/OpenLDAP OpenLDAP]-Server verwaltet werden.
 +
Zum Abholen von E-Mails bieten wir nur [http://de.wikipedia.org/wiki/Imap IMAP] an (kein POP3). Als Gimmick werden Filterregeln per [http://de.wikipedia.org/wiki/Sieve sieve] angeboten. Realisiert ist das über dovecots [http://wiki2.dovecot.org/LMTP LMTP]-Funktion, die die Sieve-Scripte verarbeitet. Das [http://wiki2.dovecot.org/Pigeonhole/ManageSieve managesieve-plugin] ermöglicht dem Benutzer das Verwaltung seiner Scripte. Es können auch globale Sieve-Scripte auf dem Server hinterlegt werden. Das wird bespielsweise dazu benutzt, um Mails mit dem "X-Spam-Flag" automatisch in einen vorher automatisch generierten "Spam"-Ordner zu hinterlegen.
  
 
Um Spam und Viren entgegen zu wirken wird [http://www.ijs.si/software/amavisd/ amavisd-new] (''/etc/amavisd/amavisd.conf'') in Verbindung mit [http://de.wikipedia.org/wiki/Spamassassin Spamassassin] (''/etc/mail/spamassassin'') und [http://de.wikipedia.org/wiki/Clamav ClamAV] (''/etc/clamd.d/amavisd.conf'') genutzt. Es werden allerdings niemals Mails automatisiert verworfen. Sie werden lediglich durch das "X-Spam-Flag" und ein hinzufügen von "[Spam]" im Betreff markiert. So können die User selbst entscheiden was mit den Mails passiert. Weiterhin setzen wir [http://de.wikipedia.org/wiki/Greylisting greylisting] ein. Konkret [http://sqlgrey.sourceforge.net/ sqlgrey] (''/etc/sqlgrey'') mit einem reconnect delay von lediglich 2 Minuten. Die Daten zu white-/blacklists werden in einer eigenen MySQL-Datenbank gespeichert. Unter ''autoconfig.hackerspace-bamberg.de/sgwi'' ist ein kleines Webinterface installiert, das die Einsicht in die Listen von sqlgrey ermöglicht. Die postfix Konfiguration bietet auch einige sender und recipient restrictions wie invalid hostname etc.
 
Um Spam und Viren entgegen zu wirken wird [http://www.ijs.si/software/amavisd/ amavisd-new] (''/etc/amavisd/amavisd.conf'') in Verbindung mit [http://de.wikipedia.org/wiki/Spamassassin Spamassassin] (''/etc/mail/spamassassin'') und [http://de.wikipedia.org/wiki/Clamav ClamAV] (''/etc/clamd.d/amavisd.conf'') genutzt. Es werden allerdings niemals Mails automatisiert verworfen. Sie werden lediglich durch das "X-Spam-Flag" und ein hinzufügen von "[Spam]" im Betreff markiert. So können die User selbst entscheiden was mit den Mails passiert. Weiterhin setzen wir [http://de.wikipedia.org/wiki/Greylisting greylisting] ein. Konkret [http://sqlgrey.sourceforge.net/ sqlgrey] (''/etc/sqlgrey'') mit einem reconnect delay von lediglich 2 Minuten. Die Daten zu white-/blacklists werden in einer eigenen MySQL-Datenbank gespeichert. Unter ''autoconfig.hackerspace-bamberg.de/sgwi'' ist ein kleines Webinterface installiert, das die Einsicht in die Listen von sqlgrey ermöglicht. Die postfix Konfiguration bietet auch einige sender und recipient restrictions wie invalid hostname etc.
  
==Mailinglisten==
+
===Mailinglisten===
Wir verwenden Mailinglisten für verschiedene Dinge. Die drei wichtigsten Listen sind hier gelistet: https://lists.hackerspace-bamberg.de/mailman/listinfo Welche wofür ist, kann dem Namen der jeweiligen Liste entnommen werden. Zusätzlich gibt es noch eine vorstands-Mailingliste (vorstand@hackerspace-bamberg.de) und eine techinfra@Mailingliste (techinfra@hackerspace-bamberg.de) in der sich nur bestimmte Leute befinden. 
+
Wir verwenden Mailinglisten für verschiedene Dinge. Die drei wichtigsten Listen sind hier gelistet: https://lists.hackerspace-bamberg.de/mailman/listinfo Welche wofür ist, kann dem Namen der jeweiligen Liste entnommen werden. Zusätzlich gibt es noch eine vorstands-Mailingliste (vorstand(ᴀᴛ)hackerspace-bamberg.de) und eine admins@Mailingliste (admins(ᴀᴛ)lists.hackerspace-bamberg.de) in der sich nur bestimmte Leute befinden. 
  
 
Realisiert werden die Listen mit [http://de.wikipedia.org/wiki/GNU_Mailman Mailman]. Die Software wurde selbst kompiliert, daher befinden sich die Sourcen unter ''/usr/local/src/mailman''. Alle Archive, Konfigurationsdateien, Tools, etc. befinden sich unter ''/usr/local/mailman''. Es wird nur eine Domain für alle Listen benutzt, diese ist: lists.hackerspace-bamberg.de.
 
Realisiert werden die Listen mit [http://de.wikipedia.org/wiki/GNU_Mailman Mailman]. Die Software wurde selbst kompiliert, daher befinden sich die Sourcen unter ''/usr/local/src/mailman''. Alle Archive, Konfigurationsdateien, Tools, etc. befinden sich unter ''/usr/local/mailman''. Es wird nur eine Domain für alle Listen benutzt, diese ist: lists.hackerspace-bamberg.de.
  
==Logging==
+
===Logging===
 
Logging wird vorzugsweise über [http://de.wikipedia.org/wiki/Syslog syslog], konkret [http://de.wikipedia.org/wiki/Syslog-ng syslog-ng], abgehandelt. Die Konfiguration dafür befindet sich unter ''/etc/syslog-ng/syslog-ng.conf''. Es werden prinzipiell alle Daemons (und sonstige Prozesse) in eigenen Dateien aufgeteilt. Diese werden Täglich von syslog-ng rotiert. Eine logging Datei sieht dann ungefähr so aus: myprogram-2012-12-21. Alle Logging Dateien befinden sich unter ''/var/log''. Wöchentlich werden logging-Dateien von logrotate archiviert. Die Config ist ''/etc/logrotate.conf''. Default Logfile ist ''/var/log/messages''
 
Logging wird vorzugsweise über [http://de.wikipedia.org/wiki/Syslog syslog], konkret [http://de.wikipedia.org/wiki/Syslog-ng syslog-ng], abgehandelt. Die Konfiguration dafür befindet sich unter ''/etc/syslog-ng/syslog-ng.conf''. Es werden prinzipiell alle Daemons (und sonstige Prozesse) in eigenen Dateien aufgeteilt. Diese werden Täglich von syslog-ng rotiert. Eine logging Datei sieht dann ungefähr so aus: myprogram-2012-12-21. Alle Logging Dateien befinden sich unter ''/var/log''. Wöchentlich werden logging-Dateien von logrotate archiviert. Die Config ist ''/etc/logrotate.conf''. Default Logfile ist ''/var/log/messages''
  
==Backup==
+
===Backup===
 
Es werden folgende Verzeichnisse gesichert:
 
Es werden folgende Verzeichnisse gesichert:
  
Zeile 95: Zeile 120:
 
https://github.com/bobapple/backup-scripts/tree/master/backup-duplicity
 
https://github.com/bobapple/backup-scripts/tree/master/backup-duplicity
  
=In-House=
+
==In-House==
 
Dieser Punkt beschreibt die technischen Gegebenheiten in den Räumen des backspace selbst.
 
Dieser Punkt beschreibt die technischen Gegebenheiten in den Räumen des backspace selbst.
  
==Rack==
+
===Rack===
 
[[Datei:backspace_rack_inhouse.jpg|200px|thumb|left|Rack im backspace]]
 
[[Datei:backspace_rack_inhouse.jpg|200px|thumb|left|Rack im backspace]]
 
Server, Router, Switches stehen in einem 19" Rack im Durchgang zu den Toiletten. Bevorzugt werden hier zum bestücken  
 
Server, Router, Switches stehen in einem 19" Rack im Durchgang zu den Toiletten. Bevorzugt werden hier zum bestücken  
[[http://www.thomann.de/de/thon_rackwanne_1he.htm Wannen]] genutzt.
+
[https://www.thomann.de/de/thon_rackwanne_1he.htm Wannen] genutzt.
 
+
{{clear}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
+
===Netzwerkstruktur===
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
==Netzwerkstruktur==
 
 
[[Datei:backspace_netzwerk.jpg|200px|thumb|left|Patchfeld zu Switch]]
 
[[Datei:backspace_netzwerk.jpg|200px|thumb|left|Patchfeld zu Switch]]
Die in-house Netzwerkstruktur teilt sich in zwei Netze auf: ''intern'' und ''extern''. Bemerkbar ist das prinzipiell nur darin, das von dem ''extern''-Netz nicht auf unsere in-house Server zugegriffen werden kann. Gästen soll aber trotzdem die Möglichkeit geboten werden Internet zu nutzen. Daher das eigene ''extern'' Netz.
+
Die in-house Netzwerkstruktur teilt sich in zwei Netze auf: ''intern'' und ''extern''. Bemerkbar ist das prinzipiell nur darin, das von dem ''extern''-Netz nicht auf unsere in-house Server zugegriffen werden kann. Gästen soll aber trotzdem die Möglichkeit geboten werden Internet zu nutzen. Das ''extern'' Netz ist per VLAN-ID 1337 vom restlichen Netz getrennt
  
 
* intern: 10.1.20.0/24 (dhcp: 150-254)
 
* intern: 10.1.20.0/24 (dhcp: 150-254)
Zeile 143: Zeile 144:
  
  
===WLAN===
+
====WLAN====
WLAN wird auf verschiedenen Arten angeboten.
 
 
 
* backspace.int 2.4 GHz
 
* backspace.int 5.0 GHz
 
* backspace.ext 2.4 GHz
 
* backspace.ext 5.0 GHz
 
  
Mitglieder und Gäste bekommen Passwörter vor Ort von andern Mitgliedern. Zugangsdaten ändern sich im laufe der Zeit in regelmäßigen Abständen.
+
Siehe auch [[WLAN]].
  
===LAN===
+
WLAN wird auf verschiedene Arten angeboten:
In unseren Räumen sind auch an vielen Stellen auch LAN-Kabel verlegt. Im Hinterraum sind im Tisch mehrere Netzwerkdosen eingelassen. Die Lounge besitzt eine eigene Netzwerkdose. Ebenfalls der CNC-Raum und die Werkstatt. Lediglich die Küche und die Toilette sind nicht via LAN angeschlossen.
 
  
= Switch =
+
* '''backspace 802.1x''' (benötigt persönliche Zugangsdaten – nur für Mitglieder)
Die Kabel des Patch-Feldes führen in einen HP 1800-24G J9028B verwendet. Der Switch ist managebar und besitzt
+
* '''freifunk-ba.de''' (freier Zugang ohne Passwort – geeignet für Gäste)
ein Webinterface welches unter ''http://10.1.20.50'' aus dem internen Netz erreichbar ist.
+
* '''backspace IoT''' (WLAN für Internet of Things – nur für Geräte)
  
= Router =
+
Als AccessPoints verwenden wir die [https://varia-store.com/Wireless-Systems/UBIQUITI-UniFi/UniFi-Enterprise-WiFi-System-UAP-PRO-UniFi-AP-PRO-UBNT::1645.html Unifi UAP Pro] mit 2.4 GHz sowie 5 GHz, welche wir von [https://varia-store.com Varia Store] gesponsert bekommen haben.
[[Datei:netgear_router.jpg|200px|thumb|left|Netgear Router mit Antennen-mod]]
 
Als Router wird ein Netgear WNDR3700 mit [http://de.wikipedia.org/wiki/Openwrt OpenWrt] Backfire 10.03.1 betrieben. Der Router ist oberhalb vom Rack montiert.
 
Alle Trennungen der Netzwerke und jegliches Port-Forwarding werden hierüber realisiert. Die IP des Router ist ''10.1.20.1'' aus dem
 
internen Netz und 10.13.37.1 aus dem externen Netz. Der Router ist per SSH erreichbar und besitzt ein Webinterface zur
 
Konfiguration und Installation neuer Pakete. Am Router wurden die internen Antennen durch stärkere externe ausgetauscht.
 
  
 +
====LAN====
 +
In unseren Räumen sind auch an vielen Stellen auch LAN-Kabel verlegt. Im Hinterraum sind im Tisch mehrere Netzwerkdosen eingelassen. Die Lounge besitzt eine eigene Netzwerkdose. Ebenfalls der CNC-Raum und die Werkstatt. Lediglich die Küche und die Toilette sind nicht via LAN angeschlossen.
  
 +
==== Switch ====
 +
Als Switch verwenden wir einen HP 1800-24G J9028B. Er ist managebar und besitzt ein Webinterface das unter ''http://10.1.20.50'' aus dem internen Netz erreichbar ist.
  
 +
==== Router ====
 +
[[Datei:Alix_APU1D4.jpg|190px|thumb|left|APU1D4]]
  
 +
Als Router wird ein [https://varia-store.com/Hardware/PC-Engines-Boards/PC-Engines-AMD-APU1D4-System-Board-1GHz-4GB-DDR3-RAM-3x-GBLAN::3121.html PCEngines APU1D4] mit [https://www.pfsense.org/ pfSense] betrieben, welche wir von [https://varia-store.com Varia Store] gesponsert bekommen haben. Der APU1D4 ersetzt den Vorgänger [https://varia-store.com/Systems-with-Software/pfSense/pfSense-ready-system-with-ALIX-2D13-and-accessories::886.html ALIX.2D13]. Er steht im Rack auf einer [https://www.thomann.de/de/thon_rackwanne_1he.htm Rackwanne] und wird neben den üblichen Diensten wie DHCP, DNS, etc. auch für die Trennung unseres Gäste-Netzwerks durch VLANs, als auch als VPN-Endpunkt für unsere Mitglieder verwendet.
  
 +
Die IP des Routers ist ''10.1.20.1'' aus dem internen Netz und ''10.13.37.1'' aus dem Gäste-Netzwerk. Er ist per SSH erreichbar und besitzt ein Webinterface zur Konfiguration und Installation neuer Pakete.
  
 +
Das Gerät wurde uns von [https://varia-store.com/ Varia-Store] als Spende zur Verfügung gestellt.
  
 +
Nach bisherigen Erfahrungen liefert pfSense bzw. der APU genau das, was "man" haben will. Alle Einstellungen sind genau da zu finden wo man sie sucht. Das Webinterface schränkt die Konfigurierbarkeit nicht ein - und falls es doch einen Sonderfall gibt, existiert immernoch SSH.
  
 +
{{clear}}
  
 
+
===Server===
 
 
==Server==
 
 
[[Datei:backspace_server_inhouse.jpg|200px|thumb|left|Server inhouse]]
 
[[Datei:backspace_server_inhouse.jpg|200px|thumb|left|Server inhouse]]
Zur realisierung verschiedener Dienste wird ein Server mit diversen [http://de.wikipedia.org/wiki/Virtuelle_Maschine VM]s genutzt. Sowohl auf dem Host-System, als auch auf den
+
Zur Realisierung verschiedener Dienste betreiben wir diverse [http://de.wikipedia.org/wiki/Virtuelle_Maschine VMs] auf einem durch [https://www.thomas-krenn.com Thomas Krenn] gesponsorten Server. Auf dem Wirtsystem läuft Fedora, auf den VMs CentOS.  
VMs ist derzeit Debian in Betrieb.
 
  
 
;Serverinfo:
 
;Serverinfo:
* Chassis Type: Desktop
+
* Manufacturer: Thomas Krenn AG
* Mainboard: ASUSTeK Computer INC. P5Q-PRO
+
* Motherboard: Supermicro X9SCL/X9SCM
* Intel(R) Core(TM)2 Duo CPU E8400 (1 CPU; 2 Kerne; 3000MHz pro Kern)
+
* Intel(R) Xeon(R) CPU E3-1265L V2 @ 2.50GHz (4 Cores)
* 8GB RAM (4 Sockets insgesamt)
+
* Memory: 2 * 8GB (ECC; DDR3; 1600 Mhz)
* 4 x PCIE; 2 x PCI
+
* LSI Raid Controller mit BBU
* 2 x 1GB NIC
+
* 3 x 1TB im Raid 5 (WD Caviar Black) für das Wirt System und die VMs
* HDD: 1 x 750GB; 1 x  500GB; 1 x 250GB; 1 x 400 GB
+
* 3 x 3TB im Raid 5 (WD Caviar Black) für den Fileserver
 +
* 3 x Hot-Swap Lüfter
 +
* [http://de.wikipedia.org/wiki/Baseboard_Management_Controller IPMI / BMC] (IP: 10.1.20.14)
  
Die einzelnen Virtuellen Maschinen benutzen je nach Zweck [http://de.wikipedia.org/wiki/Logical_Volume_Manager LVM] oder [http://en.wikipedia.org/wiki/Qcow qcow] Files zum speichern ihrer Daten. Jede der Maschinen hat besitzt einen einfach zu merkenden und leicht zu tippenden Hostnamen.  
+
 
 +
Die einzelnen Virtuellen Maschinen benutzen je nach Zweck [http://de.wikipedia.org/wiki/Logical_Volume_Manager LVM] oder [http://en.wikipedia.org/wiki/Qcow qcow] Files zum Speichern ihrer Daten. Jede der Maschinen besitzt einen einfach zu merkenden und leicht zu tippenden Hostnamen.  
  
 
Im folgenden werden alle derzeitigen VMs aufgelistet:
 
Im folgenden werden alle derzeitigen VMs aufgelistet:
  
===nyancat===
 
 
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
|- style="background:#d0d0d0;"
 
|- style="background:#d0d0d0;"
 +
! scope="col" width="50px" | Hostname
 
! scope="col" width="50px" | IP
 
! scope="col" width="50px" | IP
 
! scope="col" width="300px"| Dienste
 
! scope="col" width="300px"| Dienste
 
! scope="col" width="700px"| Beschreibung
 
! scope="col" width="700px"| Beschreibung
 
|-  
 
|-  
 +
| scarlet
 
| 10.1.20.2
 
| 10.1.20.2
 
| [http://de.wikipedia.org/wiki/Kernel-based_Virtual_Machine KVM]/[http://de.wikipedia.org/wiki/Qemu Qemu], Backup
 
| [http://de.wikipedia.org/wiki/Kernel-based_Virtual_Machine KVM]/[http://de.wikipedia.org/wiki/Qemu Qemu], Backup
| Stellt VMs zur Verfügung und mach Backups.
+
| Wirtsystem und Backups. Das backup-script wird auf github zur Verfügung gestellt: [https://github.com/bobapple/backup-scripts/tree/master/backup-rsync https://github.com/bobapple/backup-scripts/tree/master/backup-rsync]
|-
 
|}
 
 
 
Das backup-script wird auf github zur Verfügung gestellt: [https://github.com/bobapple/backup-scripts/tree/master/backup-rsync https://github.com/bobapple/backup-scripts/tree/master/backup-rsync]
 
 
 
===rose===
 
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
|- style="background:#d0d0d0;"
 
! scope="col" width="50px" | IP
 
! scope="col" width="300px"| Dienste
 
! scope="col" width="700px"| Beschreibung
 
 
|-  
 
|-  
 +
| rose
 
| 10.1.20.3
 
| 10.1.20.3
| [http://de.wikipedia.org/wiki/Git git], [http://de.wikipedia.org/wiki/Trac trac], irc-bot
+
|  
 
| Steht jedem Mitglied als test-Maschine zur Verfügung.
 
| Steht jedem Mitglied als test-Maschine zur Verfügung.
 
|-  
 
|-  
|}
+
| violet
 
 
 
 
===violet===
 
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
|- style="background:#d0d0d0;"
 
! scope="col" width="50px" | IP
 
! scope="col" width="300px"| Dienste
 
! scope="col" width="700px"| Beschreibung
 
|-
 
 
| 10.1.20.4
 
| 10.1.20.4
 
| Apache, MySQL, [http://de.wikipedia.org/wiki/Cacti Cacti]  
 
| Apache, MySQL, [http://de.wikipedia.org/wiki/Cacti Cacti]  
 
| Alles was produktiv genutzt wird. MAC-zu-Nick Datenbank für Anwesenheitsstatistiken und [[Open/Close_Anzeiger]], Benutzerdatenbank für [[Spaceportal]], Kassensystem, Webinterface für [http://de.wikipedia.org/wiki/Music_Player_Daemon MPD] [http://web.archive.org/web/20080204095711/pitchfork.remiss.org/ (Pitchfork)], System-Statistiken aller Server, Statistiken anwesender Mitglieder
 
| Alles was produktiv genutzt wird. MAC-zu-Nick Datenbank für Anwesenheitsstatistiken und [[Open/Close_Anzeiger]], Benutzerdatenbank für [[Spaceportal]], Kassensystem, Webinterface für [http://de.wikipedia.org/wiki/Music_Player_Daemon MPD] [http://web.archive.org/web/20080204095711/pitchfork.remiss.org/ (Pitchfork)], System-Statistiken aller Server, Statistiken anwesender Mitglieder
 
|-  
 
|-  
|}
+
| fiona
 
 
===fiona===
 
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
|- style="background:#d0d0d0;"
 
! scope="col" width="50px" | IP
 
! scope="col" width="300px"| Dienste
 
! scope="col" width="700px"| Beschreibung
 
|-
 
 
| 10.1.20.5
 
| 10.1.20.5
| [http://de.wikipedia.org/wiki/Network_File_System NFS], [http://de.wikipedia.org/wiki/Samba_(Software) Samba], FTP, [http://de.wikipedia.org/wiki/Openvpn OpenVPN], [http://de.wikipedia.org/wiki/Music_Player_Daemon MPD]
+
| [http://de.wikipedia.org/wiki/Openvpn OpenVPN], [http://de.wikipedia.org/wiki/Music_Player_Daemon MPD], irc-bot, openhab
| Es werden mehrere Festplatten über LVM für den Fileserver zusammengefasst. Mitglieder können jederzeit von außen in das Netzwerk des backspace.  
+
| Es stehen 6TB Speicherplatz zur Verfügung, erreichbar via NFS, FTP und Samba (cifs). Mitglieder können jederzeit von außen in das Netzwerk des backspace. Das Unifi Configuration Management Tool läuft hier. (https://fiona:9443)
|-  
+
|-
|}
+
| <strike>jasper</strike>
 
+
| <strike>10.1.20.7</strike>
===lila===
+
| <strike>Windows XP (SP3)</strike>
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
+
| <strike>Aktuell aus</strike>
|- style="background:#d0d0d0;"
+
|-
! scope="col" width="50px" | IP
+
| ginger
! scope="col" width="300px"| Dienste
+
| 10.1.20.13
! scope="col" width="700px"| Beschreibung
+
| BankAccount-Crawler, LDAP
|-
+
|  
| 10.1.20.6
+
|-
| [http://de.wikipedia.org/wiki/Nginx nginx], [http://wiki.nginx.org/HttpUwsgiModule uwsgi]
+
| sterling
| Webinterface für das [[Spaceportal]]. Prüft Passwörter und weist gegebenenfalls die Flepo zum öffnen/schliesen der Tür an.
+
| 10.1.20.17
|-  
+
| Windows 7
|}
+
| Für rechenintensive Aufgaben. Windows-Software
 
+
|-
 
+
| ada
===ava===
+
| 10.1.20.29
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
+
| Debian stable
|- style="background:#d0d0d0;"
+
| [http://de.wikipedia.org/wiki/Network_File_System NFS], [http://de.wikipedia.org/wiki/Samba_(Software) Samba], FTP
! scope="col" width="50px" | IP
+
|-
! scope="col" width="300px"| Dienste
 
! scope="col" width="700px"| Beschreibung
 
|-
 
| 10.1.20.7
 
| [http://de.wikipedia.org/wiki/SSH_File_Transfer_Protocol sftp]
 
| Kleiner Server der Platz bietet für Dateien welche für den Vorstand relevant sind. (Briefvorlagen, Rechnungen, etc.)
 
|-  
 
 
|}
 
|}
  
==Flepo==
+
===Haussteuerung===
 
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
|- style="background:#d0d0d0;"
 
|- style="background:#d0d0d0;"
Zeile 289: Zeile 256:
 
|-  
 
|-  
 
|}
 
|}
[[Datei:flepo.jpg|200px|thumb|left|Flepo]]
 
;Technische Daten
 
* Chassis: 16,6cm x 13,7cm x 5,2cm (hoch)
 
* AMD Geode LX2-800 500Mhz
 
* 1x DDR1 So-Dimm max. 1024MB
 
* Serial ATA (2,5" HDD) 10GB
 
* 2x RJ45 10/100/1000Mbit BASE-TX Auto MDI/MDI-X
 
* 4x USB 2.0 (2 Ports Vorderseite / 2 Ports Rückseite)
 
* 1x VGA (15-Pin D-Sub)
 
* 2x 9-Pin seriell
 
* 1x parallel
 
  
==backspace-netbook==
+
Raspberry PI mit Relaiskarten und Arduino
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
|- style="background:#d0d0d0;"
 
! scope="col" width="50px" | IP
 
! scope="col" width="300px"| Dienste
 
! scope="col" width="700px"| Beschreibung
 
|-
 
| dhcp
 
| Ubuntu
 
| Ein netbook das an Boxen angeschlossen ist und meistens nur als MPD-Stream-Client genutzt wird.
 
|-
 
|}
 
  
==Dienste im Überblick==
+
===IPs im Überblick===
 
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
{| border="1" cellpadding="2" style="text-align:center;" class="wikitable"
 
|- style="background:#d0d0d0;"
 
|- style="background:#d0d0d0;"
| <b>Service</b>
+
| <b>IP</b>
 
| DNS
 
| DNS
| IP
+
| Service(s)
| Port
 
 
|-  
 
|-  
| LED raspberry pi
+
| 10.1.20.1
| lighting
 
| 10.1.20.12
 
| :9090 WebInterface
 
|-
 
| openmoko
 
| ledloard
 
| 10.1.20.11
 
 
| -
 
| -
|-
+
| pfSense (ALIX)
| MPD (Lounge)
+
|-
| mpd-lounge
+
| 10.1.20.2
| 10.1.20.8
+
| scarlet
| 6600
+
| BareMetal Server
|-
 
| MPD (Hinterraum)
 
| mpd
 
| 10.1.20.5
 
| 6600
 
|-
 
| MPD Webinterface
 
| http://int.bckspc.de/mpd
 
| 10.1.20.4
 
| 80
 
 
|-
 
|-
| Statusinformationen
+
| 10.1.20.3
| status.bckspc.de
+
| rose, projects.bckspc.de
| 10.1.20.4
+
| [[Technische_Infrastruktur#Server|readme]]
| 80
 
 
|-
 
|-
| Alive Hosts
 
| http://int.bckspc.de/alive
 
 
| 10.1.20.4
 
| 10.1.20.4
| 80
+
| violet, int.bckspc.de, status.bckspc.de
 +
| [[Technische_Infrastruktur#Server|readme]]
 
|-
 
|-
| NFS
 
| nfs
 
 
| 10.1.20.5
 
| 10.1.20.5
 +
| fiona, mpd, unifi
 +
| [[Technische_Infrastruktur#Server|readme]]
 +
|-
 +
| 10.1.20.6
 +
| lila
 +
| [[Technische_Infrastruktur#Server|readme]]
 +
|-
 +
| <strike>10.1.20.7</strike>
 +
| <strike>jasper</strike>
 +
| Ehemals Windows XP. Momentan runtergefahren
 +
|-
 +
| 10.1.20.8
 +
| unifi-lounge
 +
| WLAN-AP
 +
|-
 +
| 10.1.20.9
 +
| unifi-hackcenter
 +
| WLAN-AP
 +
|-
 +
| 10.1.20.10
 +
| hazek, webrelais
 +
| raspberry pi im rack
 +
|-
 +
| 10.1.20.11
 +
| -
 
| -
 
| -
 
|-
 
|-
| FTP
+
| 10.1.20.12
| nfs
+
| lighting
| 10.1.20.5
+
| embedded avr eth2dmx
| 21
 
 
|-
 
|-
| SMB
+
| 10.1.20.13
| nfs
+
| ginger
| 10.1.20.5
+
| VM
| 21
 
 
|-
 
|-
| MySQL
+
| 10.1.20.14
| violet
 
| 10.1.20.5
 
 
| -
 
| -
 +
| scarlet IPMI
 +
|-
 +
| 10.1.20.15
 +
| garlic
 +
| raspberry pi hackcenter
 +
|-
 +
| 10.1.20.16
 +
| potato
 +
| raspberry pi podest, [[schild]]
 +
|-
 +
| 10.1.20.17
 +
| sterling
 +
| windows 7 VM
 +
|-
 +
| 10.1.20.18
 +
| onion
 +
| raspberry pi, sicherungskasten
 +
|-
 +
| 10.1.20.19
 +
| pinky
 +
| tablet
 +
|-
 +
| 10.1.20.20
 +
| brain
 +
| tablet
 +
|-
 +
| 10.1.20.21
 +
| homematic
 +
| HomeMatic CCU2
 
|-
 
|-
| Cacti Webinterface
+
| 10.1.20.22
| http://status.bckspc.de/cacti
+
| salmon
| 10.1.20.5
+
| krisha VM
| 80
+
|-
 +
| 10.1.20.23
 +
| ledboard
 +
| Ledboard Hackcenter
 +
|-
 +
| 10.1.20.25
 +
| speedy
 +
| VM Speedy
 
|-
 
|-
| Git
+
| 10.1.20.26
| rose
+
| tally
| 10.1.20.4
+
| VM tally
| 22
 
 
|-
 
|-
| Trac
+
| 10.1.20.27
| http://projects.bckspc.de
+
| onkyo
| 10.1.20.4
+
| Onkyo Receiver Lounge
| 80
 
 
|-
 
|-
| OpenVPN
+
| 10.1.20.28
| dyn.bckspc.de
+
| azure
| 10.66.77.0/24
+
| VM für icinga2 test
| -
 
 
|-
 
|-
 +
| 10.1.20.29
 +
| ada, nfs
 +
| Infrastructure Reboot VM, nfs
 
|}
 
|}
  
==Drucker==
+
==== Monitoring ====
 +
Alle Server und alle darauf laufenden Dienste werden mit [http://en.wikipedia.org/wiki/Icinga Icinga] und [http://en.wikipedia.org/wiki/Cacti_(software) Cacti] überwacht. Bei Sonderwünschen bitte an admins(ᴀᴛ)lists.hackerspace-bamberg.de wenden.
 +
 
 +
===Drucker===
 
Für Druck-, Scan-, und Kopieraufgaben steht ein Multifunktionsgerät auf dem Tisch bereit welches per WLAN an  
 
Für Druck-, Scan-, und Kopieraufgaben steht ein Multifunktionsgerät auf dem Tisch bereit welches per WLAN an  
 
das interne Netz angebunden ist.  
 
das interne Netz angebunden ist.  
 
Siehe dazu [[HowTo/Drucker]]
 
Siehe dazu [[HowTo/Drucker]]

Aktuelle Version vom 2. April 2023, 01:51 Uhr

Crystal Clear action run.png
Techn. Infrastruktur

Status: stable

Rack inhouse cat.jpg
Beschreibung Gesamte technische Infrastruktur.
Autor: bobapple
PayPal Spenden für Technische Infrastruktur

Die folgende Dokumentation dient zum einen dazu, interessierten die technischen Gegebenheiten des backspace näher zu bringen, zum anderen um zukünftigen Admins des backspace einen einfachen Einstieg zu ermöglichen. Im weiteren werden die Strukturen in outer und in-house eingeteilt. Versionen werden nicht näher erläutert, da sie sich im Laufe der Zeit ändern werden.

Kontakt

Bei technischen Schwiergikeiten bitte an folgende E-Mail Adresse wenden:

admins(ᴀᴛ)lists.hackerspace-bamberg.de

Outer

Unter der outer Struktur versteht sich alles was öffentlich immer erreichbar ist, z. B. Webseite, Pad, Gallery etc. Die genutzte Software läuft auf einem von Manitu gesponsorten Root Server Eco S. Auf der Server, der den Hostnamen pink trägt, ist CentOS installiert. Alles was unter dem Punkt Outer genannt wird, läuft auf dieser Maschine.

Webserver

Als Webserver kommt Apache zum Einsatz. Er wurde selbst kompiliert und die jeweiligen Sourcen der befinden sich unter /usr/local/src/apache. Das Stammverzeichnis des apache ist /usr/local/apache2

Die Konfiguration befindet sich im Verzeichnis /etc/apache. Wobei hier die einzelnen vHosts jeweils eine eigene Datei im Verzeichnis /etc/apache/vhosts besitzen. Aktiviert werden vHosts durch ein Include in der Datei /etc/apache/vhosts_enabled. Wir bieten auch diverse Webseiten via SSL an. Die dazu gehörigen Zertifikate befinden sich im Verzeichnis /etc/ssl/hackerspace-bamberg.de.

Der Webserver unterstützt PHP. Dafür wird das das Modul der jeweiligen Version kompiliert und in der apache-config eingebunden. Die PHP-Sourcen befinden sich im Verzeichnis /usr/local/src/php. Die PHP-Konfigurationsdatei befindet sich in /etc/php/php.ini. In dieser wird auch das APC-Modul aktiviert, welches ebenfalls selbst kompiliert wurde (/usr/local/src/php-apc). PHP-Module werden unter /usr/local/php/modules abgelegt.

Das DocumentRoot befindet sich in /web, und für Gewohnheitstiere existiert ein symbolischer Link ist auf /var/www. Hier befinden sich auch die einzelnen DocumentRoots der vHosts. Wir bieten folgende Webseiten an:

Um eine gewisse Struktur im DocumentRoot herzustellen, wird für jeden vHost ein eigenes Unterverzeichnis angelegt. 

SSL

Wie bereits erwähnt werden diverse Seiten auch via SSL ausgeliefert. Für die Kommunikation zum Mailserver wird ebenfalls SSL genutzt. Die dafür benötigten Zertifikate sind Class 1 Zertifikate die wir von startssl.com erhalten. Es können keine Wildcard Zertifikate erstellt werden und die Gültigkeitsdauer beläuft sich auf 1 Jahr. Zur Authentifizierung auf startssl.com wird ein im Browser hinterlegtes Authentifizierungszertifikat verlangt, das man bei der Anmeldung erhalten hat. Derzeit kann nur bobapple neue Zertifiakte erstellen. Eine neue Validierung der Domains hackerspace-bamberg.de und bckspc.de ist möglich.

Website

Unter dem Projektname Kiwi ist im August 2012 die neue Webseite online gegangen. schinken und bobapple hatten es sich zur Aufgabe gemacht den Internetauftritt des backspace zu verschönern. In einem ca. 3-wöchigen Marathon wurde die Seite neu designed, strukturiert und erweitert. 

Die Seite nutzt intern ein normales Mediawiki. Das Template wurde selbst erstellt. Um Projekte automatisch strukturiert darzustellen wurde die Mediawiki-Extension ShoogleList erstellt. Zusätzlich erhält jedes Projekt auch eine Infobox mit diversen Informationen. Shoogle-List bezieht viele seiner Informationen aus der Infobox. Neu eingeführt wurde auch der Blog, der aus einer Mediawiki Extension entsteht.

Die Sourcen liegen im Verzeichnis /web/www.hackerspace-bamberg.de/wiki. Die jeweils aktuelle Version wird symbolisch verlinkt, so dass bei Updates keine Änderung des DocumentRoots nötig ist.

Etherpad-Lite

Um den Mitgliedern die Möglichkeit zu bieten, gemeinsam an Dokumenten zu arbeiten, ohne diese Dokumente bei Drittanbietern zu hosten, betreiben wir eine eigene Etherpad-Lite-Instanz. 

Die dazu benötigten Dateien liegen im Verzeichnis /usr/local/etherpad-lite. Gestartet/Gestoppt wird das Pad mittels systemctl <start|stop|restart> etherpad-lite.service. Da systemd zu diesem Zeitpunkt noch nicht unterstützt wird, wurde eine eigene Datei erstellt, welche sich unter /etc/systemd/system/etherpad-lite.service befindet. Gespeichert werden die Pads in einer eigenen MySQL-Datenbank.

MySQL

Um z. B. Mediawiki oder Etherpad-Lite Datenbanken bieten zu können, wird MySQL benutzt. Die Datenbanken werden unter /usr/local/mysql_data gespeichert. Das Stammverzeichnis ist /usr/local/mysql. Installiert wurde der Server mittels vorkompilierter Dateien. Die Sourcen befinden sich unter /usr/local/src/mysql. Es wird immer zur aktuellen Version gelinkt (/usr/local/mysql -> /usr/local/src/mysql/mysql-<version>). Die Konfiguration des MySQL-Servers und -Clients befindet sich in der Datei /etc/my.cnf. Um das Arbeiten auf der Konsole zu erleichtern, wurden einige MySQL-Tools (mysqladmin, mysqldump, ...) nach /usr/local/bin verlinkt.

Mail

Eingehende Mail

Die Domain für den Mailserver (eingehend + ausgehend) ist mail.hackerspace-bamberg.de. Auf diesem Server werden alle E-Mail-Adressen der Domains hackerspace-bamberg.de und bckspc.de behandelt. Für bckspc.de werden prinzipiell nur Weiterleitungen angeboten. Die nötigen Verbindungsoptionen werden über eine XML-Datei bekannt gegeben. Sie ist unter | autoconfig.hackerspace-bamberg.de/mail/config-v1.1.xml erreichbar und wird von vielen Mailclients automatisch abgefragt.

Verbindungsinformationen
Server Port Connection Username
IMAP mail.hackerspace-bamberg.de 143 / 993 STARTTLS [dein-nickname]@hackerspace-bamberg.de
SMTP mail.hackerspace-bamberg.de 587 / 25 STARTTLS [dein-nickname]@hackerspace-bamberg.de
ManageSieve mail.hackerspace-bamberg.de 4190 STARTTLS [dein-nickname]@hackerspace-bamberg.de

Um uns für die Zukunft weite Möglichkeiten offen zu halten, kommen nur virtuelle Domains zum Einsatz. Die Mailboxes der einzelnen User befinden sich in /var/spool/vmail/<domain>/<username>. Die jeweiligen Verzeichnisse haben alle den jeweiligen User als Besitzer und gehören der Gruppe vmail. Unpriviligierte Systemuser können keine Mails anderer User lesen. Das Zertifikat für MTA und MDA ist /etc/ssl/hackerspace-bamberg.de/mail.hackerspace-bamberg.de.pem.

Als MTA wird Postfix benutzt. Die jeweiligen Konfigurationsdateien beifinden in /etc/postfix. Die Authentifizierung der Benutzer läuft prinzipiell über SASL, welches von dovecot angeboten wird. Der Login ist nur über SSL (TLS) möglich.

Als MDA kommt dovecot zum Einsatz. Auch hier ist der Login nur via SSL möglich. Dovecot stellt virtuelle User auch für Postfix bereit (SASL). Sie werden derzeit in einer passwd-Datei verwaltet. Die Passörter sind, bedingt durch den vorher genutzten Mailserver, Salted SHA1 verschlüsselt gespeichert. Neue/geänderte Passwörter nutzen allerdings SSHA512. In der Zukunft sollen User mit einem OpenLDAP-Server verwaltet werden. Zum Abholen von E-Mails bieten wir nur IMAP an (kein POP3). Als Gimmick werden Filterregeln per sieve angeboten. Realisiert ist das über dovecots LMTP-Funktion, die die Sieve-Scripte verarbeitet. Das managesieve-plugin ermöglicht dem Benutzer das Verwaltung seiner Scripte. Es können auch globale Sieve-Scripte auf dem Server hinterlegt werden. Das wird bespielsweise dazu benutzt, um Mails mit dem "X-Spam-Flag" automatisch in einen vorher automatisch generierten "Spam"-Ordner zu hinterlegen.

Um Spam und Viren entgegen zu wirken wird amavisd-new (/etc/amavisd/amavisd.conf) in Verbindung mit Spamassassin (/etc/mail/spamassassin) und ClamAV (/etc/clamd.d/amavisd.conf) genutzt. Es werden allerdings niemals Mails automatisiert verworfen. Sie werden lediglich durch das "X-Spam-Flag" und ein hinzufügen von "[Spam]" im Betreff markiert. So können die User selbst entscheiden was mit den Mails passiert. Weiterhin setzen wir greylisting ein. Konkret sqlgrey (/etc/sqlgrey) mit einem reconnect delay von lediglich 2 Minuten. Die Daten zu white-/blacklists werden in einer eigenen MySQL-Datenbank gespeichert. Unter autoconfig.hackerspace-bamberg.de/sgwi ist ein kleines Webinterface installiert, das die Einsicht in die Listen von sqlgrey ermöglicht. Die postfix Konfiguration bietet auch einige sender und recipient restrictions wie invalid hostname etc.

Mailinglisten

Wir verwenden Mailinglisten für verschiedene Dinge. Die drei wichtigsten Listen sind hier gelistet: https://lists.hackerspace-bamberg.de/mailman/listinfo Welche wofür ist, kann dem Namen der jeweiligen Liste entnommen werden. Zusätzlich gibt es noch eine vorstands-Mailingliste (vorstand(ᴀᴛ)hackerspace-bamberg.de) und eine admins@Mailingliste (admins(ᴀᴛ)lists.hackerspace-bamberg.de) in der sich nur bestimmte Leute befinden. 

Realisiert werden die Listen mit Mailman. Die Software wurde selbst kompiliert, daher befinden sich die Sourcen unter /usr/local/src/mailman. Alle Archive, Konfigurationsdateien, Tools, etc. befinden sich unter /usr/local/mailman. Es wird nur eine Domain für alle Listen benutzt, diese ist: lists.hackerspace-bamberg.de.

Logging

Logging wird vorzugsweise über syslog, konkret syslog-ng, abgehandelt. Die Konfiguration dafür befindet sich unter /etc/syslog-ng/syslog-ng.conf. Es werden prinzipiell alle Daemons (und sonstige Prozesse) in eigenen Dateien aufgeteilt. Diese werden Täglich von syslog-ng rotiert. Eine logging Datei sieht dann ungefähr so aus: myprogram-2012-12-21. Alle Logging Dateien befinden sich unter /var/log. Wöchentlich werden logging-Dateien von logrotate archiviert. Die Config ist /etc/logrotate.conf. Default Logfile ist /var/log/messages

Backup

Es werden folgende Verzeichnisse gesichert:

  • /home
  • /etc
  • /usr/local
  • /var/spool/vmail

Zusätzlich wird jeden Tag von allen MySQL-Datenbanken (auser sqlgrey) ein Dump gezogen und in /usr/local/mysql_backup gelegt. Dumps die älter als 30 Tage sind, werden gelöscht. Das Backup der Verzeichnisse erfolgt mittels duplicity auf einen externen FTP-Server. Am 1. des Monats wird ein Full-Backup gemacht, die restliche Zeit incremental. Backups älter 30 Tage werden gelöscht.

https://github.com/bobapple/backup-scripts/tree/master/backup-duplicity

In-House

Dieser Punkt beschreibt die technischen Gegebenheiten in den Räumen des backspace selbst.

Rack

Rack im backspace

Server, Router, Switches stehen in einem 19" Rack im Durchgang zu den Toiletten. Bevorzugt werden hier zum bestücken Wannen genutzt.

Netzwerkstruktur

Patchfeld zu Switch

Die in-house Netzwerkstruktur teilt sich in zwei Netze auf: intern und extern. Bemerkbar ist das prinzipiell nur darin, das von dem extern-Netz nicht auf unsere in-house Server zugegriffen werden kann. Gästen soll aber trotzdem die Möglichkeit geboten werden Internet zu nutzen. Das extern Netz ist per VLAN-ID 1337 vom restlichen Netz getrennt

  • intern: 10.1.20.0/24 (dhcp: 150-254)
  • extern: 10.13.37.0/24 (dhcp: 1-254)





WLAN

Siehe auch WLAN.

WLAN wird auf verschiedene Arten angeboten:

  • backspace 802.1x (benötigt persönliche Zugangsdaten – nur für Mitglieder)
  • freifunk-ba.de (freier Zugang ohne Passwort – geeignet für Gäste)
  • backspace IoT (WLAN für Internet of Things – nur für Geräte)

Als AccessPoints verwenden wir die Unifi UAP Pro mit 2.4 GHz sowie 5 GHz, welche wir von Varia Store gesponsert bekommen haben.

LAN

In unseren Räumen sind auch an vielen Stellen auch LAN-Kabel verlegt. Im Hinterraum sind im Tisch mehrere Netzwerkdosen eingelassen. Die Lounge besitzt eine eigene Netzwerkdose. Ebenfalls der CNC-Raum und die Werkstatt. Lediglich die Küche und die Toilette sind nicht via LAN angeschlossen.

Switch

Als Switch verwenden wir einen HP 1800-24G J9028B. Er ist managebar und besitzt ein Webinterface das unter http://10.1.20.50 aus dem internen Netz erreichbar ist.

Router

APU1D4

Als Router wird ein PCEngines APU1D4 mit pfSense betrieben, welche wir von Varia Store gesponsert bekommen haben. Der APU1D4 ersetzt den Vorgänger ALIX.2D13. Er steht im Rack auf einer Rackwanne und wird neben den üblichen Diensten wie DHCP, DNS, etc. auch für die Trennung unseres Gäste-Netzwerks durch VLANs, als auch als VPN-Endpunkt für unsere Mitglieder verwendet.

Die IP des Routers ist 10.1.20.1 aus dem internen Netz und 10.13.37.1 aus dem Gäste-Netzwerk. Er ist per SSH erreichbar und besitzt ein Webinterface zur Konfiguration und Installation neuer Pakete.

Das Gerät wurde uns von Varia-Store als Spende zur Verfügung gestellt.

Nach bisherigen Erfahrungen liefert pfSense bzw. der APU genau das, was "man" haben will. Alle Einstellungen sind genau da zu finden wo man sie sucht. Das Webinterface schränkt die Konfigurierbarkeit nicht ein - und falls es doch einen Sonderfall gibt, existiert immernoch SSH.

Server

Server inhouse

Zur Realisierung verschiedener Dienste betreiben wir diverse VMs auf einem durch Thomas Krenn gesponsorten Server. Auf dem Wirtsystem läuft Fedora, auf den VMs CentOS.

Serverinfo
  • Manufacturer: Thomas Krenn AG
  • Motherboard: Supermicro X9SCL/X9SCM
  • Intel(R) Xeon(R) CPU E3-1265L V2 @ 2.50GHz (4 Cores)
  • Memory: 2 * 8GB (ECC; DDR3; 1600 Mhz)
  • LSI Raid Controller mit BBU
  • 3 x 1TB im Raid 5 (WD Caviar Black) für das Wirt System und die VMs
  • 3 x 3TB im Raid 5 (WD Caviar Black) für den Fileserver
  • 3 x Hot-Swap Lüfter
  • IPMI / BMC (IP: 10.1.20.14)


Die einzelnen Virtuellen Maschinen benutzen je nach Zweck LVM oder qcow Files zum Speichern ihrer Daten. Jede der Maschinen besitzt einen einfach zu merkenden und leicht zu tippenden Hostnamen.

Im folgenden werden alle derzeitigen VMs aufgelistet:

Hostname IP Dienste Beschreibung
scarlet 10.1.20.2 KVM/Qemu, Backup Wirtsystem und Backups. Das backup-script wird auf github zur Verfügung gestellt: https://github.com/bobapple/backup-scripts/tree/master/backup-rsync
rose 10.1.20.3 Steht jedem Mitglied als test-Maschine zur Verfügung.
violet 10.1.20.4 Apache, MySQL, Cacti Alles was produktiv genutzt wird. MAC-zu-Nick Datenbank für Anwesenheitsstatistiken und Open/Close_Anzeiger, Benutzerdatenbank für Spaceportal, Kassensystem, Webinterface für MPD (Pitchfork), System-Statistiken aller Server, Statistiken anwesender Mitglieder
fiona 10.1.20.5 OpenVPN, MPD, irc-bot, openhab Es stehen 6TB Speicherplatz zur Verfügung, erreichbar via NFS, FTP und Samba (cifs). Mitglieder können jederzeit von außen in das Netzwerk des backspace. Das Unifi Configuration Management Tool läuft hier. (https://fiona:9443)
jasper 10.1.20.7 Windows XP (SP3) Aktuell aus
ginger 10.1.20.13 BankAccount-Crawler, LDAP
sterling 10.1.20.17 Windows 7 Für rechenintensive Aufgaben. Windows-Software
ada 10.1.20.29 Debian stable NFS, Samba, FTP

Haussteuerung

IP Dienste Beschreibung
10.1.20.10 nginx, uwsgi Steuert Relaisboard für Spaceportal, EXIT-Schild (an/aus) und Arduino für LEDs im Rack.

Raspberry PI mit Relaiskarten und Arduino

IPs im Überblick

IP DNS Service(s)
10.1.20.1 - pfSense (ALIX)
10.1.20.2 scarlet BareMetal Server
10.1.20.3 rose, projects.bckspc.de readme
10.1.20.4 violet, int.bckspc.de, status.bckspc.de readme
10.1.20.5 fiona, mpd, unifi readme
10.1.20.6 lila readme
10.1.20.7 jasper Ehemals Windows XP. Momentan runtergefahren
10.1.20.8 unifi-lounge WLAN-AP
10.1.20.9 unifi-hackcenter WLAN-AP
10.1.20.10 hazek, webrelais raspberry pi im rack
10.1.20.11 - -
10.1.20.12 lighting embedded avr eth2dmx
10.1.20.13 ginger VM
10.1.20.14 - scarlet IPMI
10.1.20.15 garlic raspberry pi hackcenter
10.1.20.16 potato raspberry pi podest, schild
10.1.20.17 sterling windows 7 VM
10.1.20.18 onion raspberry pi, sicherungskasten
10.1.20.19 pinky tablet
10.1.20.20 brain tablet
10.1.20.21 homematic HomeMatic CCU2
10.1.20.22 salmon krisha VM
10.1.20.23 ledboard Ledboard Hackcenter
10.1.20.25 speedy VM Speedy
10.1.20.26 tally VM tally
10.1.20.27 onkyo Onkyo Receiver Lounge
10.1.20.28 azure VM für icinga2 test
10.1.20.29 ada, nfs Infrastructure Reboot VM, nfs

Monitoring

Alle Server und alle darauf laufenden Dienste werden mit Icinga und Cacti überwacht. Bei Sonderwünschen bitte an admins(ᴀᴛ)lists.hackerspace-bamberg.de wenden.

Drucker

Für Druck-, Scan-, und Kopieraufgaben steht ein Multifunktionsgerät auf dem Tisch bereit welches per WLAN an das interne Netz angebunden ist. Siehe dazu HowTo/Drucker