Die hier aufgeführte Installationsanleitung gilt für ein Asterisk-System mit allen in diesem Buch beschriebenen Features (bei Ausnahmen wird dies gesondert besprochen). Deshalb ist die Installation etwas umfangreicher. Das hat aber auch den Vorteil, dass Sie in Zukunft nicht noch einmal etwas nachinstallieren müssen.
Tipp | |
---|---|
Falls Sie zum ersten Experimentieren mit Asterisk nicht direkt einen Rechner neu installieren wollen, empfehlen wir Ihnen eine Installation in einem Knoppix-Live-System. |
Es wird ein frisch installiertes Debian GNU/Linux 5.0 („Lenny“) vorausgesetzt. Ein ISO-Image für die Installation finden Sie auf http://www.debian.org/releases/lenny/debian-installer/. Wir empfehlen das etwa 150 MByte große Netzinstallations-CD-Image[152]. Eine Debian GNU/Linux-Installationsanleitung findet sich unter http://www.debian.org/releases/lenny/i386/. Ein allgemeines Anwenderhandbuch steht unter http://debiananwenderhandbuch.de.
Anmerkung | |
---|---|
Bitte loggen Sie sich nach der Installation als Benutzer
|
Anmerkung | |
---|---|
Einige Anwender werden wohl direkt einen SSH-Server installieren
wollen, um von ihrem normalen Arbeitsplatz aus im Terminal auf dem Server
arbeiten zu können. Der Befehl dazu lautet: |
Es versteht sich eigentlich von selbst, dass man auf einem frisch
installierten System erst einmal sicherstellt, dass die Paketverwaltung
(APT[153] bzw. aptitude
) die aktuellen Paketlisten
zur Verfügung hat ...
debian:~# aptitude update
Treffer http://ftp.de.debian.org lenny Release.gpg
[...]
1820kB wurden in 13s heruntergeladen (138kB/s)
Paketlisten werden gelesen... Fertig
debian:~#
... und dass alle Pakete auf dem neusten Stand sind:
debian:~# aptitude -y upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
[...]
Es werden keine Pakete installiert, aktualisiert oder entfernt.
0 Pakete aktualisiert, 0 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert.
Muss 0B an Archiven herunterladen. Nach dem Entpacken werden 0B zusätzlich belegt sein.
debian:~#
Für den Fall, dass beim Upgrade der Pakete auch ein neuer Kernel
installiert wurde, müssen wir jetzt das System mit
shutdown -r now
(oder mit
reboot
) neu starten:
debian:~# shutdown -r now
Broadcast message from root@debian (pts/0) (Mon Mar 23 17:42:04 2009):
The system is going down for reboot NOW!
Nach dem Booten loggen Sie sich bitte wieder als
root
ein.
Anmerkung | |
---|---|
Das hat zwar nichts mit Asterisk zu tun, aber typischerweise installiert man auch NTP, um immer die aktuelle Zeit zu haben: debian:~# aptitude -y install ntp ntpdate Ein Muss ist das natürlich nicht. |
Zuerst installieren wir eine Build-Umgebung – d.h. Compiler usw. – und diverse Abhängigkeiten, damit das Kompilieren von Asterisk erfolgreich durchgeführt werden kann.
debian:~# aptitude -y install build-essential[...]
Die folgenden NEUEN Pakete werden zusätzlich installiert: binutils{a} build-essential bzip2{a} cpp{a} cpp-4.3{a} dpkg-dev{a} g++{a} g++-4.3{a} gcc{a} gcc-4.3{a} libc6-dev{a} libgmp3c2{a} libgomp1{a} libmpfr1ldbl{a} libstdc++6-4.3-dev{a} libtimedate-perl{a} linux-libc-dev{a} make{a} patch{a} 0 Pakete aktualisiert, 19 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert. Muss 19,4MB an Archiven herunterladen. Nach dem Entpacken werden 60,4MB zusätzlich belegt sein.[...]
Richte libstdc++6-4.3-dev ein (4.3.2-1.1) ... Richte g++-4.3 ein (4.3.2-1.1) ... Richte g++ ein (4:4.3.2-2) ... Richte build-essential ein (11.4) ...[...]
Linux-Kernel-Header:
debian:~# aptitude -y install linux-headers-`uname -r`
Die folgenden NEUEN Pakete werden zusätzlich installiert:
cpp-4.1{a} gcc-4.1{a} gcc-4.1-base{a}
linux-headers-2.6.26-1-686
linux-headers-2.6.26-1-common{a}
linux-kbuild-2.6.26{a}
0 Pakete aktualisiert, 6 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert.
Muss 7326kB an Archiven herunterladen. Nach dem Entpacken werden 41,3MB zusätzlich belegt sein.
[...]
LibPRI
Die LibPRI-Bibliothek enthält den PRI[154]-Stack, allerdings auch Funktionen für BRI[155]-ISDN-Anschlüsse. Sie ist nicht für alle Einsatzzwecke notwendig, schadet dann aber auch nicht.
debian:~# cd /usr/src/
debian:/usr/src# wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
[...]
2009-03-23 10:24:55 (108 KB/s) - »libpri-1.4-current.tar.gz« gespeichert [94075/94075]
Anmerkung | |
---|---|
Ja, libpri 1.4.x ist die richtige Version für Asterisk 1.6. |
Entpacken Sie sie wie folgt:
debian:/usr/src# tar xvzf libpri-1.4-current.tar.gz
libpri-1.4.9/
libpri-1.4.9/build_tools/
[...]
debian:/usr/src# rm libpri-1.4-current.tar.gz
Kompilieren und installieren:
debian:/usr/src# cd libpri-1.4.9/ debian:/usr/src/libpri-1.4.9# make[...]
debian:/usr/src/libpri-1.4.9# make install[...]
Dahdi
Dahdi[156] ist für die Kommunikation zwischen Asterisk und ISDN/Analog-Karten zuständig. Aber auch ohne solche Karten lohnt sich die Installation, denn Dahdi erfüllt z. B. auch die Aufgabe, einen Zeittakt für Konferenzräume bereitzustellen.
Laden Sie Dahdi wie folgt herunter:
debian:~# cd /usr/src/ debian:/usr/src# wget http://downloads.digium.com/pub/telephony/dahdi-linux/dahdi-linux-current.tar.gz[...]
2009-03-23 10:33:37 (165 KB/s) - »dahdi-linux-current.tar.gz« gespeichert [1251822/1251822] debian:/usr/src# wget http://downloads.digium.com/pub/telephony/dahdi-tools/dahdi-tools-current.tar.gz[...]
2009-03-23 10:37:49 (147 KB/s) - »dahdi-tools-current.tar.gz« gespeichert [413598/413598] debian:/usr/src#
Entpacken:
debian:/usr/src# tar xvzf dahdi-linux-current.tar.gz dahdi-linux-2.1.0.4/ dahdi-linux-2.1.0.4/include/[...]
debian:/usr/src# tar xvzf dahdi-tools-current.tar.gz dahdi-tools-2.1.0.2/ dahdi-tools-2.1.0.2/hdlctest.c[...]
debian:/usr/src# rm dahdi-linux-current.tar.gz debian:/usr/src# rm dahdi-tools-current.tar.gz
Abhängigkeiten installieren:
debian:/usr/src# aptitude -y install libusb-dev libnewt-dev[...]
Die folgenden NEUEN Pakete werden zusätzlich installiert: libnewt-dev libpng12-0{a} libpng12-dev{a} libslang2-dev{a} libusb-dev zlib1g-dev{a} 0 Pakete aktualisiert, 6 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert. Muss 1176kB an Archiven herunterladen. Nach dem Entpacken werden 3113kB zusätzlich belegt sein.[...]
Richte libnewt-dev ein (0.52.2-11.3) ... Richte libusb-dev ein (2:0.1.12-13) ...[...]
Kompilieren und installieren:
debian:/usr/src# cd dahdi-linux-2.1.0.4/ debian:/usr/src/dahdi-linux-2.1.0.4# make[...]
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-1-686' debian:/usr/src/dahdi-linux-2.1.0.4# make install[...]
DEPMOD 2.6.26-1-686 make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-1-686'[...]
################################################### ### ### DAHDI installed successfully. ### If you have not done so before, install the package ### dahdi-tools. ### ###################################################
debian:/usr/src/dahdi-linux-2.1.0.4# cd .. debian:/usr/src# cd dahdi-tools-2.1.0.2/ debian:/usr/src/dahdi-tools-2.1.0.2# ./configure[...]
checking for newtBell in -lnewt... yes checking newt.h usability... yes checking newt.h presence... yes checking for newt.h... yes checking for usb_init in -lusb... yes checking usb.h usability... yes checking usb.h presence... yes checking for usb.h... yes[...]
debian:/usr/src/dahdi-tools-2.1.0.2# make[...]
make[1]: Leaving directory `/usr/src/dahdi-tools-2.1.0.2' debian:/usr/src/dahdi-tools-2.1.0.2# make install[...]
################################################### ### ### DAHDI tools installed successfully. ### If you have not done so before, install init scripts with: ### ### make config ### ################################################### debian:/usr/src/dahdi-tools-2.1.0.2#
Init-Skripte und Konfigurationsdateien installieren:
debian:/usr/src/dahdi-tools-2.1.0.2# make config
install -D dahdi.init /etc/init.d/dahdi
/usr/bin/install -c -D -m 644 init.conf.sample /etc/dahdi/init.conf
/usr/bin/install -c -D -m 644 modules.sample /etc/dahdi/modules
/usr/bin/install -c -D -m 644 modprobe.conf.sample /etc/modprobe.d/dahdi
/usr/bin/install -c -D -m 644 blacklist.sample /etc/modprobe.d/dahdi.blacklist
/usr/sbin/update-rc.d dahdi defaults 15 30
Adding system startup for /etc/init.d/dahdi ...
/etc/rc0.d/K30dahdi -> ../init.d/dahdi
/etc/rc1.d/K30dahdi -> ../init.d/dahdi
/etc/rc6.d/K30dahdi -> ../init.d/dahdi
/etc/rc2.d/S15dahdi -> ../init.d/dahdi
/etc/rc3.d/S15dahdi -> ../init.d/dahdi
/etc/rc4.d/S15dahdi -> ../init.d/dahdi
/etc/rc5.d/S15dahdi -> ../init.d/dahdi
DAHDI has been configured.
If you have any DAHDI hardware it is now recommended you
edit /etc/dahdi/modules in order to load support for only
the DAHDI hardware installed in this system. By default
support for all DAHDI hardware is loaded at DAHDI start.
I think that the DAHDI hardware you have on your system is:
debian:/usr/src/dahdi-tools-2.1.0.2#
Der Hinweis sagt uns, dass wir für einen schnelleren Systemstart und
für ein schlankeres System in der Datei
/etc/dahdi/modules
alle Module auskommentieren sollten,
die wir nicht für gegebenenfalls eingebaute Karten benötigen. Das ist aber
kein Muss. Wer keine Karten installiert hat, kann alle Module
auskommentieren.
Um jetzt nicht das System rebooten zu müssen, starten wir einfach Dahdi neu, damit die Module geladen werden:
debian:~# /etc/init.d/dahdi restart
Unloading DAHDI hardware modules: done
Loading DAHDI hardware modules:
No hardware timing source found in /proc/dahdi, loading dahdi_dummy
Running dahdi_cfg: done.
debian:~#
Hier im Beispiel wurde ohne eingebaute Karten automatisch
dahdi_dummy
[157] geladen, das auch ohne ISDN-Karten einen Zeittakt
bereitstellt.
Asterisk
Auf der Asterisk-Homepage http://www.asterisk.org finden Sie die notwendigen Quellen, um Asterisk zu installieren.
Anmerkung | |
---|---|
Bei Asterisk 1.6 ist die Nummerierung der Versionen etwas anders als
bei 1.4. Die Versionen 1.6.0.x, 1.6.1.x, 1.6.2.x usw. sind
unterschiedliche Zweige („Branches“), d.h., es gibt eine URL
|
debian:~# cd /usr/src/
debian:/usr/src# wget http://downloads.digium.com/pub/asterisk/asterisk-1.6.0-current.tar.gz
[...]
2009-03-23 10:45:32 (172 KB/s) - »asterisk-1.6.0-current.tar.gz« gespeichert [13415949/13415949]
Entpacken:
debian:/usr/src# tar xvzf asterisk-1.6.0-current.tar.gz
asterisk-1.6.0.6/
[...]
debian:/usr/src# rm asterisk-1.6.0-current.tar.gz
Abhängigkeiten und zusätzliche Pakete installieren:
debian:/usr/src# aptitude -y install libncurses5-dev libnewt-dev[...]
Die folgenden NEUEN Pakete werden zusätzlich installiert: libncurses5-dev 0 Pakete aktualisiert, 1 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert. Muss 1546kB an Archiven herunterladen. Nach dem Entpacken werden 6599kB zusätzlich belegt sein.[...]
debian:/usr/src# aptitude -y install libcurl4-openssl-dev[...]
Die folgenden NEUEN Pakete werden zusätzlich installiert: ca-certificates{a} comerr-dev{a} libcurl3{a} libcurl4-openssl-dev libglib2.0-0{a} libglib2.0-data{a} libidn11{a} libidn11-dev{a} libkadm55{a} libkrb5-dev{a} libldap2-dev{a} libpcre3{a} libssh2-1{a} libssh2-1-dev{a} libssl-dev{a} openssl{a} pkg-config{a} 0 Pakete aktualisiert, 17 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert. Muss 8171kB an Archiven herunterladen. Nach dem Entpacken werden 23,2MB zusätzlich belegt sein.[...
]
debian:/usr/src# aptitude -y install libspeex-dev libspeexdsp-dev[...]
Die folgenden NEUEN Pakete werden zusätzlich installiert: libspeex-dev libspeex1{a} libspeexdsp-dev libspeexdsp1{a} 0 Pakete aktualisiert, 2 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert. Muss 320kB an Archiven herunterladen. Nach dem Entpacken werden 717kB zusätzlich belegt sein.[...]
debian:/usr/src# aptitude -y install libiksemel-dev[...]
Die folgenden NEUEN Pakete werden zusätzlich installiert: libiksemel-dev libiksemel3{a} 0 Pakete aktualisiert, 2 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert. Muss 91,9kB an Archiven herunterladen. Nach dem Entpacken werden 299kB zusätzlich belegt sein.[...]
debian:/usr/src# aptitude -y install unixodbc-dev[...]
Die folgenden NEUEN Pakete werden zusätzlich installiert: autotools-dev{a} defoma{a} file{a} fontconfig{a} fontconfig-config{a} libaudio2{a} libdrm2{a} libexpat1{a} libfontconfig1{a} libfreetype6{a} libgl1-mesa-glx{a} libglu1-mesa{a} libice6{a} libjpeg62{a} liblcms1{a} libltdl3{a} libltdl3-dev{a} libmagic1{a} libmng1{a} libodbcinstq1c2{a} libqt3-mt{a} libsm6{a} libtool{a} libxcursor1{a} libxdamage1{a} libxfixes3{a} libxft2{a} libxi6{a} libxinerama1{a} libxmu6{a} libxrandr2{a} libxrender1{a} libxt6{a} libxxf86vm1{a} odbcinst1debian1{a} ttf-dejavu{a} ttf-dejavu-core{a} ttf-dejavu-extra{a} ucf{a}unixodbc{a} unixodbc-dev 0 Pakete aktualisiert, 41 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert. Muss 12,8MB an Archiven herunterladen. Nach dem Entpacken werden 32,2MB zusätzlich belegt sein.[...]
debian:/usr/src# aptitude -y install libspandsp-dev[...]
Die folgenden NEUEN Pakete werden zusätzlich installiert: libjpeg62-dev{a} libspandsp-dev libspandsp1{a} libtiff4{a} libtiff4-dev{a} libtiffxx0c2{a} 0 Pakete aktualisiert, 6 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert. Muss 1328kB an Archiven herunterladen. Nach dem Entpacken werden 3801kB zusätzlich belegt sein.[...]
debian:/usr/src# aptitude install libjack-dev portaudio19-dev[...]
Die folgenden NEUEN Pakete werden zusätzlich installiert: libasound2{a} libasound2-dev{a} libavc1394-0{a} libfreebob0{a} libiec61883-0{a} libjack-dev libjack0{a} libjack0.100.0-dev{a} libportaudio2{a} libraw1394-8{a} libxml2{a} portaudio19-dev sgml-base{a} xml-core{a} 0 Pakete aktualisiert, 14 zusätzlich installiert, 0 werden entfernt und 0 nicht aktualisiert. Muss 2420kB an Archiven herunterladen. Nach dem Entpacken werden 7930kB zusätzlich belegt sein.[...]
Kompilierung vorbereiten:
debian:/usr/src# cd asterisk-1.6.0.6/
debian:/usr/src/asterisk-1.6.0.6# ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
[...]
configure: Package configured for:
configure: OS type : linux-gnu
configure: Host CPU : i686
configure: build-cpu:vendor:os: i686 : pc : linux-gnu :
configure: host-cpu:vendor:os: i686 : pc : linux-gnu :
debian:/usr/src/asterisk-1.6.0.6#
Kompilieren[158]:
debian:/usr/src/asterisk-1.6.0.6# make[...]
[CC] astman.c -> astman.o [CC] md5.c -> md5.o [LD] astman.o md5.o -> astman [CC] stereorize.c -> stereorize.o[...]
+--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, and + + can be installed by running: + + + + make install + +-------------------------------------------+ debian:/usr/src/asterisk-1.6.0.6#
Installieren:
debian:/usr/src/asterisk-1.6.0.6# make install
[...]
+---- Asterisk Installation Complete -------+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ make samples +
+ +
+----------------- or ---------------------+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ **Note** This requires that you have +
+ doxygen installed on your local system +
+-------------------------------------------+
debian:/usr/src/asterisk-1.6.0.6#
Die eben kompilierten Programmdateien sind jetzt auf dem System
installiert. Allerdings finden wir im Asterisk-Konfigurationsverzeichnis
/etc/asterisk/
noch gähnende Leere vor. Da wir nicht
von Grund auf beginnen möchten, lassen wir uns die Standard-Beispieldateien
erstellen:
debian:/usr/src/asterisk-1.6.0.6# make samples
[...]
debian:/usr/src/asterisk-1.6.0.6#
Damit Asterisk beim Booten des Rechners auch automatisch gestartet und bei einem Shutdown ordentlich gestoppt wird, benötigen wir noch entsprechende Init-Skripte:
debian:/usr/src/asterisk-1.6.0.6# make config
update-rc.d: warning: /etc/init.d/asterisk missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/asterisk ...
/etc/rc2.d/K91asterisk -> ../init.d/asterisk
/etc/rc3.d/K91asterisk -> ../init.d/asterisk
/etc/rc4.d/K91asterisk -> ../init.d/asterisk
/etc/rc5.d/K91asterisk -> ../init.d/asterisk
/etc/rc2.d/S50asterisk -> ../init.d/asterisk
/etc/rc3.d/S50asterisk -> ../init.d/asterisk
/etc/rc4.d/S50asterisk -> ../init.d/asterisk
/etc/rc5.d/S50asterisk -> ../init.d/asterisk
debian:/usr/src/asterisk-1.6.0.6#
Wir sind jetzt fast fertig. Leider setzt die Asterisk-Installation die Runlevels auf Debian bisher noch nicht ganz korrekt, was wir folgendermaßen beheben:
debian:/usr/src/asterisk-1.6.0.6# cd debian:~# update-rc.d -f asterisk remove Removing any system startup links for /etc/init.d/asterisk ... /etc/rc2.d/S50asterisk /etc/rc2.d/K91asterisk /etc/rc3.d/S50asterisk /etc/rc3.d/K91asterisk /etc/rc4.d/S50asterisk /etc/rc4.d/K91asterisk /etc/rc5.d/S50asterisk /etc/rc5.d/K91asterisk debian:~# update-rc.d asterisk defaults 50 15 update-rc.d: warning: /etc/init.d/asterisk missing LSB information update-rc.d: see <http://wiki.debian.org/LSBInitScripts> Adding system startup for /etc/init.d/asterisk ... /etc/rc0.d/K15asterisk -> ../init.d/asterisk /etc/rc1.d/K15asterisk -> ../init.d/asterisk /etc/rc6.d/K15asterisk -> ../init.d/asterisk /etc/rc2.d/S50asterisk -> ../init.d/asterisk /etc/rc3.d/S50asterisk -> ../init.d/asterisk /etc/rc4.d/S50asterisk -> ../init.d/asterisk /etc/rc5.d/S50asterisk -> ../init.d/asterisk debian:~#
Fertig! Asterisk ist auf Ihrem System installiert. Mit dem Befehl
asterisk -V
können Sie die
installierte Version herausfinden (bitte achten Sie auf das großgeschriebene
V):
debian:~# asterisk -V
Asterisk 1.6.0.6
debian:~#
[152] In der Regel werden Sie das für die Architektur
i386
benötigen.
[156] Bis Asterisk 1.4.21 hieß Dahdi noch Zaptel. Für weitere Informationen siehe Anhang I, Zaptel zu DAHDI.
[157] früher ztdummy
[158] An dieser Stelle vor dem Kompilieren könnte man als erfahrenerer
Asterisk-Benutzer mit make
menuselect
in einem interaktiven Dialog bestimmte
Module deaktivieren.
AMOOCON 2010
Noch kein Ticket? Dann wird es Zeit. Nur noch wenige Tage.
- Infos unter www.amoocon.de.
- twitter.com/AMOOCON