|
|
Line 1: |
Line 1: |
− | <h1>Server-Dokumentation vermittlung.hamburg.ccc.de</h1> | + | <span style="color: orange; display: inline-block; outline: 0.5em solid; padding: 0.25em"> |
− | | + | <span style="color: black"> |
− | | + | Diese Seite wurde ins [https://wiki.ccchh.net neue Wiki] migriert.<br> |
− | ==Server== | + | Sie ist nun hier zu finden: https://wiki.ccchh.net/club:archiv:voip-vermittlung:server |
− | | + | </span> |
− | (Bild)
| + | </span> |
− | | + | [[Category:umgezogen]] |
− | (Specs)
| |
− | | |
− | | |
− | ==Ansprechpartner==
| |
− | | |
− | Der Verteiler für allgemeine Anfragen, die mit der Telefonvermittlung zu tun haben, ist: frollein(at)vermittlung.hamburg.ccc.de (Hauke, Bayer, Pirx, Ali. Wer mag, darf sich in /etc/aliases gerne selber hinzufügen)<br>
| |
− | Mail an '''postmaster''' und '''faxmaster''' wird von Hauke gelesen.<br>
| |
− | Mail an '''root''' wird an Hauke und den Bayern verteilt (wer mag, darf sich in /etc/aliases gerne selber hinzufügen).<br>
| |
− | | |
− | '''Sudo-Accounts''' haben:
| |
− | | |
− | Ali (ali(at)hamburg.ccc.de)<br>
| |
− | Bayer (bayer(at)hamburg.ccc.de)<br>
| |
− | Haegar (haegar(at)ccc.de)<br>
| |
− | Hauke (packbart(at)hamburg.ccc.de)<br>
| |
− | Pirx (pirx(at)ccc.de)<br>
| |
− | | |
− | | |
− | ==README.root==
| |
− | | |
− | (wichtige Dinge, die man wissen sollte, kommen noch in diesen Abschnitt)
| |
− | | |
− | * Reboot: Die vermittlung hat ein Crypto-Root. Die initrd wartet auf 212.12.50.213:61391 auf eine SSL-Verbindung über die die Passphrase übertragen wird.
| |
− | ** Die Verbindung kann mit <code>openssl s_client</code>, <code>socat</code>, <code>telnet-ssl</code> o.ä. hergestellt werden
| |
− | ** Ich verwende z.B.: <code>{ echo -n "Password: "; socat STDIN,echo=0 OPENSSL:212.12.50.213:61391,verify=1,cafile=/home/packbart/vermittlung.cert; }</code>
| |
− | ** Die Passphrase befindet sich in der Mappe im Hängeordner
| |
− | ** Eine Umstellung auf SSH ist geplant, siehe http://www.debian-administration.org/articles/579
| |
− | | |
− | <strong>Alt. TODO: Neues Crypto-Root beschreiben. Das will ich aber noch auf SSH umstellen.</strong>
| |
− | <strike>
| |
− | * Reboot: Die verschlüsselte Partition /srv wird nicht automatisch gestartet
| |
− | ** Nach Reboot einloggen und als root <code>mount /srv</code> aufrufen
| |
− | ** GPG-Passphrase befindet sich in der Mappe
| |
− | ** Danach <code>/etc/init.d/exim4 start</code> und <code>/etc/init.d/asterisk start</code> aufrufen
| |
− | ** Wenn asterisk sofort stirbt, den Restart-Zyklus mit <code>killall safe_asterisk</code> o.ä. abbrechen und Fehler suchen
| |
− | *** z.B. in /var/log/asterisk/messages
| |
− | ** Evtl. noch vserver starten?
| |
− | </strike>
| |
− | | |
− | <strong>Alt. TODO: Neues Backup-Verfahren einrichten. Mit Verschlüsselung?</strong>
| |
− | <strike>
| |
− | * Unregelmäßige Backups nach /backup/backup/vermittlung/
| |
− | ** dort liegt ein kleines mkbackup.sh, das / und /srv als .tar.bz2.gpg sichert
| |
− | ** Backups werden mit dem GPG Public Key von "root" verschlüsselt
| |
− | ** GPG-Passphrase befindet sich in der Mappe
| |
− | ** Backup von pubring.gpg und secring.gpg in .gnupg/
| |
− | ** Die Backups sollten evtl. auf einem anderen Server oder auch offsite gesichert werden
| |
− | *** Eine CD mit Public und Private Keys sollte in den Safe
| |
− | *** Austausch verschlüsselter Backups übers VPN? Hamburg sichert Hannover und Berlin, Hannover sichert Hamburg und Berlin, etc.
| |
− | </strike>
| |
− | | |
− | * Notizen zu wichtigen Wartungsmaßnahmen finden sich in /root/doc/
| |
− | * doku-sync der Faxe und Voicemails auf doku.ccc.de läuft per cron um 02,23,42 Minuten
| |
− | * Neue SIP-Accounts sollten in /etc/asterisk/accounts/$fnord/sip.conf angelegt werden
| |
− | * Anleitung zum Anlegen neuer Accounts mit Fax und Voicemail in /root/doc/doku-sync.txt
| |
− | | |
− | * Sourcen zur Asterisk-Installation in /usr/src/asterisk_pbx/
| |
− | ** Wir benutzen größtenteils die jeweils neueste "stable"
| |
− | *** asterisk (http://www.asterisk.org/) in Version 1.2
| |
− | *** zaptel (http://www.asterisk.org/)
| |
− | *** mISDN (http://www.misdn.org/)
| |
− | *** mISDNuser (http://www.misdn.org/)
| |
− | *** spandsp (http://www.soft-switch.org/)
| |
− | *** app_txfax, app_rxfax: http://www.soft-switch.org/downloads/snapshots/spandsp/test-apps-asterisk-1.2/
| |
− | ** Patches in /usr/src/asterisk_pbx/asterisk_patches/ oder http://www.hamburg.ccc.de/~packbart/asterisk/patches/1.2-vermittlung/
| |
− | ** Installieren nach /usr/local/stow/$paketname-$version/, kein unüberlegtes "make install"
| |
− | ** mit stow -Dv <alt>, stow -v <neu> dann die Links aktualisieren
| |
− | | |
− | * Haegar kompiliert gelegentlich einen neuen Kernel
| |
− | ** mISDN- und Zaptel-Module müssen ggf. mit den neuen Kernel-Sourcen gebaut und installiert werden
| |
− | | |
− | ==Installierte Software==
| |
− | * Die Auswahl installierter Debian-Pakete wird immer mal mit <code>dpkg --get-selections</code> in /root/doc/dpkg-selections dokumentiert.
| |
− | ===Telefonvermittlung===
| |
− | * Asterisk
| |
− | ** Version 1.2.X
| |
− | ** siehe auch: (Link auf VOIP:Konfiguration)
| |
− | | |
− | ===Update von Asterisk & Co.===
| |
− | Nach Kernelupdate müssen häufig zaptel und misdn neu übersetzt werden und die eine oder andere neue Version.
| |
− | Die einzelnen Komponenten werden nach dem Kernel in folgender Reihenfolge kompiliert. Patches mit kleineren Anpassungen liegen in /usr/src/asterisk_pbx/asterisk_patches/ oder unter http://www.hamburg.ccc.de/~packbart/asterisk/patches/1.2-vermittlung/
| |
− | | |
− | | |
− | * Zaptel
| |
− | ** http://downloads.digium.com/pub/zaptel/
| |
− | ** 1.2
| |
− | ** Patches:
| |
− | *** zaptel_nodev.patch: keine Devices im Install-Verzeichnis anlegen
| |
− | **** Devices existieren bereits mit owner asterisk.asterisk
| |
− | **** Alternative Möglichkeit root.dialout, vielleicht besser?
| |
− | ** kompilieren:
| |
− | *** <code>nice make -j 2 KVERS=2.6.20 KSRC=/usr/src/kernel/2.6.20-vermittlung/linux DESTDIR=/usr/src/asterisk_pbx/install-zaptel all install</code>
| |
− | ** Verzeichnisstruktur anpassen
| |
− | *** dev löschen - ist eh leer
| |
− | *** etc löschen - zaptel.conf existiert schon
| |
− | *** lib/modules/... nach /lib/modules/.../extra
| |
− | *** <code>mv usr/* .; rmdir usr</code>
| |
− | ** installieren nach /usr/local/stow/zaptel-1.2.xx
| |
− | *** <code>chown -R root.root</code>
| |
− | *** <code>stow -D -v zaptel-1.2.<alt></code>
| |
− | *** <code>stow -v zaptel-1.2.<neu></code>
| |
− | | |
− | | |
− | * mISDN
| |
− | ** http://www.misdn.org/downloads/releases/
| |
− | ** Patches:
| |
− | *** misdn_kmemcompat.patch: Kompatibilität zu Kernel 2.6.20
| |
− | *** ohne das gibts <strong>"error: too few arguments to function 'kmem_cache_create'"</strong>
| |
− | <pre>--- mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/capi.c 2008-01-18 10:24:49.000000000 +0100
| |
− | +++ mISDN-1_1_7_2-vermittlung/drivers/isdn/hardware/mISDN/capi.c 2008-04-19 07:52:44.000000000 +0200
| |
− | @@ -2,6 +2,8 @@
| |
− | *
| |
− | */
| |
− |
| |
− | +#define MISDN_COMPAT_KMEMCACHE 1
| |
− | +
| |
− | #include <linux/module.h>
| |
− | #include "core.h"
| |
− | #include "m_capi.h"
| |
− | </pre> | |
− | ** kompilieren:
| |
− | *** <code>nice make -j 2 KVERS=2.6.20 LINUX=/usr/src/kernel/2.6.20-vermittlung/linux LINUX_SOURCE=/usr/src/kernel/2.6.20-vermittlung/linux DEPMOD=/bin/true MODULES_UPDATE=/bin/true UPDATE_MODULES=/bin/true INSTALL_PREFIX=/usr/src/asterisk_pbx/install-misdn all install</code>
| |
− | ** Verzeichnisstruktur anpassen
| |
− | *** etc löschen
| |
− | *** lib/modules/... nach /lib/modules/.../extra
| |
− | *** <code>mv usr/* .; rmdir usr</code>
| |
− | ** installieren nach /usr/local/stow/mISDN-1.1.xx
| |
− | *** <code>chown -R root.root</code>
| |
− | *** <code>stow -D -v mISDN-1.1.<alt></code>
| |
− | *** <code>stow -v mISDN-1.1.<neu></code>
| |
− | | |
− | * mISDNuser
| |
− | ** http://www.misdn.org/downloads/releases/
| |
− | ** kompilieren:
| |
− | *** <code>nice make MISDNDIR=/usr/src/asterisk_pbx/install-misdn INSTALL_PREFIX=/usr/src/asterisk_pbx/install-misdnuser all install</code>
| |
− | *** irgendwo stimmen die Abhängigkeiten im Makefile nicht, mit -j 2 braucht man zwei Durchgänge wegen "No rule to make target `lib/libtenovis.a'"
| |
− | ** Verzeichnisstruktur anpassen
| |
− | *** <code>mv usr/* .; rmdir usr</code>
| |
− | ** installieren nach /usr/local/stow/mISDNuser-1.1.xx
| |
− | *** <code>chown -R root.root</code>
| |
− | *** <code>stow -D -v mISDNuser-1.1.<alt></code>
| |
− | *** <code>stow -v mISDNuser-1.1.<neu></code>
| |
− | | |
− | | |
− | * WENN man Asterisk auf einem anderen Host kompilieren möchte, ohne mISDN lokal zu installieren, muss man install-misdn/* und install-misdnuser/* in ein Verzeichnis install-misdnboth/ zusammenkopieren.
| |
− | | |
− | | |
− | * spandsp
| |
− | ** http://www.soft-switch.org/downloads/spandsp/
| |
− | ** 0.0.4
| |
− | ** kompilieren:
| |
− | *** <code>./configure --enable-mmx --enable-sse</code>
| |
− | *** <code>nice make DESTDIR=/usr/src/asterisk_pbx/install-spandsp all install</code>
| |
− | *** mit -j 2 zerlegt sich manchmal der Make-Vorgang. merkwürden.
| |
− | ** Verzeichnisstruktur anpassen
| |
− | *** <code>mv usr/local/* .; rm -r usr/</code>
| |
− | ** installieren nach /usr/local/stow/spandsp-0.0.xx
| |
− | *** <code>chown -R root.root</code>
| |
− | *** <code>stow -D -v spandsp-0.0.<alt></code>
| |
− | *** <code>stow -v spandsp-0.0.<neu></code>
| |
− | | |
− | | |
− | * Asterisk
| |
− | ** http://downloads.digium.com/pub/asterisk/
| |
− | ** 1.2
| |
− | ** Patches:
| |
− | *** app_fax_apps.patch: app_rxfax, app_txfax
| |
− | *** app_fax_makefile.patch
| |
− | *** asterisk_makefile_paths.patch
| |
− | *** chan_iax2_calleridprefix.patch
| |
− | *** chan_misdn_makefile.patch
| |
− | *** fileperms_apps.patch
| |
− | *** fileperms_voicemail.patch
| |
− | *** spandsp_header.patch
| |
− | ** kompilieren:
| |
− | *** <code>nice make -j 2 all; make DESTDIR=/usr/src/asterisk_pbx/install-asterisk install</code>
| |
− | *** /etc/asterisk.makeopts:
| |
− | <pre>K6OPT = -DK6OPT
| |
− | PROC = pentium4
| |
− | </pre>
| |
− | ** Verzeichnisstruktur anpassen
| |
− | *** etc löschen
| |
− | *** var löschen - ist alles schon vorhanden
| |
− | *** <code>mv usr/local/* .; rm -r usr</code>
| |
− | *** bin löschen - ist eh leer
| |
− | ** installieren nach /usr/local/stow/asterisk-1.2.xx
| |
− | *** <code>chown -R root.root</code>
| |
− | *** <code>stow -D -v asterisk-1.2.<alt></code>
| |
− | *** <code>stow -v asterisk-1.2.<neu></code>
| |
− | | |
− | | |
− | * chan_misdn
| |
− | ** das in Asterisk 1.2 enthaltene chan_misdn wirft segfaults wegen double free nach Hangup
| |
− | ** das tat es früher nicht. SMP-Foo?
| |
− | ** im aktuellen chan_misdn sind if(needs_release) um die entsprechenden Aufrufe herum
| |
− | ** http://www.beronet.com/downloads/chan_misdn/stable/chan_misdn.tar.gz
| |
− | ** kompilieren: <code>make MISDNUSERLIB=/usr/local/lib</code>
| |
− | *** wenn man chan_misdn auf einem Host kompilieren möchte, auf dem misdn lokal nicht installiert ist, muss man das Makefile anpassen. MISDNUSERLIB wird nur halbherzig verwendet, andere Pfade sind hart vorgegeben oder benutzen defaults
| |
− | ** das neue chan_misdn.so installieren nach <code>/usr/local/stow/asterisk-1.2.<neu>/lib/asterisk/modules/chan_misdn.so</code>
| |
− | | |
− | | |
− | ===Mail===
| |
− | * Exim 4
| |
− | ** Standard Debian-Paket (exim4-daemon-heavy)
| |
− | ** Konfiguration in /etc/exim4/exim4.conf, keine automatische Frickelei mit conf.d
| |
− | ** Einsatz als Backup-MX ist in /root/doc/README.postmaster beschrieben
| |
− | | |
− | * ClamAV
| |
− | ** aus Haegars Debian-Paket (aktuell: 0.90.3-0.sdinetB1)
| |
− | ** Daemon lauscht auf /var/run/clamav/clamd.ctl, nicht über TCP
| |
− | ** clamav-freshclam ist installiert und aktualisiert regelmäßig die Signatur-Datei
| |
− | | |
− | * Spamassassin
| |
− | ** aus Haegars Debian-Paket (aktuell: 3.2.1-0.sdinetB1)
| |
− | ** Daemon lauscht auf /var/run/spamd/spamd.ctl, nicht über TCP
| |
− | ** sa-update aktualisiert täglich die Tests
| |
− | | |
− | ===Sonstiges===
| |
− | * ntpd
| |
− | ** Bezieht die Zeit von mehreren nahegelegenen Stratum-2-Servern
| |
− | | |
− | * Icecast
| |
− | ** Für Streaming aus Asterisk-Konferenzen (app_ices)
| |
− | ** Todo: Iceast als On-demand-Relay für Streams konfigurieren um Bandbreite zu schonen, wenn mehrere Personen demselben Stream über die Vermittlung lauschen
| |
− | | |
− | ===Todo===
| |
− | * Software, die evtl. noch installiert werden könnte:
| |
− | ** Apache mit dynamischen Geraffel - aber wozu?
| |
− | ** Postgres/MySQL/sonstwas als Datenbank - aber wozu?
| |
− | *** Hauke sagt: Dann können wir gleich eine bunte LDAP-Datenbank entwerfen und darin Mitglieder, Telefonnummern, etc. verwalten
| |
− | | |
− | | |
− | ==Konfiguration==
| |
− | | |
− | (Dinge, die nicht in README.root stehen)
| |
− | | |
− | Siehe [[VoIP:Konfiguration_neu]] für Asterisk-nahen Kram inkl. Fax, libtiff usw.
| |