Hướng dẫn cài đặt Asterisk16 Freepbx14 trên centos7

Hướng dẫn cài đặt Asterisk16 Freepbx14 trên centos7

Tiếp tục bài viết tìm hiểu tổng đài voip mã nguồn mở hôm nay mình xin chia sẻ bài viết xây dựng tổng đài ip hoàn toàn miễn phí dựa trên mã nguồn mở dùng core Asertisk16 và giao diện web Freepbx14 trên Centos7.

1. Chuẩn bị

Máy ảo vps hoặc VMvare,Virtuabox.

Hệ điều hành: Centos 7

Ram: 512MB-1G

HDD: 10-20G hoặc hơn

2. Cài đặt

2.1 Cập nhập hệ thống.

  • Tắt SELinux.
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
ln -sf /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime
  • Cập nhập hệ thống đảm bảo các gói update mới nhất.
yum -y update && yum -y groupinstall core && yum -y groupinstall base && yum -y install epel-release && yum -y remove sendmail
yum -y install automake gcc gcc-c++ ncurses-devel openssl-devel libxml2-devel unixODBC-devel libcurl-devel libogg-devel libvorbis-devel speex-devel spandsp-devel freetds-devel net-snmp-devel iksemel-devel corosynclib-devel newt-devel popt-devel libtool-ltdl-devel lua-devel sqlite-devel radiusclient-ng-devel portaudio-devel neon-devel libical-devel openldap-devel gmime-devel mysql-devel bluez-libs-devel jack-audio-connection-kit-devel gsm-devel libedit-devel libuuid-devel libsrtp-devel git subversion libxslt-devel kernel-devel audiofile-devel gtk2-devel libtiff-devel libtermcap-devel ilbc-devel python-devel bison tftp-server httpd sox tzdata mysql-connector-odbc mariadb mariadb-server fail2ban jwhois xmlstarlet ghostscript libtiff-tools patch e2fsprogs mpg123 lame gstreamer postfix mongodb-server
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

#Cài php 5.6

yum remove php* yum install -y php56w php56w-pdo php56w-mysql php56w-mbstring php56w-pear php56w-process php56w-xml php56w-opcache php56w-ldap php56w-intl php56w-soap

#Cài Node.Js

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
yum -y install nodejs

#Cài  ODBC

cat >> /etc/odbc.ini << EOF
[MySQL-asteriskcdrdb]
Description = MariaDB connection to 'asteriskcdrdb' database
driver = MySQL
server = localhost
database = asteriskcdrdb
Port = 3306
Socket = /var/lib/mysql/mysql.sock
option = 3
Charset=utf8

EOF

#Khởi động mariadb.

systemctl enable mariadb.service
systemctl start mariadb

#Khởi động httpd.

systemctl enable httpd.service
systemctl start httpd.service

#Tắt firewall.

systemctl stop firewalld
systemctl mask firewalld

Reboot lại hệ thống

2.2 Cài đặt Asterisk Freepbx

  • Cài jansson

    cd /usr/src
    wget -O jansson.zip https://codeload.github.com/akheron/jansson/zip/master
    unzip jansson.zip
    rm -f jansson.zip
    cd jansson-*
    autoreconf -i
    ./configure --libdir=/usr/lib64
    make
    make install
  •  Cài dahdi
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.10.2+2.10.2.tar.gz
tar zxvf dahdi-linux-complete-2.10*
cd /usr/src/dahdi-linux-complete-2.10*/
make all && make install && make config
systemctl restart dahdi
  •  Cài dặt Libpri
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
tar xvfz libpri-current.tar.gz
cd /usr/src/libpri-*
make
make install
  •  Cài đặt PJSIP
cd /usr/src
wget http://www.pjsip.org/release/2.5.5/pjproject-2.5.5.tar.bz2
tar -xjvf pjproject-2.5*
cd /usr/src/pjproject-2.5*/
make distclean
./configure --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-sound --disable-resample \
--disable-video --disable-opencore-amr CFLAGS='-O2 -DNDEBUG'
make uninstall && ldconfig && make dep && make && make install && ldconfig
  • Cài Asterisk16

# Tải  Asterisk từ nguồn.

[wp-svg-icons icon=”point-right” wrap=”i”] Tham khảo phần cài đặt Asterisk 16 

cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

# Biên dich và cài đặt Asterisk

cd /usr/src
tar xvfz asterisk-16-current.tar.gz
rm -f asterisk-16-current.tar.gz
cd asterisk-*
contrib/scripts/install_prereq install
./configure --libdir=/usr/lib64 --with-pjproject-bundled --with-jansson-bundled
contrib/scripts/get_mp3_source.sh

#Chọn các module và ứng dụng cần cài sau đó save và thoát.

make menuselect

# Thiết lập phân quyền chạy dưới user Asterisk.

adduser asterisk -s /sbin/nologin -c "Asterisk User"

#Bắt đầu biên dịch và cài đặt.

make && make install && chown -R asterisk. /var/lib/asterisk
systemctl disable asterisk

# Thiết lập cài đặt  lại FreePBX cho Apache và PHP.

sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php.ini
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/httpd/conf/httpd.conf
sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf
systemctl restart httpd.service
  • Cài Freepbx
cd /usr/src
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz
tar xfz freepbx-14.0-latest.tgz
rm -f freepbx-14.0-latest.tgz
cd freepbx
touch /etc/asterisk/modules.conf
./start_asterisk start
./install -n
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

# Mở cổng TCP 80 cho phép try cập vào.

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --permanent --zone=public --add-service={http,https}
firewall-cmd --permanent --zone=public --add-port=5060-5061/tcp
firewall-cmd --permanent --zone=public --add-port=5060-5061/udp
firewall-cmd --permanent --zone=public --add-port=10000-20000/udp
firewall-cmd --reload

Như vậy, qua bài hướng dẫn này mình đã hướng dẫn các bạn tự xây dựng được một tổng đài ip mã nguồn mở hoàn chỉnh dựa trên core là asterisk và giao diện là Freepbx. Các bạn có ý kiến gì vui lòng để lại bình luận bên dưới tôi sẽ trả lời.

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 *