Giới thiệu FreeBPX là gì?
FreePBX là một phần mềm tổng đài ảo mã nguồn mở ra đời từ 2004, cho phép người dùng sử dụng một tổng đài ảo hoàn toàn miễn phí với giao diện web thân thiện và dễ dàng sử dụng. FreePBX được xây dựng trên hệ điều hành Linux, phần mềm tổng đài là Source Asterisk, được cho phép cài đặt với dạng file iso hoặc là cài từ các gói cài đặt. FreePBX được cập nhật liên tục, cho đến hiện tại là phiên bản FreePBX 14.
Và ở bài viết này mình sẽ hướng dẫn bạn cài đặt bản FreePBX 14 trên máy chủ CentOS 7, để cài đặt bạn thực hiện như sau.
Yêu cầu cấu hình.
Tùy thuộc vào số lượng user thiết lập mà bạn cần sử dụng cấu hình cao, và cấu hình tối thiểu cần có như sau.
- Sử dụng OS là Linux: CentOS, Ubuntu, Debian,…
- CPU: 1 core
- RAM: 2GB
- Disk: 20GB
Các bước cài đặt FreePBX 14
Đăng nhập SSH và tắt SELINUX
Điều đầu tiên bạn hãy tắt selinux đi để cài đặt. Bạn có thể kiểm tra bằng lệnh sau sestatus, nếu hiện disable thì đã tắt, nếu hiện enable bạn hãy tắt bằng cách sau và reboot lại server/vps.
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config reboot
Update hệ thống
yum update -y yum -y groupinstall core base "Development Tools"
Cài đặt các gói cần thiết cho hệ thống.
Lưu ý: Lệnh bên dưới đã bao gồm cài đặt mariadb-server. Tuy nhiên bạn lưu ý không đặt pass root cho mysqld
yum -y install lynx tftp-server unixODBC mysql-connector-odbc mariadb-server mariadb httpd ncurses-devel \ sendmail sendmail-cf sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel subversion \ kernel-devel git crontabs cronie cronie-anacron wget vim uuid-devel sqlite-devel net-tools gnutls-devel \ python-devel texinfo libuuid-devel
Cài đặt PHP (Ở đây mình cài đặt php 5.6)
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 yum remove php* yum install php56w php56w-pdo php56w-mysql php56w-mbstring php56w-pear php56w-process php56w-xml \ php56w-opcache php56w-ldap php56w-intl php56w-soap
Cài đặt NodeJS
curl -sL https://rpm.nodesource.com/setup_8.x | bash - yum install -y nodejs
Khởi động MariaDB
systemctl enable mariadb.service systemctl start mariadb.service
Khởi động Apache
systemctl enable httpd.service systemctl start httpd.service
Thêm vào user asterisk
adduser asterisk -m -c "Asterisk User"
Bước tiếp theo cần cài đặt và cấu hình Asterisk
Tải source về và cài đặt
cd /usr/src wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
Compile and install DAHDI
cd /usr/src tar xvfz dahdi-linux-complete-current.tar.gz tar xvfz libpri-current.tar.gz rm -f dahdi-linux-complete-current.tar.gz libpri-current.tar.gz cd dahdi-linux-complete-* make all make install make config cd /usr/src/libpri-* make make install
Compile and Install jansson
cd /usr/src tar vxfz jansson.tar.gz rm -f jansson.tar.gz cd jansson-* autoreconf -i ./configure --libdir=/usr/lib64 make make install
Compile and install 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-jansson-bundled contrib/scripts/get_mp3_source.sh make menuselect
Ở bước này sau khi bạn gõ lệnh “make menuselect” sẽ hiện ra một bảng bạn hãy chọn format_mp3, res_config_mysql, cdr_mysql. Sau đó chọn ‘Save & Exit’ để tiếp tục cài đặt.
Sau đó tiếp tục nhập vào các lệnh sau.
make make install make config make samples ldconfig chkconfig asterisk off
Cấp quyền cho Asterisk.
chown asterisk. /var/run/asterisk chown -R asterisk. /etc/asterisk chown -R asterisk. /var/{lib,log,spool}/asterisk chown -R asterisk. /usr/lib64/asterisk chown -R asterisk. /var/www/
Cấu hình Apache.
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
Tải về FreePBX 14 và cài đặt
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 ./start_asterisk start ./install -n fwconsole restart fwconsole reload fwconsole chown
Cấu hình firewall và mở các port cần thiết.
firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --zone=public --add-port=5060/tcp --permanent firewall-cmd --zone=public --add-port=5060/udp --permanent firewall-cmd --zone=public --add-port=10000-65000/tcp --permanent firewall-cmd --zone=public --add-port=10000-65000/udp --permanent firewall-cmd --reload
Sau khi reload lại firewalll bạn hãy truy cập vào trình duyệt bằng địa chỉ IP để vào giao diện FreePBX
Bạn thực hiện tạo user và pass, email để hoàn thành bước thiết lập đầu tiên.
Như vậy là mình vừa hướng dẫn bạn thực hiện cài đặt hoàn tất FreePBX14 tổng đài ảo. Để quản trị và sử dụng như thế nào, các bài viết tiếp theo mình sẽ hướng dẫn bạn thực hiện. Hãy theo dõi để nhận những bài viết mới nhất.
Sau khi cài xong các bước, em vào trang http://ip/admin thì báo lỗi:
ForbiddenYou don’t have permission to access /admin/ on this server.
A chỉ em cách fix với ạ.
Forbiden là không có quyền truy cập. Bạn xem thử lại các bước phân quyền của Asterisk nhé
Mình làm hết các bước cần thiết rồi. Nhưng khi xem các hướng dẫn khác liên quan đến việc thiết lập cấu hình của asterisk thực hiện cuộc gọi ra gọi vào thì gặp lỗi “No such command ‘dongle reload’ “. Mặc dù đã kết nối đt vào máy ảo VMWare và dùng lsusb đã hiện kêt nối