Artikel mit ‘Linux’ getagged

Installation Elastix 1.6.32 mit ISDN (AVM Friztcard)

Sonntag, 02. Mai 2010

Vorhaben:

Wir brauchen eine VoIP-Telefonanlage die über ISDN mit dem Telefonnetz verbunden ist. Um mit dem Telefonnetz zu kommunizieren ist im Server eine AVM Fritzcard eingebeaut.

Vorgehensweise:

  • Die Grundlage dieser Telefonanlage ist Linux, CentOS um genau zu sein. Wir beginnen nun mit der Installation von Elastix, dabei ist auf keine besonderheiten zu achen. Standardeinstellungen können übernommen werden.
  • Nach der Installation, Update nicht vergessen! (yum update)
  • Über die Adminkonsole des Elastix (https://<IP-des-Elastix>), im Bereich PBX, müssen nun einige Dinge eingestellt werden.
  • Die Fritzcard wird zwar von Haus aus erkannt und entsprechend installiert aber es muss trotzdem noch einige Dinge eingerichtet werden.
    Ssh auf Elastix (ssh root@<ip-adresse-elasix>)

    • misdn-init scan
    • misdn-init config
    • misdn-init start
    • reboot
  • Nun müssen unsere Nebenstellen im Bereich “Extensions” angelegt werden.
    • Auswählen welches Gerät hinzugefügt werden soll, in unserem Fall verwenden ausschließlich Sip Telefone/Softtelefone verwendet. Also “Generic SIP Device” auswählen und mit Submit bestätigen.
    • User Extension (Durchwahl/Nebenstelle), Display Name (Beliebiger Name) und secret (Passwort für die Anmeldung der Telefone am Server) müssen eingegeben werden. Alle anderen Parameter können eingegeben werden.
    • Soll es möglich sein, einen Anruf, an einem anderen Aparat entgegen zu nehmen (mit *8), muss bei callgroup und pickupgroup jeweils die Zahl 1 eingetragen werden
  • Nun erstellen wir einen Custom-Trunk
    • Im Bereich TrunksAdd Custom Trunk” auswählen
    • Dial Rules: 9|X. (9 wird von der zu wählenden Nummer weggeschnitten. Alles was nach “|” steht wird schlussendlich von der Telefonanlage gewählt. Das heißt “9″ ist für die “Amtsholung” zuständig bzw. “9″ entscheidet welcher Trunk zum wählen verwendet wird. Es kann jede beliebige Zahl verwendet werden (auch mehrstellig). Wählt man am Telefon zB 90664123456789 wird 0664123456789 von der Telefonanlag gewählt)
    • Custom Dial String: mISDN/g:ta/$OUTNUM$
      • ta ist der Context der in der Datei /etc/asterisk/misdn.conf hinzugefügt werden muss
  • Outbound Rules erstellen
    • Rule Name: (bliebiger Name)
    • Dial Patterns: 9|X.
    • Trunk Sequence: (den vorher angelegten Trunk auswählen)
  • In der Datei /etc/asterisk/misdn.conf muss ein neuer Contex erstellt werden.
    • [ta]
      ports=1
      context=from-pstn
      msns=*
      echocancel = no
      overlapdial = no
      senddtmf = yes
      far_alerting = yes
      te_choose_channel = no
      nationalprefix = 90
      internationalprefix = 900
      rxgain = 0
      txgain = 0
  • Asteriskkonfiguration neu laden oder einfach reboot (nach den speichern (Klick auf “Subnit Changes” jedes schrittes, erscheint in der Kopfzeile “Apply Configuration Changes Here”
  • nun funktionieren ausgehende Anrufe
  • damit auch eingehende Telefonate angenommen werden können, muss mindestens eine “Inbound Route” angelegt werden.
    • Description eingeben (beliebieg)
    • Am Ende der Seite muss ausgewählt werden, an wen eingehende Anrufe verbunden werden. Gewählt werden können einzelne Benuzter (Extensions), Benutzergruppen (Ring Groups) oder Mailboxen. Weitere auswahlmöglichkeiten müssen erst konfiguriert werden.
    • Um eine Benutzergruppe auswählen zu können, muss noch eine “Ring Goup” angelegt werden. Unter “Ring GroupsGroup Description eingeben. Wichtig ist die Extension List. Diese Liste gibt an selches Telefon klingelt wenn zB 600 gewählt wird. Nach dem Speichern kann die Benutzergruppe ausgewählt werden.

Saslauthd bringt Fehlermeldung “warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory”

Montag, 25. Januar 2010

Problem:

Auf einem Linuxserver mit Postfix, Saslauth,… erscheinen folgende Fehlermeldungen:

Jan 24 08:20:00 mail postfix/smtpd[2831]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
Jan 24 08:20:00 mail postfix/smtpd[2831]: warning: SASL authentication failure: Password verification failed
Jan 24 08:20:00 mail postfix/smtpd[2831]: warning: unknown[client.IP.add.ress]: SASL PLAIN authentication failed: generic failure
Jan 24 08:20:00 mail postfix/smtpd[2831]: disconnect from unknown[client.IP.add.ress]

Lösung:

Saslauthd verwendet die falsche Authentifizierungsmethode. In meinem Fall wurde aus testgründen irgendwann mal auf “PAM” umgestellt und fergessen dies wieder zurückzustellen.

In der Datei /etc/default/saslauthd den Eintrag: MECHANISMS=”pam” auf MECHANISMS=”sasldb” ändern.

Linux (Debian Lenny) Server von VMWare Virtalserver nach MS Hyper-V Server 2008 R2 Migrieren

Donnerstag, 26. November 2009

VMWare Server soll zu einem MS Hyper-V Server werden und es sollen alle Gastsysteme übernommen werden.

Das Problem:

Beim anlegen eines Gastsystems nimmt VMWare Server an, dass die Festplatte(n) an einen virtuellen SCSI-Kontroller angeschlossen sind.
Dies ist beim MS Hyper-V Server nicht der Fall, da virtuelle SCSI-Kontroller hier, zu 100% virtuell erstellt werden und daher erst zur laufzeit des Gastbetriebssystems auf Festplatten am virtuellen SCSI-Kontroller zugegriffen werden kann. Daher ist das Booten von virtuellen SCSI-Festplatten, mit dem Hyper-V Server, nicht möglicht.

Das Gast-Linux soll aber trotzdem auf den Hyper-V Server umziehen.

Lösung:

Dieses Verfahren ist mit Debian Lenny/Etch bereits getestet und sollte auch bei anderen Linuxdistributionen funktionieren.

  1. Als erstes muss die virtuelle Laufwerksdatei <server>.VDMK nach <server>.VHD Konvertieren werden. Dies gelingt mit dem Tool Vdmk2Vhd.
  2. Als nächstes leget man auf dem neuen Hyper-V Server einen neuen virtuellen Gast an.
    Dabei ist darauf zu achen, dass ein vorhandenes Laufwerk (das gerade eben konvertierte) ausgewählt wird.
    Zusätzlich muss eine neue “Alte Netzwerkkarte” hinzufügen.
    Mit der Netzwerkkarte die standardmäßig hinzugefügt wird, kann Linux ohne zusätzliche Treiber nichts anfangen.
  3. Gastsystem booten.
  4. Warten bis die Meldung (initramfs) auf dem Bildschirm zur Eingabe auffordert.
  5. Ein neues Verzeichnis erstellen, in das, im nächsten Schritt, die Festplatte gemountet werden kann. (z. B. mkdir /mnt)
  6. Da die Festplatte jetzt an einem virtuellen IDE-Kontroller hängt, mounten wir jetzt die HDA1:
    mount -t <dateisystem> /dev/hda1 /<oben erstelltes Verzeichnis>
    z.B. mount -t ext3 /dev/hda1 /mnt
  7. ändern der Dateien /etc/fstab und /boot/grub/menu.lst
    vi /mnt/etc/fstab <– in dieser Datei alle Strings “sda” in “hda” ändern
    vi /mnt/boot/grub/menu.lst <– auch hier alle “sda” in “hda” ändern
  8. reboot

VI tipps:
suchen mit                       /<suchbegriff>
Zeichen ändern mit          r  <neues Zeichen>
speichern und exit mit     : x

Sollte, wieder erwarten, die Netzwerkkarte doch noch nicht funktionieren, kann es daran liegen, dass in der datei /etc/udev/rules.d/70-persistent-net.rules ein falscher Eintrag steht.
Kommentiert, alle Zeilen begginend mit “SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==…”, aus. Danach nocheinma neu starten und es sollte alles wieder funktionieren wie gehabt.

Umziehen von ISPCP Omega auf neuen Server mit neuen IP-Adressen

Montag, 16. November 2009

Probelm:

Der alte Server ist zu klein, zu alt etc. und ich bekomme neue IP-Adressen zugewiesen. Was tun mit ISPCP Omega 1.0.0. RC3??

Lösung:

Daten auf dem Alten Server sichern, sichern, sichern!!!

1. Datenbanken mit mysqldump und Daten z.B. mit tar sicher:

Daten               tar -cvzf www.tar.gz /var/www/virtual
Datenbanken    mysqldump -u root -p<passwort> ispcp > ispcp.sql

alle weiteren Datenbanken sollten auch einzeln gesichert werden da sonst auf dem neuen Server die Datenbank ispcp beim nachträglichen Import überschrieben wird.
Ansonsten können mit:

mysqldump -u root -p<passwort> —all-databases

alle Datenbanken auf dem Server gesichert werden.

2. Neuer Server installieren, in meinem Fall Debian Lenny.

Installation von ISPCP Omega nach Anleitung. In meinem Fall aktueller Trunk

Installationanleitung für Debian

nach der Installation, die Datei ispcp.sql vom alten Server mittels WinSCP oä. auf den neuen Server kopieren und mit

mysql -u root -p<passwort> <[pfad]/ispcp.sql

in Mysql importieren.

Von einem Client im Netz mit einem Internet-Browser auf den Server zugreifen:

http://admin.<domain.tld>/

als Admin anmelden

Ein Datenbankupdate erforderlich.

Jetzt müssen die Domänen wieder erstellt werden, wie folgt:

Die User vom alten Server übernehmen, also alle vuxxxx “Zeilen” aus den Dateien /etc/passwd, /etc/shadow und /etc/group in die entsprechenden Dateien auf dem neuen Server kopieren.

/etc/init.d/ispcp_daemon stop
mysql -u root -p<password>
USE ispcp
UPDATE mail_users SET status=”toadd” where status=”ok”;
UPDATE domain SET domain_status = ‘toadd’ WHERE domain_status = ‘ok’;
UPDATE domain_aliasses SET alias_status = ‘toadd’ WHERE alias_status = ‘ok’;
UPDATE subdomain SET subdomain_status = ‘toadd’ WHERE subdomain_status = ‘ok’;
quit
/var/www/ispcp/engine/ispcp-rqst-mngr
/etc/init.d/ispcp_daemon start

Nun werden alle Domains, Supdomains, Aliases und E-Mailadressen angelgt.

So, jetzt ist ISPCP Omega auf dem neuen Server installiert.

Testweise kann man sich als User anmelden und kontrollieren ob alles OK ist.

3. Absicherung

Um das ganze sicherer zu machen müssen wir noch diverse Spamfilter und Anti-Viren-Programme installieren. Diese ist die Anleitung die ich dafür verwendet habe.

4. Abschließende Arbeiten

Alte Datenbanke “ohne ISPCP” iportieren

mysql -u root -p<passwort> <[Datebankname]

Nach dem Import solltet ihr im mysql ein flush privileges; machen, ansonsten werden die User nicht übernommen.

Webseiten vom alten Server übernehmen.

Die zuvor erstellt Datei www.tar.gz nun noch entpacken und alle Webseiten sind wieder vorhanden.<neuer Server> cd /var/www
<neuer Server> tar -xvzf www.tar.gz

Alte Emails übernehmen:
<alter Server> cd /var/mail
<alter Server> tar -cvzf mail.tar.gz virtual/
Date mail.tar.gz auf neuen Server ins verzeichnis /var/mail/ kopieren
<neuer Server> cd /var/mail
<neuer Server> tar -xvzf mail.tar.gz

So ungefäht sollte der Optemalfall aussehen. Es kann natürlich von System zu System unterschiede geben.

Hier noch einige Tipps:

FastCGI deaktivieren: (bei mir hat FastCGI bzw FCGI nicht funktioniert):
fastcgi und fastcgi_ispcp aus /etc/apache2/mods-enable/ löschen

Passwort vom Mysql-User debian-sys-maint neu eintragen:
Das Passwort aus /etc/mysql/debian.cnf kopieren und mit z.B. PHPMyAdmin neu setzen

Pear Module installieren:
pear install net_imap
pear install Image_graph

Pfade zu “open_base_dir” in der /etc/apache2/sites-available/00_master.conf hinzufügen:
…:/usr/share/pear/Smarty/:/usr/share/php:/usr/share/pear:/tmp

Webmailkonfigurationen und Adressbücher übernehmen:
übernehmen aller Dateien mit einem “@” im Dateinamen
<alter Server> tar -cvzf mailconfs.tar.gz /var/www/ispcp/gui/tools/webmail/data/*@*
kopiere das File mailconfs.tar.gz auf den neuen Server
<neuer Server> cd /var/www/ispcp/gui/tools/webmail/data/
<neuer Server> tar -xvzf mailconfs.tar.gz
<neure Server> chmod 775 /var/www/ispcp/gui/tools/webmail/data/
<neuer Server> chown www-data:www.data /var/www/ispcp/gui/tools/webmail/data/*

Das Verzeichnis /var/www/ispcp/gui/phptmp kann nicht beschrieben werden:
chmod 777 /var/www/ispcp/gui/phptmp

Wie wird mit “tar” gepackt und entpackt.

Mittwoch, 23. September 2009

Zum Packen von “Tar-Balls” folgedes eingeben:
tar -cvf <dateiname.tar> <quelle>
tar -cvzf <dateiname.tar.gz> <quelle>
tar -cvjf <dateiname.tar.bz> <quelle>

Zum entpacken folgendes eingeben:
tar -xvf <dateiname.tar>
tar -xvzf <dateiname.tar.gz>
tar -xvjf <dateiname.tar.bz>

Fehler bei Nagios “nagios.cmd” fehlt/kann nicht ausgefürht werden

Montag, 21. September 2009

Problem:

Folgende Fehlermeldung erscheint beim “Rescedule” im Nagios:

Error: Could not stat() command file ‘/var/lib/nagios2/rw/nagios.cmd’!

Lösung:

Rechte sind falsch gesetzt.

chmod 777 /var/lib/nagios2/rw/

falls nötig noch:

chmod 777 /var/lib/nagios2/rw/nagios.cmd

GPG Fehlermeldung bei “apt-get update”

Mittwoch, 12. August 2009

Problem:

W: GPG error: <weblink zum debianarchiv> lenny/updates Release: Konnte nicht auf Schlüsselring zugreifen: “No such file or directory”
W: GPG error: <weblink zum debianarchiv> lenny Release: Konnte nicht auf Schlüsselring zugreifen: “No such file or directory”
W: Probieren Sie “apt-get update”, um diese Probleme zu korrigieren.

Lösung:

apt-get install debian-archive-keyring debian-keyring

Installation einer VOIP-Telefonanlage mit ISDN-Zugang

Donnerstag, 22. Januar 2009

Anforgerung:

Eine VOIP-Telefonanlage soll eine bestehende Telefonanlage ersehten. Wenn möglich sollen die bestehenden Telefone übernommen werden.

Das wird benötigt:

  • Server: der Server sollte für etwa 15 gleichzeitige Verbindungen ca 1,5GHz haben und ca 512MB Ram.
  • Telefone: für jeden Arbeitsplatz wird ein VOIP-Telefon bzw ein Adapter für den Anschluss eines bestehenden Telefons benötigt.
  • ISDN: Zum zugang ins ISDN-Netz wird eine ISDN-Karte benötigt.

Installation von AsteriskNOW:

Es gibt 2 Installationsansätze. Der eine ist über die Komandozeile der andere über ein vorgefertigte Installation.

Als erstes beschreibe ich den “Leichten” Weg mit der Installation über das vorgefertigte ISO-File. Da bei diesem ISO-File schon alle benötigten Komponenten enthalten sind entfällt die Aufwendigere installation der eigentlichen Telfonanlage. Hier verwende ich AsteriskNOW.

Installation Asterisk unter Debian:

vorbereitende instalationstätigkeiten:

apt-get install pppdcapiplugin ppp

apt-get -y install build-essential libncurses5-dev libcurl3-dev libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev linux-headers-`uname -r` flex bc pciutils libnewt-dev libusb-dev

apt-get -y install linux-source kernel-package g++ libncurses5-dev sqlite zlib1g-dev libmysqlclient15-dev libsqlite0-dev

downloaden der AVM-Fritzkatrentreibern
wget http://download.avm.de/cardware/fritzcrd.pci/linux/suse.93/fcpci-suse93-3.11-07.tar.gz
Treiber

entpacken der Treiber
tar -xvzf fcpci-suse93-3.11-07.tar.gz

patchen
cd fritz
patch -p1 < ../fritz-tools.diff
./install

Hisax treiber entladen, da er sich mit dem Fritzkartentreibern nicht verträgt.
lsmod | grep ^hisax
rmmod hisax_fcpcipnp
rmmod hisax_isca
rmmod hisax

laden des Fritz Treibers:
modprobe -v fcpci

Capi-initialisieren
capiinit

Capi-Info
capiinf

Damit der Treiber auch beim Systemstart geladen wird, muss in der Datei /etc/isdn/capi.conf editiert werden. Dafür einfach das Kommentarzeichen entfernen.

Download:

Asterisk-1.4

Asterisk-1.6

Asterisk-Addons-1.4

Asterisk-Addons-1.6

Asterisk-gui

libpri-1.4 aktuell

Eigentliche Installation von Asterisk:

LibPri:

cd /usr/src/
wget http://downloads.digium.com/pub/telephony/libpri/libpri-1.4-current.tar.gz
tar -xvzf libpri-1.4-current.tar.gz
cd libpri-1.4.<Version>
make
make install

Asterisk:

cd /usr/src/
wget http://downloads.digium.com/pub/telephony/asterisk/asterisk-1.6-current.tar.gz
tar -xvzf asterisk-1.6-current.tar.gz
cd asterisk-1.6.<Version>
./configure
make
make install
make samples
make config

Asterisk-Addons:

cd ..
wget http://downloads.digium.com/pub/telephony/asterisk/asterisk-addons-1.6-current.tar.gz
tar -xvzf asterisk-addons-1.6-current.tar.gz
cd asterisk-addons-1.6.<Version>
make clean
./configure
make
make install
make config

Installation eines Lowcost Linux-Videorecorder (VDR)

Mittwoch, 07. Januar 2009

Konfiguration:
P4 2,8GHz mit 1GB Ram
3x Hauppauge Win-TV Nova-SE2 (DVB-S)
Als Client einen Hauppauge MediaMVP.

Betriebssystem:
Debian 4.0

Konfigurations-/Managementplugins:
vdr-plugin-control
vdr-plugin-xxv
vdr-plugin-xxvautotimer
vdradmin-am

Die Installation:

Als Erstes benütigt man einen Rechner mit 1-4 DVB-Videokarten.

Der zweite Schritte ist die installation des Grundsystems, in meinem Fall verwende ich Debian 4.0.

Nach der Installation werden die benötigten Packete nachinstalliert.
Um dies zu erledigen muss zuerst folgendes in die Datei /etc/apt/source.list eingetragen werden:

################ schnipp #####################
deb  http://e-tobi.net/vdr-experimental    etch base addons vdr-multipatch
deb  http://ftp.de.debian.org/debian          etch  main contrib non-free
deb  http://www.debian-multimedia.org    etch  main
################ schnapp #####################

apt-get install e-tobi-keyring

dannach muss das System noch mit
apt-get update && apt-get upgrade
aktuallisiert werden.

Um weitere Sprachpackete zu installieren bzw. die Standardsprache zu setzen:
dpkg-reconfigure locales
im folgenden Dialog die gewünschten Sprachpackete auswählen und dann die Standardsprache auswählen.

Nun folgt die eigentliche Installation der VDR-Packete:

apt-get install -V mysql-server (wird für XXV benötigt)
apt-get install -V less vdr
vdr-xxv vdr-plugin-vompserver vdr-vompclient-mvp (der eigentliche VDR mit den Plugins für den Hauppauge MediaMVP)
apt-get install -V vdr-plugin-xxvautotimer vdradmin-am mc vdr-plugin-control (Administrationstools zur Konfiguration und Programmierung des VDR)
apt-get install -V libdvb-dev

Die Option -V zeigt die Version an die installiert wird.

Je nach Installation und Hardware kann es vorkommen, dass die CPU bis zu 80% ausgelastet ist. Wenn der Prozess KDVB-FE-x die meiste CPU-Kapazität verwendet, ist nach meiner Erfahrung ein Kernelupdate angesagt. Zumindest hat es bei mir geholfen. Da mit apt-get upgrade schon der neueste Kernel installiert wurde, habe ich mit folgendem Befehl einen anderen Kernel installiert, mit diesem Funktioniert alles einwandfrei, maximale CPU-Auslastung liegt etwa bei 10-15%.

apt-get install linux-image-2.6.24-etchnhalf.1-686

Damit können alle Freiempfangbaren Satellitenprogramme empfangen und aufgezeichnet werden.

Viel Spaß beim Tüfteln…