Hướng dẫn cài FreePBX 15 trên Ubuntu 20.04 LTS (update asterisk 18 LTS)

Yêu cầu

  • Server OS : Ubuntu 20.04 LTS
  • RAM : 2 GB
  • Disk : 50 GB
  • CPU : 2

Step #01: Cài đặt các gói bổ sung trước khi cài FreePBX 15.

root@FreePBX-Server:~# apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mariadb-server mariadb-client bison flex php php-curl php-cli php-pdo php-mysql php-pear php-gd curl  sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libspandsp-dev sudo subversion libtool-bin python-dev unixodbc dirmngr php-mbstring sendmail -y

Step #02: Cài nodejs

root@FreePBX-Server:~# curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
root@FreePBX-Server:~# apt-get install -y nodejs
root@FreePBX-Server:~# reboot

Step #03: Download asterisk và các gói phụ trợ

root@FreePBX-Server:~# cd /usr/src/
root@FreePBX-Server:/usr/src/# wget https://wiki.freepbx.org/download/attachments/122487323/mariadb-connector-client-library_3.0.8-1_amd64.deb
root@FreePBX-Server:/usr/src/# wget https://wiki.freepbx.org/download/attachments/122487323/mariadb-connector-odbc_3.0.7-1_amd64.deb
root@FreePBX-Server:/usr/src/# dpkg -i mariadb-connector-client-library_3.0.8-1_amd64.deb
root@FreePBX-Server:/usr/src/# dpkg -i mariadb-connector-odbc_3.0.7-1_amd64.deb
root@FreePBX-Server:/usr/src/# pear install Console_Getopt
root@FreePBX-Server:/usr/src/# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
root@FreePBX-Server:/usr/src/# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
root@FreePBX-Server:/usr/src/# wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
root@FreePBX-Server:/usr/src/# tar xvfz dahdi-linux-complete-current.tar.gz
root@FreePBX-Server:/usr/src/# rm -f dahdi-linux-complete-current.tar.gz

Step #04: Cài đặt DAHDI và LIBPRI 

root@FreePBX-Server:/usr/src/# cd dahdi-linux-complete-*
root@FreePBX-Server:/usr/src/dahdi-linux-complete-3.0.0+3.0.0# make all
root@FreePBX-Server:/usr/src/dahdi-linux-complete-3.0.0+3.0.0# make install
root@FreePBX-Server:/usr/src/dahdi-linux-complete-3.0.0+3.0.0# make config
root@FreePBX-Server:/usr/src/dahdi-linux-complete-3.0.0+3.0.0# cd /usr/src
root@FreePBX-Server:/usr/src/# tar xvfz libpri-current.tar.gz
root@FreePBX-Server:/usr/src/# rm -f libpri-current.tar.gz
root@FreePBX-Server:/usr/src/# cd libpri-*
root@FreePBX-Server:/usr/src/libpri-1.6.0# make
root@FreePBX-Server:/usr/src/libpri-1.6.0# make install

Step #05: Cài đặt asterisk 18 LTS

root@FreePBX-Server:/usr/src/libpri-1.6.0# cd /usr/src
root@FreePBX-Server:/usr/src/# tar xvfz asterisk-18-current.tar.gz
root@FreePBX-Server:/usr/src/# rm -f asterisk-18-current.tar.gz
root@FreePBX-Server:/usr/src/# cd asterisk-*
root@FreePBX-Server:/usr/src/asterisk-18.6.0# contrib/scripts/get_mp3_source.sh
root@FreePBX-Server:/usr/src/asterisk-18.6.0# contrib/scripts/install_prereq install
root@FreePBX-Server:/usr/src/asterisk-18.6.0# ./configure --with-pjproject-bundled --with-jansson-bundled
root@FreePBX-Server:/usr/src/asterisk-18.6.0# make menuselect
root@FreePBX-Server:/usr/src/asterisk-18.6.0# menuselect/menuselect --enable app_macro --enable format_mp3 menuselect.makeopts
root@FreePBX-Server:/usr/src/asterisk-18.6.0# make
root@FreePBX-Server:/usr/src/asterisk-18.6.0# make install
root@FreePBX-Server:/usr/src/asterisk-18.6.0# make config
root@FreePBX-Server:/usr/src/asterisk-18.6.0# ldconfig
root@FreePBX-Server:/usr/src/asterisk-18.6.0# update-rc.d -f asterisk remove

– Note: update php5.6 (Freepbx chạy ổn định trên vesion này)

add-apt-repository ppa:ondrej/php
apt-get update
apt-get install php5.6 php5.6-xml php5.6-mysql php5.6-mbstring
update-alternatives --set php /usr/bin/php5.6
a2dismod php7.4
a2enmod php5.6
systemctl restart apache2

Step #06: Thêm asterisk user và cài đặt permission

root@FreePBX-Server:/usr/src/asterisk-18.6.0# cd
root@FreePBX-Server:~# useradd -m asterisk
root@FreePBX-Server:~# chown asterisk. /var/run/asterisk
root@FreePBX-Server:~# chown -R asterisk. /etc/asterisk
root@FreePBX-Server:~# chown -R asterisk. /var/{lib,log,spool}/asterisk
root@FreePBX-Server:~# chown -R asterisk. /usr/lib/asterisk
root@FreePBX-Server:~# rm -rf /var/www/html
root@FreePBX-Server:~# sed -i 's/\(^upload_max_filesize = \).*/0M/' /etc/php/7.2/apache2/php.ini
root@FreePBX-Server:~# cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
root@FreePBX-Server:~# sed -i 's/${APACHE_RUN_USER}/asterisk/' /etc/apache2/apache2.conf
root@FreePBX-Server:~# sed -i 's/${APACHE_RUN_GROUP}/asterisk/' /etc/apache2/apache2.conf
root@FreePBX-Server:~# sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
root@FreePBX-Server:~# a2enmod rewrite
root@FreePBX-Server:~# systemctl restart apache2

Step #07: Tạo odbc

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

Step #08: Tạo file odbc khác cho asterisk report.

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
EOF

Step #09: Download FreePBX 15 và cài đặt

root@FreePBX-Server:~# cd /usr/src
root@FreePBX-Server:/usr/src# wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz
root@FreePBX-Server:/usr/src# tar vxfz freepbx-15.0-latest.tgz
root@FreePBX-Server:/usr/src# rm -f freepbx-15.0-latest.tgz
root@FreePBX-Server:/usr/src# touch /etc/asterisk/{modules,cdr}.conf
root@FreePBX-Server:/usr/src# cd freepbx
root@FreePBX-Server:/usr/src/freepbx# ./start_asterisk start
root@FreePBX-Server:/usr/src/freepbx# ./install -n

Tạo service cho Freebx

cat > /etc/systemd/system/freepbx.service <<EOF
[Unit]
Description=Freepbx
After=mariadb.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/fwconsole start
ExecStop=/usr/sbin/fwconsole stop

[Install]
WantedBy=multi-user.target
EOF
systemctl enable freepbx

Step #10:  Login với admin account và update module. 

Bây giờ vào trình duyệt login ip server và hưởng thụ thành quả.

Chúc các bạn thành công!

Bài viết liên quan

Leave a Reply

Your email address will not be published. Required fields are marked *