Asterisk ist die beliebteste und am weitesten verbreitete Open-Source-PBX-Plattform, die IP-PBX-Systeme, Konferenzserver und VoIP-Gateways unterstützt. Es wird weltweit von Einzelpersonen, Kleinunternehmen, Großunternehmen und Regierungen verwendet.
Zu den Asterisk-Funktionen gehören Voicemail, Wartemusik, Konferenzgespräche, Anrufwarteschlangen, Anrufaufzeichnung, interaktive Sprachantwort und vieles mehr.
Dieses Tutorial führt Sie durch die Schritte, die zur Installation von Asterisk 15 auf CentOS 7 erforderlich sind.
Voraussetzungen #
-
Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
-
Aktualisieren Sie Ihr CentOS-System und installieren Sie die Entwicklungstools, die zum Kompilieren des Asterisk-Quellcodes erforderlich sind:
sudo yum update
sudo yum groupinstall core base "Development Tools"
Selinux deaktivieren #
Wenn SELinux auf enforcing
eingestellt ist Modus, Asterisk wird nicht richtig funktionieren.
Öffnen Sie zum Deaktivieren der SELinux-Sicherheitsfunktionen die Datei /etc/selinux/config
Datei und setzen Sie SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Speichern Sie die Datei und starten Sie Ihr CentOS-System neu mit:
sudo shutdown -r now
Stellen Sie nach dem Hochfahren des Computers sicher, dass die Datei getenforce
Befehl gibt Disabled
zurück :
getenforce
Disabled
Asterisk herunterladen #
Wir werden den Asterisk-Quellcode in /usr/src
herunterladen Verzeichnis, das der übliche Speicherort für Quelldateien ist.
Wechseln Sie zu /usr/src
Verzeichnis durch Eingabe von:
cd /usr/src/
Laden Sie die neueste Version von Asterisk 15 mit dem folgenden wget-Befehl herunter:
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:
sudo tar zxf asterisk-15-current.tar.gz
Bevor Sie mit den nächsten Schritten fortfahren, stellen Sie sicher, dass Sie in das Asterisk-Quellverzeichnis wechseln, indem Sie Folgendes eingeben:
cd asterisk-15.*/
Asterisk-Abhängigkeiten installieren #
Laden Sie die MP3-Quellen herunter, die zum Erstellen des MP3-Moduls erforderlich sind, und verwenden Sie MP3-Dateien auf Asterisk:
sudo contrib/scripts/get_mp3_source.sh
Als nächstes installieren Sie alle fehlenden Abhängigkeiten mit install_prereq
Skript:
sudo contrib/scripts/install_prereq install
Das Skript installiert alle erforderlichen Pakete und gibt nach erfolgreichem Abschluss die folgende Meldung aus:
#############################################
## install completed successfully
#############################################
Installieren Sie Asterisk #
Die configure
Das Skript führt eine Reihe von Überprüfungen durch, um sicherzustellen, dass alle Abhängigkeiten vorhanden sind, die für den Build- und Installationsprozess erforderlich sind. Starten Sie das Skript, indem Sie Folgendes eingeben:
sudo ./configure --libdir=/usr/lib64
Nach erfolgreichem Abschluss sehen Sie die folgende Ausgabe:
Im nächsten Schritt wählen Sie die Module aus, die Sie kompilieren und installieren möchten.
Die meisten Module sind bereits aktiviert. Greifen Sie auf das Menuselect-System zu, indem Sie Folgendes eingeben:
sudo make menuselect
Wir haben die MP3-Quelldateien bereits heruntergeladen und müssen Asterisk jetzt mitteilen, dass das MP3-Modul erstellt werden soll, indem Sie format_mp3
auswählen :
Wenn Sie fertig sind, drücken Sie F12
um zu speichern und zu beenden, oder wechseln Sie zu Save and Exit
-Taste und drücken Sie Enter
.
Starten Sie den Kompilierungsprozess mit make
Befehl:
sudo make -j2
Der Build kann je nach System einige Zeit in Anspruch nehmen. Sie können das -j
ändern Flag entsprechend der Anzahl der Kerne in Ihrem Prozessor. Sobald der Erstellungsprozess abgeschlossen ist, wird Ihnen die folgende Meldung angezeigt:
Der nächste Schritt besteht darin, Asterisk und seine Module zu installieren, indem Sie Folgendes eingeben:
sudo make install
Sobald die Installation abgeschlossen ist, zeigt das Skript die folgende Meldung an:
Nachdem Asterisk nun installiert ist, müssen wir die Beispielkonfigurationsdateien installieren.
Installieren Sie entweder die generischen Konfigurationsdateien mit Referenzdokumentation, indem Sie Folgendes eingeben:
sudo make samples
Oder installieren Sie die grundlegenden PBX-Konfigurationsdateien:
sudo make basic-pbx
Der letzte Schritt besteht darin, das Asterisk-Init-Skript zu installieren, indem Sie Folgendes eingeben:
sudo make config
Führen Sie abschließend ldconfig
aus So aktualisieren Sie den Cache für gemeinsam genutzte Bibliotheken:
sudo ldconfig
Asterisk-Benutzernummer erstellen
Standardmäßig läuft Asterisk als Root-Benutzer. Aus Sicherheitsgründen erstellen wir einen neuen Systembenutzer und konfigurieren Asterisk so, dass es unter dem neu erstellten Benutzer läuft.
So erstellen Sie einen neuen Systembenutzer mit dem Namen asterisk
Führen Sie den folgenden Befehl aus:
sudo adduser --system --user-group --home-dir /var/lib/asterisk --no-create-home asterisk
Um Asterisk so zu konfigurieren, dass es als asterisk
ausgeführt wird Benutzer, öffnen Sie die Datei /etc/sysconfig/asterisk
file und kommentieren Sie die folgenden zwei Zeilen aus:
AST_USER="asterisk"
AST_GROUP="asterisk"
Fügen Sie das asterisk
hinzu Benutzer zum dialout
und audio
Gruppen:
sudo usermod -a -G dialout,audio asterisk
Wir müssen auch den Besitz und die Berechtigungen aller Sternchen-Dateien und -Verzeichnisse ändern, damit der Benutzer Sternchen auf diese Dateien zugreifen kann:
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
Sternchen starten #
Nachdem wir nun alles eingerichtet haben, können wir den Asterisk-Dienst mit dem folgenden Befehl starten:
sudo systemctl start asterisk
Um zu überprüfen, ob Asterisk ausgeführt wird, stellen Sie eine Verbindung zur Asterisk-Befehlszeilenschnittstelle (CLI) her, indem Sie Folgendes eingeben:
sudo asterisk -vvvr
Sie sehen die standardmäßige Asterisk-CLI-Eingabeaufforderung:
Der letzte Schritt besteht darin, den Asterisk-Dienst so zu aktivieren, dass er beim Booten startet mit:
sudo systemctl enable asterisk
Firewall-Regeln anpassen #
Nachdem Asterisk nun installiert ist und ausgeführt wird, müssen Sie Ihre Firewall so konfigurieren, dass Datenverkehr an Asterisk-spezifischen Ports zugelassen wird.
Wenn auf Ihrem System keine Firewall aktiviert ist, können Sie diesen Abschnitt überspringen.Öffnen Sie einen Texteditor Ihrer Wahl und erstellen Sie den folgenden Firewalld-Dienst:
/etc/firewalld/services/asterisk.xml<?xml version="1.0" encoding="utf-8"?>
<service version="1.0">
<short>asterisk</short>
<description>Asterisk is a software implementation of a telephone private branch exchange (PBX).</description>
<port protocol="udp" port="10000-10100"/>
<port protocol="udp" port="4569"/>
<port protocol="udp" port="2727"/>
<port protocol="udp" port="5060-5061"/>
</service>
Speichern Sie die Datei und wenden Sie die neuen Firewall-Regeln an, indem Sie Folgendes eingeben:
sudo firewall-cmd --add-service=asterisk --permanent
sudo firewall-cmd --reload
Überprüfen Sie abschließend, ob die neuen Firewall-Regeln erfolgreich angewendet wurden mit:
sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client asterisk
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Fühlen Sie sich frei, die Firewall Ihren Bedürfnissen anzupassen.