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.