Diese Installationsanleitung setzt ein frisch installiertes Debian GNU/Linux 3.1 (a.k.a. sarge) voraus.
Bitte beachten Sie, das die Installationsanleitung nur für die zum Zeitpunkt der Veröffentlichung dieses Buches aktuelle Debian Version 3.1 und nicht für neuere Debian Versionen geeignet ist. Ein Update der Anleitung für die Debian Version 4.0 finden Sie in der zukünftigen Version des Buches. Teile davon können Sie bereits jetzt unter http://www.das-asterisk-buch.de/unstable/ einsehen. |
Wir empfehlen zur Installation das Netzwerkinstallations-CD-Image, welches ungefähr 100 MB gross ist und unter http://www.debian.org/releases/sarge/debian-installer/ downgeloadet werden kann. Eine Debian GNU/Linux-Installationsanleitung steht unter http://www.debian.org/releases/sarge/i386/ und ein allgemeines Anwenderhandbuch unter http://debiananwenderhandbuch.de.
Bitte loggen Sie sich 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 OK http://ftp.de.debian.org stable/main Packages OK http://ftp.de.debian.org stable/main Release OK http://security.debian.org stable/updates/main Packages OK http://security.debian.org stable/updates/main Release OK http://security.debian.org stable/updates/contrib Packages OK http://security.debian.org stable/updates/contrib Release OK http://ftp.de.debian.org stable/main Sources OK http://ftp.de.debian.org stable/main Release Paketlisten werden gelesen... Fertig
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.
Jetzt müssen Sie mit apt-get -y install libncurses5-dev noch ein Paket nachinstallieren, damit das Kompilieren von Asterisk erfolgreich durchgeführt werden kann:
debian:~# apt-get -y install libncurses5-dev Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut... Fertig Die folgenden NEUEN Pakete werden installiert: libncurses5-dev 0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisie rt. Es müssen noch 0B von 1038kB Archiven geholt werden. Nach dem Auspacken werden 5296kB Plattenplatz zusätzlich benutzt. Wähle vormals abgewähltes Paket libncurses5-dev. (Lese Datenbank ... 21874 Dateien und Verzeichnisse sind derzeit install iert.) Entpacke libncurses5-dev (aus .../libncurses5-dev_5.4-4_i386.deb) ... Richte libncurses5-dev ein (5.4-4) ... debian:~#
Auf der Asterisk-Homepage http://www.asterisk.org/
finden Sie die notwendigen Quellen, um Asterisk zu kompilieren. Nehmen Sie
bitte eine stabile und keine
Entwickler-Version und laden Sie diese mit wget
http://ftp.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz in
das Verzeichnis /usr/src/
herunter:
debian:~# cd /usr/src debian:/usr/src# wget http://ftp.digium.com/pub/asterisk/asterisk-1.4-cu rrent.tar.gz --18:53:00-- http://ftp.digium.com/pub/asterisk/asterisk-1.4-current.ta r.gz => `asterisk-1.4-current.tar.gz' Auflösen des Hostnamen »ftp.digium.com«.... 69.16.138.164 Verbindungsaufbau zu ftp.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]
Die komprimierte Datei muss jetzt mit tar xvzf asterisk-1.4-current.tar.gz entpackt werden:
debian:/usr/src# tar xvzf asterisk-1.4-current.tar.gz asterisk-1.4.0/ asterisk-1.4.0/build_tools/ asterisk-1.4.0/build_tools/mkpkgconfig asterisk-1.4.0/build_tools/get_moduleinfo asterisk-1.4.0/build_tools/mkdep asterisk-1.4.0/build_tools/get_makeopts asterisk-1.4.0/build_tools/make_version [...] asterisk-1.4.0/menuselect/mxml/COPYING asterisk-1.4.0/menuselect/mxml/CHANGES asterisk-1.4.0/menuselect/mxml/mxml-file.c asterisk-1.4.0/menuselect/mxml/install-sh asterisk-1.4.0/menuselect/mxml/mxml.pc debian:/usr/src#
Asterisk 1.4 ist die erste Version, die den allgemein üblichen autoconf-Mechanismus benutzt. Als Erstes muss also im Asterisk-Verzeichnis ein ./configure aufgerufen werden:
debian:/usr/src# cd asterisk-1.4.0/ debian:/usr/src/asterisk-1.4.0# ./configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for uname... /bin/uname checking for gcc... gcc [...] configure: creating ./config.status config.status: creating build_tools/menuselect-deps config.status: creating makeopts config.status: creating channels/h323/Makefile config.status: creating include/asterisk/autoconfig.h .$$$$$$$$$$$$$$$=.. .$7$7.. .7$$7:. .$$:. ,$7.7 .$7. 7$$$$ .$$77 ..$$. $$$$$ .$$$7 ..7$ .?. $$$$$ .?. 7$$$. $.$. .$$$7. $$$$7 .7$$$. .$$$. .777. .$$$$$$77$$$77$$$$$7. $$$, $$$~ .7$$$$$$$$$$$$$7. .$$$. .$$7 .7$$$$$$$7: ?$$$. $$$ ?7$$$$$$$$$$I .$$$7 $$$ .7$$$$$$$$$$$$$$$$ :$$$. $$$ $$$$$$7$$$$$$$$$$$$ .$$$. $$$ $$$ 7$$$7 .$$$ .$$$. $$$$ $$$$7 .$$$. 7$$$7 7$$$$ 7$$$ $$$$$ $$$ $$$$7. $$ (TM) $$$$$$$. .7$$$$$$ $$ $$$$$$$$$$$$7$$$$$$$$$.$$$$$$ $$$$$$$$$$$$$$$$. configure: Package configured for: configure: OS type : linux-gnu configure: Host CPU : i686 debian:/usr/src/asterisk-1.4.0#
Asterisk muss jetzt kompliliert werden.[13]Dies geschieht mit dem Befehl make.
Bitte achten Sie darauf, dass die hier in der Dokumentation benutzte Version vielleicht zum Zeitpunkt Ihrer Installation nicht mehr aktuell ist. Entsprechend werden sich die Verzeichnisnamen ändern. |
Übrigens ist dies jetzt ein guter Moment, sich einen Kaffee oder Tee zu kochen. Der Kompiliervorgang kann je nach Rechenleistung des PCs wenige Minuten oder bis zu einer Stunde dauern.
debian:/usr/src/asterisk-1.4.0# make make[1]: Entering directory `/usr/src/asterisk-1.4.0/menuselect' 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 checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes [...] [LD] abstract_jb.o acl.o aescrypt.o aeskey.o aestab.o alaw.o app.o as t_expr2.o ast_expr2f.o asterisk.o astmm.o autoservice.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o db.o devicestate.o dns .o dnsmgr.o dsp.o enum.o file.o fixedjitterbuf.o frame.o fskmodem.o http .o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md 5.o netsock.o pbx.o plc.o privacy.o rtp.o say.o sched.o sha1.o slinfacto ry.o srv.o stdtime/localtime.o strcompat.o tdd.o term.o translate.o udpt l.o ulaw.o utils.o editline/libedit.a db1-ast/libdb1.a -> asterisk +--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, and + + can be installed by running: + + + + make install + +-------------------------------------------+ debian:/usr/src/asterisk-1.4.0#
Die Software ist jetzt kompiliert und muss nur noch mit make install installiert (sprich: in die vorgesehenen Verzeichnisse kopiert) werden:
debian:/usr/src/asterisk-1.4.0# make install make[1]: Für das Ziel »depend« ist nichts zu tun. make[1]: Für das Ziel »depend« ist nichts zu tun. [...] 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.0/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.0#
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.0# 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.0#
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.0# asterisk -V Asterisk 1.4.0 debian:/usr/src/asterisk-1.4.0#
Da Ubuntu auch von der CD als Live-System gebootet werden kann, müssen Sie es nicht zwangsläufig auf der Festplatte installieren (gut zum Testen). Diese Anleitung wurde mit einem Ubuntu 6.06.1 LTS (Dapper Drake) ausgeführt bzw. setzt dieses voraus. Das entsprechende ISO-Image finden Sie unter http://de.archive.ubuntu.com/ubuntu-releases/6.06/ubuntu-6.06.1-desktop-i386.iso. Wir benutzen die Desktop-CD. Der gleiche Installationsweg funktioniert aber auch bei der Server-CD. Hierbei sollte aber vor der Installation von Asterisk noch ein sudo apt-get update und ein sudo apt-get -y upgrade durchgeführt werden, um sicherzustellen, dass alle aktuellen Security Fixes installiert sind.
Weitere Informationen zu Ubuntu finden Sie auf http://www.ubuntu.com.
Eine Liste von FTP-Mirrors zum Download des ISO-Images finden Sie auf http://www.ubuntu.com/products/GetUbuntu/download#lts. |
Da auf einem Ubuntu-System root-Befehle immer über sudo (siehe http://de.wikipedia.org/wiki/Sudo) erfolgen, können Sie diese Installationsanleitung mit dem Benutzer ubuntu ausführen. Bitte öffnen Sie nach dem Starten von Ubuntu einfach ein Terminal-Fenster (im Menü oben links -> Applications -> Accessories -> Terminal).
Als Erstes stellen Sie mit einem sudo apt-get
update sicher, dass apt-get
alle aktuellen
Paketlisten zur Verfügung hat:
ubuntu@ubuntu:~$ sudo apt-get update Get:1 http://security.ubuntu.com dapper-security Release.gpg [191B] Hit http://security.ubuntu.com dapper-security Release Get:2 http://archive.ubuntu.com dapper Release.gpg [189B] Get:3 http://archive.ubuntu.com dapper-updates Release.gpg [191B] Hit http://security.ubuntu.com dapper-security/main Packages Hit http://archive.ubuntu.com dapper Release Hit http://security.ubuntu.com dapper-security/restricted Packages Hit http://security.ubuntu.com dapper-security/main Sources Hit http://archive.ubuntu.com dapper-updates Release Hit http://security.ubuntu.com dapper-security/restricted Sources Hit http://archive.ubuntu.com dapper/main Packages Hit http://archive.ubuntu.com dapper/restricted Packages Hit http://archive.ubuntu.com dapper/main Sources Hit http://archive.ubuntu.com dapper/restricted Sources Hit http://archive.ubuntu.com dapper-updates/main Packages Hit http://archive.ubuntu.com dapper-updates/restricted Packages Hit http://archive.ubuntu.com dapper-updates/main Sources Hit http://archive.ubuntu.com dapper-updates/restricted Sources Fetched 3B in 1s (2B/s) Reading package lists... Done ubuntu@ubuntu:~$
Jetzt müssen Sie mit sudo apt-get -y install make gcc g++ libncurses5-dev noch ein paar Pakete nachinstallieren, damit das Kompilieren von Asterisk erfolgreich durchgeführt werden kann:
ubuntu@ubuntu:~$ sudo apt-get -y install make gcc g++ libncurses5-dev Reading package lists... Done Building dependency tree... Done The following extra packages will be installed: binutils cpp cpp-4.0 g++-4.0 gcc-4.0 libc6-dev libstdc++6-4.0-dev linux-kernel-headers Suggested packages: binutils-doc cpp-doc gcc-4.0-locales gcc-4.0-doc lib64stdc++6 manpages -dev autoconf automake1.9 libtool flex bison gcc-doc libc6-dev-amd64 lib64g cc1 glibc-doc libstdc++6-4.0-doc stl-manual Recommended packages: libmudflap0-dev The following NEW packages will be installed: binutils cpp cpp-4.0 g++ g++-4.0 gcc gcc-4.0 libc6-dev libncurses5-dev libstdc++6-4.0-dev linux-kernel-headers make 0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded. Need to get 13.1MB of archives. After unpacking 52.6MB of additional disk space will be used. Get:1 http://security.ubuntu.com dapper-security/main binutils 2.16.1cvs 20060117-1ubuntu2.1 [1407kB] [...] Setting up g++-4.0 (4.0.3-1ubuntu5) ... Setting up libstdc++6-4.0-dev (4.0.3-1ubuntu5) ... Setting up g++ (4.0.3-1) ... ubuntu@ubuntu:~$
Auf der Asterisk-Homepage http://www.asterisk.org/
finden Sie die notwendigen Quellen, um Asterisk zu kompilieren. Nehmen Sie
bitte eine stabile und keine Entwickler-Version und laden Sie diese mit
wget
http://ftp.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz in
das Verzeichnis /usr/src
herunter:
ubuntu@ubuntu:/usr/src$ wget http://ftp.digium.com/pub/asterisk/asterisk -1.4-current.tar.gz --11:16:56-- http://ftp.digium.com/pub/asterisk/asterisk-1.4-current.ta r.gz => `asterisk-1.4-current.tar.gz' Resolving ftp.digium.com... 216.27.40.102, 69.16.138.164 Connecting to ftp.digium.com|216.27.40.102|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 10,928,902 (10M) [application/x-gzip] 100%[====================================>] 10,928,902 228.90K/s ET A 00:00 11:17:44 (228.19 KB/s) - `asterisk-1.4-current.tar.gz' saved [10928902/1 0928902] ubuntu@ubuntu:/usr/src$
Die komprimierte Datei muss jetzt mit tar xvzf asterisk-1.4-current.tar.gz entpackt werden:
ubuntu@ubuntu:/usr/src$ tar xvzf asterisk-1.4-current.tar.gz asterisk-1.4.0/ asterisk-1.4.0/build_tools/ asterisk-1.4.0/build_tools/mkpkgconfig asterisk-1.4.0/build_tools/get_moduleinfo asterisk-1.4.0/build_tools/mkdep asterisk-1.4.0/build_tools/get_makeopts asterisk-1.4.0/build_tools/make_version [...] asterisk-1.4.0/menuselect/mxml/COPYING asterisk-1.4.0/menuselect/mxml/CHANGES asterisk-1.4.0/menuselect/mxml/mxml-file.c asterisk-1.4.0/menuselect/mxml/install-sh asterisk-1.4.0/menuselect/mxml/mxml.pc ubuntu@ubuntu:/usr/src$
Asterisk 1.4 ist die erste Version, die den allgemein üblichen autoconf-Mechanismus benutzt. Zuerst muss also im Asterisk-Verzeichnis ein ./configure aufgerufen werden:
ubuntu@ubuntu:/usr/src$ cd asterisk-1.4.0/ ubuntu@ubuntu:/usr/src/asterisk-1.4.0$ ./configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for uname... /bin/uname checking for gcc... gcc [...] configure: creating ./config.status config.status: creating build_tools/menuselect-deps config.status: creating makeopts config.status: creating channels/h323/Makefile config.status: creating include/asterisk/autoconfig.h .$$$$$$$$$$$$$$$=.. .$7$7.. .7$$7:. .$$:. ,$7.7 .$7. 7$$$$ .$$77 ..$$. $$$$$ .$$$7 ..7$ .?. $$$$$ .?. 7$$$. $.$. .$$$7. $$$$7 .7$$$. .$$$. .777. .$$$$$$77$$$77$$$$$7. $$$, $$$~ .7$$$$$$$$$$$$$7. .$$$. .$$7 .7$$$$$$$7: ?$$$. $$$ ?7$$$$$$$$$$I .$$$7 $$$ .7$$$$$$$$$$$$$$$$ :$$$. $$$ $$$$$$7$$$$$$$$$$$$ .$$$. $$$ $$$ 7$$$7 .$$$ .$$$. $$$$ $$$$7 .$$$. 7$$$7 7$$$$ 7$$$ $$$$$ $$$ $$$$7. $$ (TM) $$$$$$$. .7$$$$$$ $$ $$$$$$$$$$$$7$$$$$$$$$.$$$$$$ $$$$$$$$$$$$$$$$. configure: Package configured for: configure: OS type : linux-gnu configure: Host CPU : i686 ubuntu@ubuntu:/usr/src/asterisk-1.4.0$
Die entpackten Dateien müssen jetzt kompiliert werden.[14]Dies geschieht mit dem Befehl make im gerade entpackten Verzeichnis.
Bitte achten Sie darauf, dass die hier in der Dokumentation benutzte Version vielleicht zum Zeitpunkt Ihrer Installation nicht mehr aktuell ist. Entsprechend werden sich die Verzeichnisnamen ändern. |
Übrigens ist dies jetzt ein guter Moment, sich den obligatorischen Kaffee oder Tee zu kochen. Der Kompiliervorgang kann je nach Rechenleistung des PCs wenige Minuten oder bis zu einer Stunde dauern.
debian:/usr/src/asterisk-1.4.0# make make[1]: Entering directory `/usr/src/asterisk-1.4.0/menuselect' 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 checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes [...] [LD] abstract_jb.o acl.o aescrypt.o aeskey.o aestab.o alaw.o app.o as t_expr2.o ast_expr2f.o asterisk.o astmm.o autoservice.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o db.o devicestate.o dns .o dnsmgr.o dsp.o enum.o file.o fixedjitterbuf.o frame.o fskmodem.o http .o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md 5.o netsock.o pbx.o plc.o privacy.o rtp.o say.o sched.o sha1.o slinfacto ry.o srv.o stdtime/localtime.o strcompat.o tdd.o term.o translate.o udpt l.o ulaw.o utils.o editline/libedit.a db1-ast/libdb1.a -> asterisk +--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, and + + can be installed by running: + + + + make install + +-------------------------------------------+ debian:/usr/src/asterisk-1.4.0#
Die Software ist jetzt kompiliert und muss nur noch mit sudo make install installiert (sprich in die richtigen Verzeichnisse kopiert) werden:
ubuntu@ubuntu:/usr/src/asterisk-1.4.0$ sudo make install make[1]: Nothing to be done for `depend'. make[1]: Nothing to be done for `depend'. [...] 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.0/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 + +-------------------------------------------+ ubuntu@ubuntu:/usr/src/asterisk-1.4.0$
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 sudo make samples:
ubuntu@ubuntu:/usr/src/asterisk-1.4.0$ sudo 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/`/us r/bin/basename $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/asteri sk/voicemail/default/1234/busy.gsm ; \ done ubuntu@ubuntu:/usr/src/asterisk-1.4.0$
Fertig! Asterisk ist auf Ihrem System installiert. Mit dem Befehl sudo asterisk -V können Sie die installierte Version rausfinden (bitte achten Sie auf das großgeschriebene V):
ubuntu@ubuntu:/usr/src/asterisk-1.4.0$ sudo asterisk -V Asterisk 1.4.0 ubuntu@ubuntu:/usr/src/asterisk-1.4.0$
Diese Installationsanleitung setzt ein frisch installiertes Fedora Core 6 "Zod" voraus. Eine Liste von Mirrors zum Download des ISO-Images findet man unter http://fedora.redhat.com/Download/mirrors.html. Auf einem Mirror Ihrer Wahl laden Sie dann das CD- oder besser gleich das DVD-Image herunter. Mit der gebrannten DVD können Sie nun den Rechner booten und Fedora installieren.
Bitte loggen Sie sich danach als Benutzer root am System an und führen Sie alle hier angegebenen Befehle mit diesem Benutzer aus.
Als Erstes stellen Sie mit einem yum -y update sicher, dass Ihr Fedora Linux-System nur aktuelle Pakete installiert hat:
[root@localhost ~]# yum -y update Loading "installonlyn" plugin Setting up Update Process Setting up repositories core 100% |=========================| 1.1 kB 00: 00 extras 100% |=========================| 1.1 kB 00: 00 updates 100% |=========================| 1.2 kB 00: 00 Reading repository metadata in from local files [...] bs.i386 0:0.7.40-1.fc6 system-config-soundcard.noarch 0:2.0.5-2.fc6 syst em-config-users.noarch 0:1.2.47-1.fc6 tar.i386 2:1.15.1-22.fc6 tcpdump.i 386 14:3.9.4-9.fc6 tcsh.i386 0:6.14-12 traceroute.i386 3:2.0.2-1.fc6 tzd ata.noarch 0:2006p-1.fc6 util-linux.i386 0:2.13-0.45.1.fc6 vnc-server.i3 86 0:4.1.2-7.fc6 wpa_supplicant.i386 1:0.4.9-1.fc6 xorg-x11-drv-ati.i386 0:6.6.3-1.fc6 xorg-x11-drv-i810.i386 0:1.6.5-10.fc6 xorg-x11-server-Xor g.i386 0:1.1.1-47.1.fc6 xorg-x11-xinit.i386 0:1.0.2-15.fc6 yelp.i386 0:2 .16.0-10.fc6 ypbind.i386 3:1.19-6.fc6 yum.noarch 0:3.0.1-2.fc6 yum-updat esd.noarch 0:3.0.1-2.fc6 Replaced: bluez-pin.i386 0:0.30-5 Complete! [root@localhost ~]#
Jetzt müssen Sie mit yum -y groupinstall "Development Tools" noch einige Pakete installieren:
[root@localhost ~]# yum -y groupinstall "Development Tools" Loading "installonlyn" plugin Setting up Group Process Setting up repositories Setting up repositories Reading repository metadata in from local files Package make - 1:3.81-1.1.i386 already installed and latest version [...] Installing: automake17 ####################### [56/5 6] Installed: autoconf.noarch 0:2.59-12 automake.noarch 0:1.9.6-2.1 automak e14.noarch 0:1.4p6-13 automake15.noarch 0:1.5-16 automake16.noarch 0:1.6 .3-8 automake17.noarch 0:1.7.9-7 bison.i386 0:2.3-2.1 byacc.i386 0:1.9-2 9.2.2 cscope.i386 0:15.5-15.fc6.1 ctags.i386 0:5.6-1.1 cvs.i386 0:1.11.2 2-6.fc6 diffstat.i386 0:1.41-1.2.2 doxygen.i386 1:1.5.1-1 elfutils.i386 0:0.123-1.fc6 flex.i386 0:2.5.4a-41.fc6 frysk.i686 0:0.0.1.2006.12.01.rh 1-1.fc6 gcc.i386 0:4.1.1-30 gcc-c++.i386 0:4.1.1-30 gcc-gfortran.i386 0: 4.1.1-30 gdb.i386 0:6.5-13.fc6 indent.i386 0:2.2.9-14.fc6 libtool.i386 0 :1.5.22-6.1 ltrace.i386 0:0.5-6.45svn.fc6 oprofile.i386 0:0.9.2-3.fc6 op rofile-gui.i386 0:0.9.2-3.fc6 patchutils.i386 0:0.2.31-2.2.2 pfmon.i386 0:3.2-0.060621.7.1 pstack.i386 0:1.2-7.2.2 python-ldap.i386 0:2.2.0-2.1 rcs.i386 0:5.7-30.1 redhat-rpm-config.noarch 0:8.0.45-6 rpm-build.i386 0 :4.4.2-32 strace.i386 0:4.5.14-3 subversion.i386 0:1.4.2-2.fc6 swig.i386 0:1.3.29-2.fc6 systemtap.i386 0:0.5.10-1.fc6 texinfo.i386 0:4.8-14.fc6 valgrind.i386 1:3.2.1-4 Dependency Installed: cairo-java.i386 0:1.0.5-3.fc6 elfutils-libs.i386 0 :0.123-1.fc6 glib-java.i386 0:0.2.6-3.fc6 glibc-devel.i386 0:2.5-3 glibc -headers.i386 0:2.5-3 gmp.i386 0:4.1.4-9.fc6 imake.i386 0:1.0.2-3 libgco nf-java.i386 0:2.12.4-5.fc6 libgfortran.i386 0:4.1.1-30 libglade-java.i3 86 0:2.12.5-3.fc6 libgnome-java.i386 0:2.12.4-3.fc6 libgomp.i386 0:4.1.1 -30 libgtk-java.i386 0:2.8.7-2.fc6 libpfm.i386 0:3.2-0.060621.8.1 libstd c++-devel.i386 0:4.1.1-30 libvte-java.i386 0:0.12.1-5.fc6 perl-URI.noarc h 0:1.35-3 systemtap-runtime.i386 0:0.5.10-1.fc6 Complete! [root@localhost ~]#
Zum Schluss noch ein yum -y install libtermcap-devel ncurses-devel openssl-devel ausführen, damit das Kompilieren von Asterisk erfolgreich durchgeführt werden kann:
[root@localhost ~]# yum -y install libtermcap-devel ncurses-devel openss l-devel Loading "installonlyn" plugin Setting up Install Process Setting up repositories [...] Installed: libtermcap-devel.i386 0:2.0.8-46.1 Complete! [root@localhost ~]#
Auf der Asterisk-Homepage http://www.asterisk.org/
finden Sie die notwendigen Quellen, um Asterisk zu kompilieren. Nehmen Sie
bitte eine stabile und keine Entwickler-Version und laden Sie diese mit
wget
http://ftp.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz in
das Verzeichnis /usr/src/
herunter:
[root@localhost ~]# cd /usr/src [root@localhost src]# wget http://ftp.digium.com/pub/asterisk/asterisk-1 .4-current.tar.gz --16:33:35-- http://ftp.digium.com/pub/asterisk/asterisk-1.4-current.ta r.gz Auflösen des Rechnernamens »ftp.digium.com«.... 69.16.138.164, 216.27.40.102 Verbindungsaufbau mit ftp.digium.com[69.16.138.164]:80... verbunden. HTTP-Anfrage gesendet, warte auf Antwort... 200 OK Länge: 10928902 (10M) [application/x-gzip] Speichere nach: »asterisk-1.4-current.tar.gz« 100%[=======================================>] 10.928.902 142K/s in 72s 16:34:48 (149 KB/s) - »asterisk-1.4-current.tar.gz« gespeichert [1 0928902/10928902] [root@localhost src]#
Die komprimierte Datei muss jetzt mit tar xvzf asterisk-1.4-current.tar.gz entpackt werden:
[root@localhost src]# tar xvzf asterisk-1.4-current.tar.gz asterisk-1.4.0-beta3/ asterisk-1.4.0-beta3/build_tools/ asterisk-1.4.0-beta3/build_tools/mkpkgconfig asterisk-1.4.0-beta3/build_tools/get_moduleinfo asterisk-1.4.0-beta3/build_tools/mkdep [...] asterisk-1.4.0-beta3/menuselect/mxml/CHANGES asterisk-1.4.0-beta3/menuselect/mxml/mxml-file.c asterisk-1.4.0-beta3/menuselect/mxml/install-sh asterisk-1.4.0-beta3/menuselect/mxml/mxml.pc [root@localhost src]#
Asterisk 1.4 ist die erste Version, die den allgemein üblichen autoconf-Mechanismus benutzt. Zuerst muss also im Asterisk-Verzeichnis ein ./configure aufgerufen werden:
[root@localhost src]# cd asterisk-1.4.0 [root@localhost asterisk-1.4.0]# ./configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for uname... /bin/uname checking for gcc... gcc [...] configure: creating ./config.status config.status: creating build_tools/menuselect-deps config.status: creating makeopts config.status: creating channels/h323/Makefile config.status: creating include/asterisk/autoconfig.h .$$$$$$$$$$$$$$$=.. .$7$7.. .7$$7:. .$$:. ,$7.7 .$7. 7$$$$ .$$77 ..$$. $$$$$ .$$$7 ..7$ .?. $$$$$ .?. 7$$$. $.$. .$$$7. $$$$7 .7$$$. .$$$. .777. .$$$$$$77$$$77$$$$$7. $$$, $$$~ .7$$$$$$$$$$$$$7. .$$$. .$$7 .7$$$$$$$7: ?$$$. $$$ ?7$$$$$$$$$$I .$$$7 $$$ .7$$$$$$$$$$$$$$$$ :$$$. $$$ $$$$$$7$$$$$$$$$$$$ .$$$. $$$ $$$ 7$$$7 .$$$ .$$$. $$$$ $$$$7 .$$$. 7$$$7 7$$$$ 7$$$ $$$$$ $$$ $$$$7. $$ (TM) $$$$$$$. .7$$$$$$ $$ $$$$$$$$$$$$7$$$$$$$$$.$$$$$$ $$$$$$$$$$$$$$$$. configure: Package configured for: configure: OS type : linux-gnu configure: Host CPU : i686 [root@localhost asterisk-1.4.0]##
Asterisk muss jetzt kompiliert werden.[15]Dies geschieht mit dem Befehl make.
Bitte achten Sie darauf, dass die hier in der Dokumentation benutzte Version vielleicht zum Zeitpunkt Ihrer Installation nicht mehr aktuell ist. Entsprechend werden sich die Verzeichnisnamen ändern. |
Übrigens ist dies jetzt ein guter Moment, sich einen Kaffee oder Tee zu kochen. Der Kompiliervorgang kann je nach Rechenleistung des PCs wenige Minuten oder bis zu einer Stunde dauern.
[root@localhost asterisk-1.4.0]# make make[1]: Entering directory `/usr/src/asterisk-1.4.0/menuselect' 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 checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes [...] [LD] abstract_jb.o acl.o aescrypt.o aeskey.o aestab.o alaw.o app.o as t_expr2.o ast_expr2f.o asterisk.o astmm.o autoservice.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o db.o devicestate.o dns .o dnsmgr.o dsp.o enum.o file.o fixedjitterbuf.o frame.o fskmodem.o http .o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md 5.o netsock.o pbx.o plc.o privacy.o rtp.o say.o sched.o sha1.o slinfacto ry.o srv.o stdtime/localtime.o strcompat.o tdd.o term.o translate.o udpt l.o ulaw.o utils.o editline/libedit.a db1-ast/libdb1.a -> asterisk +--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, and + + can be installed by running: + + + + make install + +-------------------------------------------+ [root@localhost asterisk-1.4.0]#
Die Software ist jetzt kompiliert und muss nur noch mit make install installiert (sprich: in die vorgesehenen Verzeichnisse kopiert) werden:
[root@localhost asterisk-1.4.0]# make install make[1]: Für das Ziel »depend« ist nichts zu tun. make[1]: Für das Ziel »depend« ist nichts zu tun. [...] 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.0/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 + +-------------------------------------------+ [root@localhost asterisk-1.4.0]#
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:
[root@localhost asterisk-1.4.0]# 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 [root@localhost asterisk-1.4.0]#
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):
[root@localhost asterisk-1.4.0]# asterisk -V Asterisk 1.4.0 [root@localhost asterisk-1.4.0]#
Der Hersteller von Asterisk (die Firma Digium) hat für die Asterisk-Version 1.4 erstmalig eine eigene Linux-Distribution herausgebracht, die unter dem Namen AsteriskNOW auf der Webseite http://www.asterisknow.org zum Download angeboten wird. Diese Installation ist natürlich im Vergleich zu den anderen hier beschriebenen extrem einfach, allerdings ist man dafür später teilweise auf Digium-Hardware eingeschränkt.
Das ISO-Image für die Installations-CD können Sie auf http://www.asterisknow.org herunterladen.
Bitte stellen Sie vor der Installation sicher, dass auf dem entsprechenden Rechner keine wichtigen Daten mehr vorhanden sind. Die Festplatte wird während der Installation neu partitioniert und die Partitionen dann formatiert.
Nach dem Einlegen der CD und dem Booten (hierfür muss im BIOS die Einstellung „zuerst von CD booten“ aktiviert sein) sehen Sie folgenden Bildschirm:
Um ein neues System zu installieren, können Sie hier einfach ENTER drücken.
Danach können Sie entscheiden, welche Art der Installation Sie wünschen:
Das Installationsprogramm wird danach noch ein paar Einstellungen zum System (wie z.B. die Zeitzone) abfragen und dann mit der Installation beginnen:
Ist die Installation abgeschlossen, wird das System gestartet und zeigt das AsteriskNOW Console Menu an:
Mit der Tastenkombinationen ALT-F2 erhalten Sie eine
normale Konsole, auf der Sie sich mit dem User admin
einlogen
können. Für Rootrechte müssen Sie auch bei dieser Distribution mit dem
Programm sudo arbeiten.
Mit der Tastenkombination ALT-F9 kommen Sie ins Asterisk-CLI. |
Die Benutzung von AsteriskNOW ist für den Asterisk-Anfänger an
dieser Stelle wenig geeignet. Nehmen Sie als Grundlage um mit diesem Buch
zu arbeiten lieber ein Debian Linux! Wer Asterisk verstanden hat, der wird
die Vor- und Nachteile von AsteriskNOW abschätzen können. Für den Anfänger
überwiegen die Nachteile, da in diesem Buch ein Schwerpunkt in der
Programmierung von Dialplänen in der |
Für die Installation von Asterisk 1.4 gehen wir von einem aktuellen Mac OS X aus, das ist z.Zt. 10.4.8 „Tiger“.
Ebenso wie für Asterisk 1.2 gilt auf Mac OS X dieser Hinweis: Unterstützung für PCI-Karten ist in Asterisk auf MacOS X bisher noch nicht möglich. Will man also seinen Server direkt mit dem öffentlichen Telefonnetz verbinden, muss man auf einen externen Gateway-Provider zurückgreifen. [16]Das „Unicall for MacOS X“-Projekt arbeitet an einer Lösung. Asterisk ist für verschiedene Anwendungen (z.B.
MeetMe-Konferenzen) zu Timing-Zwecken auf Zaptel-Hardware angewiesen. Als
Alternative kann man den mitgelieferten Es kann in Ausnahmefällen auch zu Problemen mit den Formaten WAV und WAV49 kommen (GSM funktioniert). Asterisk ist auf MacOS X insgesamt noch keine ganz „runde“ Lösung. Zu Testzwecken oder für den Heimgebrauch zwar problemlos möglich, für größere Installationen aber (noch?) nicht empfehlenswert, wenn man auf die genannten Funktionen angewiesen ist. |
Möglicherweise stehen bald unter http://www.mactelephony.net/ (ehemals http://www.astmasters.net/, inzwischen nicht mehr erreichbar) „Binaries“, also vorkompilierte Pakete, zum Download bereit. Bezüglich der Aktualität der Software schadet es aber nicht, Asterisk neu zu kompilieren.
Vorausetzung sind die bei MacOS X mitgelieferten oder im Internet von Apple verfügbaren Developer Tools („Xcode“).
Falls Sie die DVD nicht greifbereit haben, können Sie Xcode auch von der Apple-Webseite http://developer.apple.com/tools/xcode/ downloaden. |
Installieren Sie diese, falls Sie das noch nicht getan haben (dieses
Paket legt das Verzeichnis /Developer
auf Ihrer
Festplatte an). Danach steht z.B. der Compiler gcc und
weitere Tools zur Verfügung.
Asterisk 1.4 wird weiter unten beim Installieren mit make install weitere erforderliche Sprachpakete runterladen, wozu wget verwendet wird, was allerdings auf einem frischen Mac OS X nicht vorhanden ist (deshalb verwenden wir ansonsten curl). Wenn Sie sowieso schon Fink[17] oder Darwinports[18] benutzen, können Sie damit ganz einfach wget installieren. Ob wget bereits installiert ist, kann man so rausfinden:
Alternativ installiert man wget „von Hand“:
und man passt entweder seinen PATH an oder macht einen Symlink:
Jetzt sollte folgendes möglich sein:
|
Laden Sie von http://www.asterisk.org/ (oder direkt
http://ftp.digium.com/pub/)
die Asterisk-Quellen (Sources) in der gewünschten Version herunter. Sie
können das im Browser machen oder auf der Kommandozeile (statt
http://
ist auch ftp://
möglich):
$
curl -O http://ftp.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
Danach wird das komprimierte Archiv entpackt:
$
tar -xvzf asterisk-1.4-current.tar.gz asterisk-1.4.0/ asterisk-1.4.0/build_tools/ asterisk-1.4.0/build_tools/mkpkgconfig asterisk-1.4.0/build_tools/get_moduleinfo asterisk-1.4.0/build_tools/get_makeopts[...]
Ab Asterisk 1.4 kommt der übliche autoconf-Mechanismus zum Einsatz[19]. Wir müssen also in das gerade entpackte Verzeichnis wechseln und ./configure ausführen, was eine Menge Informationen ausspuckt:
$
cd asterisk-1.4.0/$
./configure checking build system type... i386-apple-darwin8.8.3 checking host system type... i386-apple-darwin8.8.3 checking for uname... /usr/bin/uname checking for gcc... gcc[...]
configure: creating ./config.status config.status: creating build_tools/menuselect-deps config.status: creating makeopts config.status: creating channels/h323/Makefile config.status: creating include/asterisk/autoconfig.h .$$$$$$$$$$$$$$$=.. .$7$7.. .7$$7:. .$$:. ,$7.7 .$7. 7$$$$ .$$77 ..$$. $$$$$ .$$$7 ..7$ .?. $$$$$ .?. 7$$$. $.$. .$$$7. $$$$7 .7$$$. .$$$. .777. .$$$$$$77$$$77$$$$$7. $$$, $$$~ .7$$$$$$$$$$$$$7. .$$$. .$$7 .7$$$$$$$7: ?$$$. $$$ ?7$$$$$$$$$$I .$$$7 $$$ .7$$$$$$$$$$$$$$$$ :$$$. $$$ $$$$$$7$$$$$$$$$$$$ .$$$. $$$ $$$ 7$$$7 .$$$ .$$$. $$$$ $$$$7 .$$$. 7$$$7 7$$$$ 7$$$ $$$$$ $$$ $$$$7. $$ (TM) $$$$$$$. .7$$$$$$ $$ $$$$$$$$$$$$7$$$$$$$$$.$$$$$$ $$$$$$$$$$$$$$$$. configure: Package configured for: configure: OS type : darwin8.8.3 configure: Host CPU : i386
Danach kompilieren wir Asterisk mit make, was einige Zeit dauern kann, daher empfehle ich an dieser Stelle eine Tasse Tee[20] oder Kaffee. [21]
$
make gcc -O -Wall -c mxml-attr.c gcc -O -Wall -c mxml-entity.c gcc -O -Wall -c mxml-file.c gcc -O -Wall -c mxml-index.c gcc -O -Wall -c mxml-node.c[...]
Der Testrechner war allerdings schon nach etwa 2 bis 3 Minuten fertig, was sich in dieser erfreulichen Botschaft ausdrückt:
[...]
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+-------------------------------------------+
Die Software ist jetzt kompiliert. Der nächste Schritt muss mit Root-Rechten ausgeführt werden. Hierzu bedienen wir uns des Programms sudo.
Jetzt nur noch alle Dateien automatisch mit sudo make install installieren, also in die richtigen Verzeichnisse kopieren lassen[22]:
$
sudo 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 + +-------------------------------------------+
Und da wir sofort loslegen wollen, lassen wir auch noch mit sudo make samples die Beispiel-Konfiguration erstellen:
$
sudo make samples[...]
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):
$
asterisk -V
Asterisk 1.4.0
Ihren Asterisk-Server können Sie mit sudo asterisk starten und mit sudo asterisk -rx "stop now" beenden.
In „Asterisk automatisch beim Hochfahren starten“ finden Sie eine Beschreibung, wie man für Asterisk ein Startup-Item anlegt, um Asterisk automatisch beim Hochfahren zu starten.
[13] Die Linux-Cracks unter den Lesern mögen mir diese starke Vereinfachung verzeihen.
[14] Die Linux-Cracks unter den Lesern mögen mir diese starke Vereinfachung verzeihen.
[15] Die Linux-Cracks unter den Lesern mögen mir diese starke Vereinfachung verzeihen.
[16] Eine Liste finden Sie auf http://www.voip-info.org/wiki/index.php?page=VoIP+Gateways oder auch http://www.voip-info.org/wiki/index.php?page=VoiP+Service+Providers.
[19] wobei die Umstellung noch nicht ganz abgeschlossen zu sein scheint
[20] Vorzugsweise einen Darjeeling First Flush FTGFOP von der Teekampagne
[21] Jedes kleine Kind weiß, dass man Kaffee nicht unbeaufsichtigt rumstehen lässt!
[22] Wer noch nie sudo ausgeführt hat, erhält dabei folgenden Hinweis:
We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility.