Installation Asterisk 1.2.x auf Ubuntu Linux

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.

[Tipp]Tipp

Eine Liste von FTP-Mirrors zum Download des ISO-Images stehen 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 libssl-dev zlib1g-dev noch ein paar Pakete nachinstallieren, damit das Kompilieren von Asterisk erfolgreich durchgeführt werden kann:

uubuntu@ubuntu:~$ sudo apt-get -y install make gcc g++ libncurses5-dev libssl-dev zlib1g-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 lib64gcc1
  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
  libssl-dev libstdc++6-4.0-dev linux-kernel-headers make zlib1g-dev
0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
Need to get 15.6MB of archives.
After unpacking 58.9MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com dapper/main cpp-4.0 4.0.3-1ubuntu5 [1987kB]
Get:2 http://security.ubuntu.com dapper-security/main binutils 2.16.1cvs20060117-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.2-current.tar.gz in das Verzeichnis /usr/src/ herunter:

ubuntu@ubuntu:~$ cd /usr/src
ubuntu@ubuntu:/usr/src$ wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz
--09:36:42--  http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz
           => `asterisk-1.2-current.tar.gz'
Resolving ftp.digium.com... 69.16.138.164
Connecting to ftp.digium.com|69.16.138.164|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10,584,113 (10M) [application/x-gzip]

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

09:38:29 (97.21 KB/s) - `asterisk-1.2-current.tar.gz' saved [10584113/10584113]

ubuntu@ubuntu:/usr/src$

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

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

Die entpackten Dateien müssen jetzt kompiliert werden.[6]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.13 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.

ubuntu@ubuntu:/usr/src$ cd asterisk-1.2.13/
ubuntu@ubuntu:/usr/src/asterisk-1.2.13$ make
if cmp -s .cleancount .lastclean ; then echo ; else \
                make clean; cp -f .cleancount .lastclean;\


[...]

make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/src/asterisk-1.2.13/stdtime'
 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, but +
 + cannot be run before being installed by   +
 + running:                                  +
 +                                           +
 +               make install                +
 +-------------------------------------------+
ubuntu@ubuntu:/usr/src/asterisk-1.2.13$ 

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.2.13$ sudo 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;

[...]

make[1]: Leaving directory `/usr/src/asterisk-1.2.13/stdtime'
 +---- 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.2.13$ 

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.2.13$ sudo 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;

[...]

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/voicemail/default/1234/busy.gsm ; \
        done
ubuntu@ubuntu:/usr/src/asterisk-1.2.13$ 

Fertig! Asterisk ist auf Ihrem System installiert. Mit dem Befehl sudo asterisk -V können Sie die installierte Version herausfinden (bitte achten Sie auf das großgeschriebene V):

ubuntu@ubuntu:/usr/src/asterisk-1.2.13$ sudo asterisk -V
Asterisk 1.2.13
ubuntu@ubuntu:/usr/src/asterisk-1.2.13$ 
[Warnung]Warnung

Dadurch, dass Ubuntu normalen root-Zugriff nur über sudo zulässt, müssen Sie bei allen Beispielen in diesem Buch bei Aufrufen von Asterisk immer ein sudo davorschreiben. Wenn Sie als Benutzer ubuntu Asterisk starten, werden Sie eine Fehlermeldung bekommen, da der Benutzer ubuntu nicht in allen Verzeichnissen schreiben kann.

Der richtige Aufruf zum Starten von Asterisk muss also immer wie folgt aussehen: sudo asterisk -c oder sudo asterisk



[6] 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