Die hier aufgeführte Installationsanleitung ist 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, das man in der Zukunft nicht noch einmal etwas nachinstallieren muss.
Es wird ein frisch installiertes Debian GNU/Linux 4.0 (a.k.a Etch) vorausgesetzt. Ein ISO-Image für die Installation finden Sie auf http://www.debian.org/releases/etch/debian-installer/. Ich empfehle das etwa 140 MB grosse Netzinstallations-CD-Image. Eine Debian GNU/Linux-Installationsanleitung befindet sich unter http://www.debian.org/releases/etch/i386/. Ein allgemeines Anwenderhandbuch steht unter http://debiananwenderhandbuch.de.
Bitte loggen Sie sich nach der Installation als Benutzer root am System an und führen Sie alle hier angegebenen Befehle mit diesem Benutzer aus.
Als Erstes stellen Sie mit einem apt-get update
sicher, dass apt-get
alle aktuellen Paketlisten zur Verfügung
hat:
debian:~# apt-get update Ign cdrom://[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Bina ry-1 20070407-11:29] etch Release.gpg Ign cdrom://[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Bina ry-1 20070407-11:29] etch Release Ign cdrom://[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Bina ry-1 20070407-11:29] etch/contrib Packages/DiffIndex Ign cdrom://[Debian GNU/Linux 4.0 r0 _Etch_ - Official i386 NETINST Bina ry-1 20070407-11:29] etch/main Packages/DiffIndex Hole:1 http://security.debian.org etch/updates Release.gpg [189B] OK http://security.debian.org etch/updates Release Ign http://security.debian.org etch/updates/main Packages/DiffIndex Hole:2 http://ftp.de.debian.org etch Release.gpg [378B] Ign http://security.debian.org etch/updates/contrib Packages/DiffIndex Ign http://security.debian.org etch/updates/main Sources/DiffIndex OK http://ftp.de.debian.org etch Release Ign http://security.debian.org etch/updates/contrib Sources/DiffIndex OK http://security.debian.org etch/updates/main Packages OK http://security.debian.org etch/updates/contrib Packages Ign http://ftp.de.debian.org etch/main Packages/DiffIndex OK http://security.debian.org etch/updates/main Sources OK http://security.debian.org etch/updates/contrib Sources Ign http://ftp.de.debian.org etch/main Sources/DiffIndex OK http://ftp.de.debian.org etch/main Packages OK http://ftp.de.debian.org etch/main Sources Es wurden 2B in 1s geholt (1B/s) Paketlisten werden gelesen... Fertig debian:~#
Um sicherzugehen, dass alle Pakete auf dem neuesten Stand sind, führen Sie noch ein apt-get -y upgrade aus:
debian:~# apt-get -y upgrade Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut... Fertig 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisie rt. debian:~#
Für den Fall das beim Upgrade der Pakete auch ein neuer Kernel installiert wurde, müssen wir jetzt das System mit shutdown -r now rebooten:
debian:~# shutdown -r now Broadcast message from root@debian (pts/0) (Fri May 4 19:43:09 2007): The system is going down for reboot NOW!
Nach dem Booten bitte wieder als root einloggen.
Jetzt müssen Sie mit apt-get -y install build-essential libncurses5-dev libcurl3-dev libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev linux-headers-`uname -r` noch ein paar Pakete nachinstallieren, damit das Kompilieren von Asterisk erfolgreich durchgeführt werden kann:
debian:~# apt-get -y install build-essential libncurses5-dev libcurl3-de v libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev linux- headers-`uname -r` Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut... Fertig Die folgenden zusätzlichen Pakete werden installiert: binutils ca-certificates comerr-dev cpp cpp-4.1 defoma dpkg-dev fontco nfig fontconfig-config g++ g++-4.1 gcc gcc-4.1 libaudio2 libc6-dev libcurl3 libcurl3-openssl-dev libexpat1 libfontconfig1 libfreetype6 libice6 libidn11-dev libiksemel3 libjpeg62 libkadm55 libkrb5-dev liblcms1 libl tdl3 libltdl3-dev libmng1 libodbcinstq1c2 libogg-dev libogg0 libpng12-0 lib qt3-mt libsm6 libspeex1 libssl-dev libssp0 libstdc++6-4.1-dev libvorbis0a libvorbisenc2 libvorbisfile3 libxcursor1 libxext6 libxfixes3 libxft2 l ibxi6 libxinerama1 libxrandr2 libxrender1 libxt6 linux-headers-2.6.18-4 linux-kbuild-2.6.18 linux-kernel-headers make odbcinst1debian1 openssl pkg-config ttf-dejavu zlib1g-dev Vorgeschlagene Pakete: binutils-doc doc-base cpp-doc gcc-4.1-locales defoma-doc psfontmgr x-ttcidfont-conf dfontmgr debian-keyring gcc-4.1-doc lib64stdc++6 manpages-dev autoconf automake1.9 libtool flex bison gdb gcc-doc libc6-dev-amd64 lib64gcc1 lib64ssp0 nas glibc-doc libcurl3-dbg libfreetype6-dev krb5-doc liblcms-utils libtool-doc libqt3-mt-psql libqt3-mt-mysql libqt3-mt-odbc speex libstdc++6-4.1-doc make-doc-non-d fsg libgnome-dev libmyodbc odbc-postgresql libct1 libqt3-mt-dev Empfohlene Pakete: libft-perl bzip2 libmudflap0-dev libgl1-mesa-glx libgl1 libglu1-mesa l ibglu1 libxmu6 Die folgenden NEUEN Pakete werden installiert: binutils build-essential ca-certificates comerr-dev cpp cpp-4.1 defoma dpkg-dev fontconfig fontconfig-config g++ g++-4.1 gcc gcc-4.1 libaudio 2 libc6-dev libcurl3 libcurl3-dev libcurl3-openssl-dev libexpat1 libfontconfig1 libfreetype6 libice6 libidn11-dev libiksemel-dev libiks emel3 libjpeg62 libkadm55 libkrb5-dev liblcms1 libltdl3 libltdl3-dev libmng1 libncurses5-dev libodbcinstq1c2 libogg-dev libogg0 libpng12-0 libqt3-m t libsm6 libspeex-dev libspeex1 libssl-dev libssp0 libstdc++6-4.1-dev libvorbis-dev libvorbis0a libvorbisenc2 libvorbisfile3 libxcursor1 lib xext6 libxfixes3 libxft2 libxi6 libxinerama1 libxrandr2 libxrender1 libxt6 linux-headers-2.6.18-4 linux-headers-2.6.18-4-686 linux-kbuild-2.6.18 linux-kernel-headers make odbcinst1debian1 openssl pkg-config ttf-deja vu unixodbc unixodbc-dev zlib1g-dev 0 aktualisiert, 70 neu installiert, 0 zu entfernen und 0 nicht aktualisi ert. Es müssen noch 23,1MB von 37,0MB Archiven geholt werden. Nach dem Auspacken werden 133MB Plattenplatz zusätzlich benutzt. Hole:1 http://ftp.de.debian.org etch/main libice6 1:1.0.1-2 [42,6kB] Hole:2 http://ftp.de.debian.org etch/main libsm6 1:1.0.1-3 [18,0kB] Hole:3 http://ftp.de.debian.org etch/main libxt6 1:1.0.2-2 [154kB] Hole:4 http://ftp.de.debian.org etch/main linux-kernel-headers 2.6.18-7 [1875kB] [...] Richte libvorbis-dev ein (1.1.2.dfsg-1.2) ... Richte linux-headers-2.6.18-4 ein (2.6.18.dfsg.1-12) ... Richte linux-kbuild-2.6.18 ein (2.6.18-1) ... Richte linux-headers-2.6.18-4-686 ein (2.6.18.dfsg.1-12) ... Richte unixodbc-dev ein (2.2.11-13) ... Richte libstdc++6-4.1-dev ein (4.1.1-21) ... Richte g++-4.1 ein (4.1.1-21) ... Richte g++ ein (4.1.1-15) ... Richte build-essential ein (11.3) ... debian:~#
Als nächstes wechseln wir mit cd /usr/src in das
Verzeichnis /usr/src
debian:~# cd /usr/src debian:/usr/src#
Auf der Asterisk-Homepage http://www.asterisk.org/
finden Sie die notwendigen Quellen, um Asterisk zu mit allen sinnvollen
Extras zu installieren. Nehmen Sie bitte eine stabile und keine Entwickler-Version und laden Sie
diese mit wget
http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz in
das Verzeichnis /usr/src/
herunter:
debian:/usr/src# wget http://downloads.digium.com/pub/asterisk/asterisk- 1.4-current.tar.gz --18:53:00-- http://downloads.digium.com/pub/asterisk/asterisk-1.4-curr ent.tar.gz => `asterisk-1.4-current.tar.gz' Auflösen des Hostnamen »downloads.digium.com«.... 69.16.138.164 Verbindungsaufbau zu downloads.digium.com[69.16.138.164]:80... verbunden . HTTP Anforderung gesendet, warte auf Antwort... 200 OK Länge: 10,928,902 [application/x-gzip] 100%[====================================>] 10,928,902 230.71K/s ET A 00:00 18:53:47 (227.00 KB/s) - »asterisk-1.4-current.tar.gz« gespeichert [10 928902/10928902] debian:/usr/src#
Weiterhin benötigen wir noch die aktuelle Zaptel-Version, die wir mit wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz downloaden:
debian:/usr/src# wget http://downloads.digium.com/pub/zaptel/zaptel-1.4- current.tar.gz --19:13:47-- http://downloads.digium.com/pub/zaptel/zaptel-1.4-current. tar.gz => `zaptel-1.4-current.tar.gz' Auflösen des Hostnamen »downloads.digium.com«.... 216.27.40.102 Verbindungsaufbau zu downloads.digium.com|216.27.40.102|:80... verbunden . HTTP Anforderung gesendet, warte auf Antwort... 200 OK Länge: 2.835.893 (2.7M) [application/x-gzip] 100%[====================================>] 2.835.893 119.68K/s ET A 00:00 19:14:12 (115.45 KB/s) - »zaptel-1.4-current.tar.gz« gespeichert [2835 893/2835893] debian:/usr/src#
Die komprimierten Datein werden jetzt mit tar xvzf asterisk-1.4-current.tar.gz && tar xvzf zaptel-1.4-current.tar.gz entpackt:
debian:/usr/src# tar xvzf asterisk-1.4-current.tar.gz && tar xvzf zaptel -1.4-current.tar.gz asterisk-1.4.2/ asterisk-1.4.2/build_tools/ asterisk-1.4.2/build_tools/menuselect-deps.in asterisk-1.4.2/build_tools/get_moduleinfo asterisk-1.4.2/build_tools/mkpkgconfig asterisk-1.4.2/build_tools/embed_modules.xml asterisk-1.4.2/build_tools/get_makeopts asterisk-1.4.2/build_tools/make_version [...] zaptel-1.4.1/timertest.c zaptel-1.4.1/mec3-float.h zaptel-1.4.1/zaptel.init zaptel-1.4.1/hdlcverify.c zaptel-1.4.1/fxstest.c zaptel-1.4.1/zaptel-base.c debian:/usr/src#
1.4 ist die erste Asterisk-Version, die den Unix/Linux üblichen autoconf-Mechanismus benutzt.
Bitte beachten Sie das sich die folgenden Verzeichnisnamen natürlich mit aufsteigenden Versionsnummern im Laufe der Zeit verändern. Es liegt in der Natur einer Dokumentation, das diese Links nicht immer aktuell gehalten werden können. |
Als erstes wechseln wir mit cd zaptel-1.4.1 in das Zaptel Verzeichnis und rufen ein ./configure && make && make install auf:
debian:/usr/src# cd zaptel-1.4.1 debian:/usr/src/zaptel-1.4.1# ./configure && make && make install checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o [...] /usr/bin/install -c -m 644 doc/zttool.8 /usr/share/man/man8 [ `id -u` = 0 ] && /sbin/depmod -a 2.6.18-4-686 || : [ -f /etc/zaptel.conf ] || /usr/bin/install -c -D -m 644 zaptel.conf.sam ple /etc/zaptel.conf build_tools/genmodconf linux26 "" "pciradio tor2 torisa wcfxo wct1xxp wc tdm wctdm24xxp wcte11xp wcusb ztd-eth ztd-loc wcte12xp wct4xxp wctc4xxp wcfxs wctdm8xxp wct2xxp" Building /etc/modprobe.d/zaptel... *** *** WARNING: *** If you had custom settings in /etc/modprobe.d/zaptel, *** they have been moved to /etc/modprobe.d/zaptel.bak. *** *** In the future, do not edit /etc/modprobe.d/zaptel, but *** instead put your changes in another file *** in the same directory so that they will not *** be overwritten by future Zaptel updates. *** debian:/usr/src/zaptel-1.4.1#
Zum Arbeiten mit Konferenzräumen benötigen wir das Kernelmodul
ztdummy
. Dies laden wir jetzt mit dem Kommando
modprobe ztdummy
debian:/usr/src/zaptel-1.4.1# modprobe ztdummy debian:/usr/src/zaptel-1.4.1#
Danach gehen wir mit cd /usr/src/asterisk-1.4.2 in das Asterisk Verzeichnis und führen auch dort ein ./configure && make && make install aus:
debian:/usr/src/zaptel-1.4.1# cd /usr/src/asterisk-1.4.2 debian:/usr/src/asterisk-1.4.2# ./configure && make && make install checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes [...] for x in ; do /usr/bin/install -c -m 755 $x /usr/lib/asterisk/modules ; done make[1]: Leaving directory `/usr/src/asterisk-1.4.2/main' +---- 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.4.2#
Die eben kompilierten Programmdateien sind jetzt auf dem System
installiert. Allerdings finden wir im Asterisk-Konfigurationsverzeichnis
/etc/asterisk/
noch gähnende Leere vor. In diesem
Verzeichnis liegen die Konfigurationsdateien von Asterisk und da wir nicht
von Null beginnen möchten, lassen wir uns die Standarddateien erstellen.
Dies erreichen wir mit einem make samples
debian:/usr/src/asterisk-1.4.2# make samples mkdir -p /etc/asterisk for x in configs/*.adsi; do \ if [ ! -f /etc/asterisk/$x ]; then \ /usr/bin/install -c -m 644 $x /etc/asterisk/`/usr/bin/ba sename $x` ; \ fi ; \ [...] for x in vm-theperson digits/1 digits/2 digits/3 digits/4 vm-isonphone; do \ cat /var/lib/asterisk/sounds/$x.gsm >> /var/spool/asterisk/voice mail/default/1234/busy.gsm ; \ done debian:/usr/src/asterisk-1.4.2#
Fertig! Asterisk ist auf Ihrem System installiert. Mit dem Befehl asterisk -V können Sie die installierte Version rausfinden (bitte achten Sie auf das großgeschriebene V):
debian:/usr/src/asterisk-1.4.2# asterisk -V Asterisk 1.4.2 debian:/usr/src/asterisk-1.4.2#
Damit Asterisk beim Booten des Rechners auch automatisch gestartet
und bei einem Shutdown auch ordentlich runtergefahren wird, benötigen wir
noch entsprechende Init-Skripte. Diese können im Verzeichnise
/usr/src/asterisk-1.4.2
mit dem von den Entwicklern
etwas unglücklich gewählten Befehl make config erstellt
werden:
debian:/usr/src/asterisk-1.4.2# make config 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/S10asterisk -> ../init.d/asterisk /etc/rc3.d/S10asterisk -> ../init.d/asterisk /etc/rc4.d/S10asterisk -> ../init.d/asterisk /etc/rc5.d/S10asterisk -> ../init.d/asterisk debian:/usr/src/asterisk-1.4.2#
Damit das Kernelmodul ztdummy beim Booten automatisch geladen wird, muss es mit dem Kommando echo "ztdummy" >> /etc/modules in die entsprechende Datei eingetragen werden:
debian:/usr/src/asterisk-1.4.2# echo "ztdummy" >> /etc/modules debian:/usr/src/asterisk-1.4.2#