Pereiti prie pagrindinio turinio

FreePBX 17 ir Asterisk 21 diegimas Debian 12 sistemoje

Šioje pamokoje parodysime, kaip švariame Debian 12 VPS serveryje įdiegti FreePBX 17 kartu su Asterisk 21.

FreePBX yra galinga atvirojo kodo grafinė naudotojo sąsaja, skirta valdyti Asterisk, vieną populiariausių atvirojo kodo telefonijos sistemų. Naudojant FreePBX kartu su Asterisk galima sukurti visavertę VoIP PBX sistemą su skambučių nukreipimu, balso paštu, IVR meniu, konferenciniais skambučiais ir kitomis funkcijomis. Visa sistema valdoma per patogią web sąsają.

Reikalavimai

Prieš pradėdami įsitikinkite, kad turite:

  • Tuščia Debian 12 VPS serverį. Rekomenduojama bent 2 procesoriaus branduoliai ir 2 GB RAM.

  • Root arba sudo prieigą.

  • Domeno vardą, nukreiptą į serverio IP adresą. Tai nėra privaloma, tačiau naudinga norint pasiekti sistemą per naršyklę ir naudoti SSL.

Diegimas

1. Sistemos atnaujinimas

Pirmiausia atnaujinkite paketų sąrašą ir serveryje įdiegtus paketus:

apt update && apt upgrade -y

2. Reikalingų paketų diegimas

Įdiekite Asterisk ir FreePBX veikimui bei kompiliavimui reikalingus paketus:

apt -y install build-essential git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev libjansson-dev libxml2-dev uuid-dev default-libmysqlclient-dev htop sngrep lame ffmpeg mpg123 expect vim

3. Apache, MariaDB ir PHP 8.2 diegimas

FreePBX 17 palaiko tik PHP 8.2 versiją. Jei serveryje naudojama senesnė arba naujesnė PHP versija, ją pašalinkite ir įdiekite PHP 8.2.

apt-get install -y apache2 mariadb-server mariadb-client bison flex php8.2 php8.2-curl php8.2-cli php8.2-common php8.2-mysql php8.2-gd php8.2-mbstring  php8.2-intl php8.2-xml php-pear sox sqlite3 pkg-config automake libtool autoconf unixodbc-dev uuid libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev odbc-mariadb libical-dev libneon27-dev libsrtp2-dev  libspandsp-dev libtool-bin python-dev-is-python3 unixodbc software-properties-common nodejs npm ipset iptables fail2ban php-soap

4. Asterisk diegimas

Atsisiųskite Asterisk programinį kodą ir jį sukompiliuokite. Komanda make gali būti vykdoma kurį laiką, todėl palaukite, kol procesas bus baigtas.

cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21-current.tar.gz
tar xvf asterisk-21-current.tar.gz
cd asterisk-21*/
contrib/scripts/get_mp3_source.sh
contrib/scripts/install_prereq install
./configure --libdir=/usr/lib64 --with-pjproject-bundled --with-jansson-bundled
make menuselect
make

Baigus kompiliavimą terminale turėtų būti rodomas pranešimas apie sėkmingai užbaigtą procesą.

Dabar galite tęsti Asterisk diegimą:

make install
make samples
make config
ldconfig

Nustatykite, kad Asterisk būtų automatiškai paleidžiama kartu su sistema, ir paleiskite paslaugą:

systemctl enable asterisk
systemctl start asterisk

4.1. Asterisk naudotojo sukūrimas ir teisių suteikimas

Sukurkite Asterisk grupę, sistemos naudotoją ir suteikite reikalingas katalogų teises

groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
usermod -aG audio,dialout asterisk
chown -R asterisk:asterisk /etc/asterisk
chown -R asterisk:asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk:asterisk /usr/lib64/asterisk

sed -i 's|#AST_USER|AST_USER|' /etc/default/asterisk
sed -i 's|#AST_GROUP|AST_GROUP|' /etc/default/asterisk
sed -i 's|;runuser|runuser|' /etc/asterisk/asterisk.conf
sed -i 's|;rungroup|rungroup|' /etc/asterisk/asterisk.conf
echo "/usr/lib64" >> /etc/ld.so.conf.d/x86_64-linux-gnu.conf
ldconfig

4.2. Apache web serverio konfigūravimas

Atnaujinkite PHP ir Apache nustatymus, reikalingus tinkamam FreePBX veikimui:

sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/8.2/apache2/php.ini
sed -i 's/\(^memory_limit = \).*/\1256M/' /etc/php/8.2/apache2/php.ini
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
a2enmod rewrite
systemctl restart apache2
rm /var/www/html/index.html

4.3. ODBC konfigūravimas

Sukurkite MariaDB skirtą ODBC tvarkyklės konfigūraciją:

cat <<EOF > /etc/odbcinst.ini
[MySQL]
Description = ODBC for MySQL (MariaDB)
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmaodbc.so
FileUsage = 1
EOF

Tada sukonfigūruokite ryšį su asteriskcdrdb duomenų baze:

cat <<EOF > /etc/odbc.ini
[MySQL-asteriskcdrdb]
Description = MySQL connection to 'asteriskcdrdb' database
Driver = MySQL
Server = localhost
Database = asteriskcdrdb
Port = 3306
Socket = /var/run/mysqld/mysqld.sock
Option = 3
EOF

5. FreePBX diegimas

Pereikite į /usr/local/src katalogą, atsisiųskite naujausią FreePBX 17 paketą ir jį išskleiskite:

cd /usr/local/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-17.0-latest-EDGE.tgz
tar zxvf freepbx-17.0-latest-EDGE.tgz
cd /usr/local/src/freepbx/
./start_asterisk start
./install -n

Sėkmingai baigus diegimą terminale turėtų būti rodomas pranešimas "You have successfully installed FreePBX".

6. Prisijungimas prie FreePBX web sąsajos

Atidarykite naršyklę ir eikite šiuo adresu:

http://your-server-ip/admin

Vykdykite ekrane pateikiamus pradinės konfigūracijos veiksmus, sukurkite administratoriaus paskyrą ir užbaikite FreePBX nustatymą.

Ar gavote atsakymą į savo klausimą?