FreePBX yra galinga atvirojo kodo grafinė vartotojo sąsaja, skirta valdyti Asterisk, vieną populiariausių atvirojo kodo telefonijos variklių pasaulyje. Naudojant FreePBX kartu su Asterisk, galima sukurti pilnavertę VoIP PBX sistemą su skambučių maršrutizavimu, balso paštu, IVR meniu, konferenciniais skambučiais ir kitomis funkcijomis. Viskas valdoma per interneto naršyklėje pasiekiamą valdymo skydelį.
0. Būtinos sąlygos
Prieš pradėdami įsitikinkite, kad turite:
Naują Debian 12 VPS serverį. Rekomenduojama bent 2 CPU branduoliai ir 2 GB RAM.
Root arba sudo prieigą.
Domeno vardą, nukreiptą į jūsų serverio IP adresą. Tai nėra būtina, bet naudinga norint patogiai pasiekti sistemą per naršyklę ir naudoti SSL sertifikatą.
Bazines Linux komandinės eilutės žinias.
1. Atnaujinkite sistemą
apt update && apt upgrade -y
2. Įdiekite 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. Įdiekite Apache, MariaDB ir PHP 8.2
FreePBX 17 palaiko tik PHP 8.2 versiją. Jei serveryje naudojama senesnė arba naujesnė PHP versija, ją reikėtų pašalinti ir įdiegti 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. Įdiekite Asterisk
Atsisiųskite Asterisk išeities kodą ir atlikite kompiliavimą. Kompiliavimas, vykdomas su make komanda, gali užtrukti, 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
Kai kompiliavimas bus baigtas, terminale turėtumėte matyti atitinkamą pranešimą.
Dabar tęskite diegimą.
make install
make samples
make config
ldconfig
Paleiskite Asterisk ir nustatykite, kad jis automatiškai startuotų įjungus serverį:
systemctl enable asterisk
systemctl start asterisk
4.1. Sukurkite asterisk naudotoją ir suteikite reikiamas 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. Sukonfigūruokite Apache interneto serverį
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. Sukonfigūruokite ODBC
cat <<EOF > /etc/odbcinst.ini
[MySQL]
Description = ODBC for MySQL (MariaDB)
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmaodbc.so
FileUsage = 1
EOF
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. Įdiekite FreePBX
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
Atlikta. Terminale turėtumėte matyti pranešimą "You have successfully installed FreePBX".
6. Prisijunkite prie FreePBX valdymo sąsajos
Atidarykite naršyklę ir eikite šiuo adresu:
http://your-server-ip/admin
Sekite pradinės konfigūracijos vedlio nurodymus, susikurkite administratoriaus paskyrą ir užbaikite sistemos nustatymą.


