Installation Asterisk 1.2.x auf Fedora Linux

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@fc6 ~]# 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

[...]

Replaced: bluez-pin.i386 0:0.30-5
Complete!
[root@fc6 ~]# 

Am besten starten Sie nach dem Update den Server neu mit init 6.

Jetzt müssen Sie mit yum -y groupinstall "Development Tools" noch einige Pakete installieren:

[root@fc6 ~]# 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                   ####################### [53/53] 

Installed: autoconf.noarch 0:2.59-12 automake.noarch 0:1.9.6-2.1 automake14.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-29.2.2 cscope.i386 0:15.5-15.fc6.1 ctags.i386 0:5.6-1.1 cvs.i386 0:1.11.22-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.22.rh1-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-15.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 oprofile-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.31-0.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 libgconf-java.i386 0:2.12.4-5.fc6 libgfortran.i386 0:4.1.1-30 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 libstdc++-devel.i386 0:4.1.1-30 perl-URI.noarch 0:1.35-3 systemtap-runtime.i386 0:0.5.10-1.fc6
Complete!
[root@fc6 ~]# 

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@fc6 ~]# yum -y install libtermcap-devel ncurses-devel openssl-devel
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories

[...]

Installed: libtermcap-devel.i386 0:2.0.8-46.1 ncurses-devel.i386 0:5.5-24.20060715 openssl-devel.i386 0:0.9.8b-8.3.fc6
Dependency Installed: e2fsprogs-devel.i386 0:1.39-7.fc6 krb5-devel.i386 0:1.5-7 zlib-devel.i386 0:1.2.3-3
Complete!
[root@fc6 ~]# 

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.2-current.tar.gz in das Verzeichnis /usr/src/ herunter:

fc6:~# cd /usr/src
fc6:/usr/src# wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz
--18:30:46--  http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz
           => `asterisk-1.2-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,584,113 [application/x-gzip]

100%[====================================>] 10,584,113   224.71K/s    ETA 00:00

18:31:36 (207.67 KB/s) - »asterisk-1.2-current.tar.gz« gespeichert [10584113/10584113]

Die komprimierte Datei muss jetzt mit tar xvzf asterisk-1.2-current.tar.gz entpackt werden:

fc6:/usr/src# tar xvzf asterisk-1.2-current.tar.gz 
asterisk-1.2.14/
asterisk-1.2.14/build_tools/
asterisk-1.2.14/build_tools/make_svn_branch_name
asterisk-1.2.14/build_tools/mkdep
asterisk-1.2.14/build_tools/make_build_h
asterisk-1.2.14/build_tools/make_version_h
asterisk-1.2.14/build_tools/make_defaults_h
asterisk-1.2.14/aesopt.h
asterisk-1.2.14/utils.c
asterisk-1.2.14/keys/
[...]
asterisk-1.2.14/cli.c
asterisk-1.2.14/io.c
asterisk-1.2.14/ulaw.c
asterisk-1.2.14/logger.c
fc6:/usr/src#

Die entpackten Dateien müssen jetzt kompiliert werden.[8]Dies geschieht mit dem Befehl make im gerade entpackten Verzeichnis.

[Warnung]Warnung

Bitte achten Sie darauf, dass die hier in der Dokumentation benutzte Version 1.2.14 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.

fc6:/usr/src# cd asterisk-1.2.14
fc6:/usr/src/asterisk-1.2.14# make
if cmp -s .cleancount .lastclean ; then echo ; else \
        make clean; cp -f .cleancount .lastclean;\

[...]

make[1]: Für das Ziel »all« ist nichts zu tun.
make[1]: Leaving directory `/usr/src/asterisk-1.2.14/stdtime'
 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, but +
 + cannot be run before being installed by   +
 + running:                                  +
 +                                           +
 +               make install                +
 +-------------------------------------------+
[root@fc6 asterisk-1.2.14]#

Die Software ist jetzt kompiliert und muss nur noch mit make install installiert (sprich an die vorgesehenen Stellen im Dateisystem kopiert) werden:

fc6:/usr/src/asterisk-1.2.14# make install
build_tools/make_version_h > include/asterisk/version.h.tmp
if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; 
then echo;

[...]

 +---- 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    +
 +-------------------------------------------+

Geschafft! Die soeben 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 make samples:

fc6:/usr/src/asterisk-1.2.14# make samples
build_tools/make_version_h > include/asterisk/version.h.tmp
if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; 
then echo;

[...]

done

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):

fc6:/usr/src/asterisk-1.2.14# asterisk -V
Asterisk 1.2.14


[8] Die Linux-Cracks unter den Lesern mögen mir diese starke Vereinfachung verzeihen.


Version 1.2, November 2002

Neue Version verfügbar

Sie betrachten gerade die alte Version des Buches (Version 1.0). Wir empfehlen Ihnen für Asterisk 1.4 und 1.6 die neue Version des Buches.

Asterisk-Tag 2008

Lernen Sie Mark Spencer (den Erfinder von Asterisk) kennen! Viele Vorträge, Case-Studies und Workshops rund um das Thema VoIP. Asterisk-Tag.org

Das gedruckte Buch