Asterisk installieren
Für eine Asterisk-Installation gibt es zwei sinnvolle Wege:
-
Distributionspaket — am bequemsten, aber oft nicht die aktuelle LTS-Version. Funktioniert nur, wenn die Distribution Asterisk überhaupt packt (siehe Hinweis unten).
-
Aus dem Quellcode kompilieren — etwas mehr Arbeit, dafür die exakte Version Ihrer Wahl und Kontrolle über die geladenen Module. Der empfohlene Weg für Produktivsysteme.
Beide Wege laufen auf einem frischen Debian- oder Ubuntu-Server. Andere Distributionen (RHEL/Rocky/AlmaLinux, openSUSE, Alpine) sind ebenfalls möglich — die Pakete heißen dort anders, das Grundprinzip bleibt gleich.
|
Distributionspakete sind nicht immer verfügbar. Debian hatte
Asterisk bis einschließlich Debian 12 (bookworm) im Repository, in
Debian 13 (trixie) ist das Metapaket |
Installation aus dem Distributionspaket
Auf Ubuntu (oder älteren Debian-Versionen):
# apt update
# apt install -y asterisk
# systemctl status asterisk
Asterisk läuft danach als systemd-Service, lädt die Default-Konfiguration
aus /etc/asterisk/ und verwendet die mitgelieferten Soundprompts aus
/var/lib/asterisk/sounds/.
Prüfen Sie im Anschluss die Version:
# asterisk -rx 'core show version'
Reicht Ihnen das Alter des Paketes nicht, installieren Sie aus den Quellen — das ist gerade unter Debian 13 ohnehin der einzige Weg.
Installation aus dem Quellcode
Voraussetzungen
# apt update
# apt install -y build-essential wget git pkg-config \
libedit-dev libjansson-dev libsqlite3-dev libssl-dev \
libxml2-dev uuid-dev libsrtp2-dev
Quellcode holen und vorbereiten
Die aktuellen Release-Tarballs stehen unter https://downloads.asterisk.org/pub/telephony/asterisk/. Pinnen Sie auf eine konkrete LTS-Version Ihrer Wahl:
# cd /usr/src
# ASTERISK_VERSION=22 # bzw. die jeweils aktuelle LTS-Major-Version
# wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-${ASTERISK_VERSION}-current.tar.gz
# tar xzf asterisk-${ASTERISK_VERSION}-current.tar.gz
# cd asterisk-${ASTERISK_VERSION}*
Das mitgelieferte Skript contrib/scripts/install_prereq installiert
alle weiteren Abhängigkeiten (inkl. PJProject, das für chan_pjsip
benötigt wird):
# contrib/scripts/install_prereq install
Konfigurieren, kompilieren, installieren
# ./configure
# make menuselect # interaktiv: welche Module werden gebaut?
# make -j$(nproc)
# make install
# make samples # legt Default-Config in /etc/asterisk/ ab
# make config # installiert Init-Script /etc/init.d/asterisk
# make install-logrotate
|
Auf Debian installiert |
make menuselect startet eine TUI, in der Sie Module an- oder
abschalten können. Default ist ein ausgewogener Satz. Für eine
schlanke Installation können Sie Legacy-Module (app_meetme,
pbx_ael) und Module, die Sie nicht brauchen, herausnehmen.
|
|
Erster Start
# systemctl start asterisk
# systemctl enable asterisk
# asterisk -rvvv
|
|
Wenn alles läuft, sehen Sie einen Prompt wie
servername*CLI> und können per core show version die Version
prüfen:
servername*CLI> core show version
Asterisk 22.x.y built by ...
Firewall-Einstellungen
Ein Asterisk-Server braucht in der Firewall ein paar geöffnete Ports:
| Port | Protokoll | Zweck |
|---|---|---|
5060 |
UDP / TCP |
SIP (unverschlüsselt) |
5061 |
TCP |
SIP über TLS |
8089 |
TCP |
HTTPS / WSS (für WebRTC und ARI) |
10000–20000 |
UDP |
RTP (Audio), Bereich in |
4569 |
UDP |
IAX2 — nur öffnen, wenn IAX wirklich benötigt wird |
5038 |
TCP |
AMI — nur intern öffnen, niemals ins Internet |
8088 |
TCP |
ARI HTTP — nur intern (TLS lieber über 8089) |
|
Öffnen Sie nicht den SIP-Port 5060 einfach für das gesamte
Internet, ohne Absicherung ( |
Nützliche Begleittools
-
Konfiguration prüfen:
asterisk -rx 'pjsip show endpoint <name>'zeigt, wie Asterisk einen PJSIP-Endpoint tatsächlich geladen hat — inklusive Warnungen, wenn etwas nicht zusammenpasst. Vergleichbare Befehle existieren für alle größeren Module (queue show,confbridge show,voicemail show users). -
Reloads: Nach Änderungen an
extensions.confreichtdialplan reload. Für andere Konfigurationsdateien gibt es jeweils passende Reload-Befehle (pjsip reload,voicemail reload,module reload res_parking.so, …). -
Logdatei: Per Default schreibt Asterisk die wichtigen Meldungen nach
/var/log/asterisk/messages.log. Weitere Log-Kanäle (z. B.full.logmit Verbose-/Debug-Meldungen,security.logfür Security-Events) lassen sich inlogger.confeinrichten und mitlogger reloadaktivieren. -
fail2ban: Mit dem Filterasterisksperrt es IPs, die im Security-Log mit fehlgeschlagenen Logins auffallen. Siehe Fail2ban einrichten.