FreePBX是一款强大的语音通信解决方案,帮助管理员利用Asterisk和开源的FreePBX搭建,管理安装,配置和维护企业级的IPPBX。
#简单介绍一下asterisk(来自百度百科):Asterisk 是一个开放源代码的软件VoIP PBX系统,它是一个运行在Linux环境下的纯软件实施方案。Asterisk是一种功能非常齐全的应用程序,提供了许多电信功能,能够把你的x86机 器变成你自己的交换机,还能够当作一台企业级的商用交换机。Asterisk 可以被配置为一个 IP 或混合的 PBX 的核心:交换呼叫、管理路由、使能特性,以及通过 IP、模拟线路(POTS)、以及数字(T1/E1)的联系同外部呼叫链接在一起。
准备Ubuntu16.04机器一台
更新系统的apt源
apt-get update && apt-get upgrade -y
安装必需的依赖关系
apt-get install -y build-essential linux-headers-`uname -r` openssh-server apache2 mysql-server\
mysql-client bison flex php5 php5-curl php5-cli php5-mysql php-pear php5-gd curl sox\
libncurses5-dev libssl-dev libmysqlclient-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 libsrtp0-dev\
libspandsp-dev sudo subversion libtool-bin python-dev
#注意:
(1)此过程会弹出几次窗口让你输入mysql密码,切记这里直接回车(设置密码为空),要不然你后面安装启动asterisk的时候会报错。
如果还是设置了密码的话,到后面可以在mysql里面再把密码设置为空,方法如下:
service mysql start
mysql -uroot -p() use mysql;
mysql> UPDATE user SET Password = PASSWORD('') WHERE user = 'root';
msyql> flush privileges;
(2)更新的Ubuntu的apt源之后,PHP默认版本是7.多的。我们需要安装php5的需要进行一下操作:
apt-get install -y language-pack-en-base
LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
add-apt-repository ppa:ondrej/php
apt-get update
安装php5.6
sudo apt-get update
sudo apt-get install php5.6
安装扩展
sudo apt-get install php5.6-gd
sudo apt-get install php5.6-mysql
安装Apache2
sudo apt install apache2
sudo apt-get install libapache2-mod-php5.6
安装MySQL
//sudo apt install mysql-server php5.6-mysql root root0x0
sudo apt install mysql-server php5.6-mysql
sudo apt-get install mysql-client
mysql_secure_installation
最后非常重要的,切换php7 到php5
sudo a2dismod php7.1
sudo a2enmod php5.6
sudo service apache2 restart
sudo update-alternatives --set php /usr/bin/php5.6
3.安装nodejs
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
4.安装Google Voice的依赖关系
安装iksemel
cd /usr/src
git clone https://github.com/meduketto/iksemel.git
cd iksemel
./autogen.sh
./configure
make
make install
ldconfig
5.安装并配置Asterisk
先下载所需要的几个源文件。
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 http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.7.tar.gz
编译并安装DADHI。
cd /usr/src
tar xvfz dahdi-linux-complete-current.tar.gz
rm -f dahdi-linux-complete-current.tar.gz
cd dahdi-linux-complete-*
make all
make install
make config
cd /usr/src
tar xvfz libpri-current.tar.gz
rm -f libpri-current.tar.gz
cd libpri-*
make
make install
编译并安装jansson
cd /usr/src
tar vxfz jansson.tar.gz
rm -f jansson.tar.gz
cd jansson-*
autoreconf -i
./configure
make
make install
编译并安装Asterisk
cd /usr/src
tar xvfz asterisk-13-current.tar.gz
rm -f asterisk-13-current.tar.gz
cd asterisk-*
contrib/scripts/get_mp3_source.sh
contrib/scripts/install_prereq install
./configure --with-pjproject-bundled
make menuselect
这里会出来一个弹窗,你可以在里面选择要构建的模块,里面的大多数模块大多数默认启动,如果想要再启动某个模块的话,找到对应的模块,按一下回车,在该模块前面会出现个“*”号,就表示该模块已启用,然后保存退出。
make
make install
make config
ldconfig
update-rc.d -f asterisk remove
5.安装和配置FreePBX
创建Asterisk用户并设置基本文件权限
useradd -m asterisk
chown asterisk. /var/run/asterisk
chown -R asterisk. /etc/asterisk
chown -R asterisk. /var/{lib,log,spool}/asterisk
chown -R asterisk. /usr/lib/asterisk
rm -rf /var/www/html
6.对Apache进行一些小修改。
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php5/apache2/php.ini
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
service apache2 restart
7.配置ODBC
编辑/etc/odbcinst.ini并添加以下内容。
cat >> /etc/odbcinst.ini > /etc/odbc.ini
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com