openwrt路由器php-cli,【在openwrt无线路由器上部署freeswitch+fusionpbx (原帖恩山论坛)】-网关论坛-ZOL中关村在线...
前言:freeswitch是目前开源最火的软交换系统,fusionpbx则是其gui管理界面(只有E文版本),同样也是开源。freeswitch相比asterisk功能和性能都要强大很多,毕竟freeswitch是一个开源的软交换系统,而asterisk只是一个开源的PBX系统,具体的一些特性不了解的同学可以看维基百科。
在无线路由器上不是freeswitch不是很麻烦,openwrt都有编译好的包,直接通过opkg安装就可以,但是如果需要GUI界面,这个就比较麻烦了,首先要解决的一个问题是无线路由器的flash容量不够,其次是fusionpbx是php开发的web程序,调试起来还是有点麻烦。
解决无线路由器flash容量不够的办法很多,dd-wrt和tomato一般是使用opt挂载U盘来解决,openwrt一般则是block-extroot方式将 U盘挂载到/overlay目录,我所使用的openwrt本身集成了block-extroot功能,直接将一个4G的U盘挂载到/overlay 目录,很好解决了flash容量不够的问题。具体操作办法我这里不累赘了,以前有很多相关的帖子,大家随便搜一下就能找到很多。
fusionpbx调试的时候,以前有一篇关于fusionpbx的文章,全E文的,不过很简单就能读明白,其使用的环境是php5,web服务利用openwrt的uhttp,数据库使用的是sqlite,但是我按照其指导,一步一步来,最后还是失败。于是我寻求其他办法,几经失败,最后在php+lighttpd+mysq组合下成功了。
我的硬件环境是tp-link TL-845N改8M flash/64M RAM/刮U加USB口,软件环境是我以前发布的一个帖子内的,帖子名:【补充】841N V8 843N 845N 等AR9341 8M uboot(带httpd) +art ,(链接http://www.right.com.cn/forum/thread-123793-1-1.html)。
经过几个日夜的调试,终于把freeswitch+fusionpbx部署完成,不敢独享,特将笔记贴出来给有同样兴趣的同学参考一下。
好了,废话已经很多了,下面正式开始在openwrt无线路由器上部署freeswitch+fusionpbx。
一、基本配置及检出fusionpbx修改软件源为http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
opkg update
opkg install zoneinfo-core zoneinfo-asia
opkg install subversion-client openssh-sftp-server unzip
修改/etc/config/system 时区为:Asia/ShangHai /*先略去此步骤,如fusionpbx页面报时区错误时再修改*/
检出fusionpbx版本
cd /usr/share
svn co http://fusionpbx.googlecode.com/svn/trunk/fusionpbx /,trunk版本
svn co http://fusionpbx.googlecode.com/svn/branches/dev/fusionpbx /,稳定版本
二、安装应用
php部分
opkg install php5
opkg install php5-cgi
opkg install php5-cli
opkg install php5-fastcgi
opkg install php5-mod-calendar
opkg install php5-mod-curl
opkg install php5-mod-dom
opkg install php5-mod-gd
opkg install php5-mod-iconv
opkg install php5-mod-json
opkg install php5-mod-mbstring
opkg install php5-mod-mcrypt
opkg install php5-mod-mysql
opkg install php5-mod-mysqli
opkg install php5-mod-openssl
opkg install php5-mod-pdo
opkg install php5-mod-pdo-mysql
opkg install php5-mod-session
opkg install php5-mod-simplexml
opkg install php5-mod-sockets
opkg install php5-mod-xml
opkg install php5-mod-xmlreader
opkg install php5-mod-xmlwriter
mysql部分
opkg install mysql-server libmysqlclient libncursesw libncurses libreadline terminfo uclibcxx zlib
lighttpd部分
opkg install lighttpd
opkg install lighttpd-mod-access
opkg install lighttpd-mod-accesslog
opkg install lighttpd-mod-alias
opkg install lighttpd-mod-auth
opkg install lighttpd-mod-cgi
opkg install lighttpd-mod-evasive
opkg install lighttpd-mod-fastcgi
opkg install lighttpd-mod-magnet
opkg install lighttpd-mod-redirect
opkg install lighttpd-mod-rewrite
opkg install lighttpd-mod-scgi
opkg install lighttpd-mod-simple-vhost
创建软链接
ln -s /usr/bin/php-cli /usr/bin/php
三、MySQL配置
创建数据库文件夹
mkdir /mnt/data /mnt/data/tmp
修改/etc/my.cnf
bind-address = 0.0.0.0
创建默认的数据库
/usr/bin/mysql_install_db --force
启动mysql
/etc/init.d/mysqld start
输入如下命令创建mysql的密码
/usr/bin/mysqladmin -u root password ligen119
登陆数据库
mysql -u root -p
连接上mysql之后,创建数据库
create database fusionpbx
\g
查看当前可用数据库
show databases
\g
授权任何位置访问(sql命令)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ligen119' WITH GRANT OPTION;
flush privileges;
四、配置php.ini和lighttpd.conf
1、修改配置文件php.ini
修改 short_open_tag = On
修改站点目录 doc_root = "/usr/share/fusionpbx"
修改 upload_max_filesize = 20M
将Dynamic Extensions段修改为
extension=ctype.so
extension=curl.so
extension=dom.so
extension=gd.so
extension=iconv.so
extension=json.so
extension=mbstring.so
extension=mcrypt.so
extension=mysql.so
extension=openssl.so
extension=pdo.so
extension=pdo-mysql.so
extension=session.so
extension=sockets.so
extension=tokenizer.so
extension=xml.so
extension=xmlreader.so
extension=xmlwriter.so
extension=simplexml.so
修改时区 date.timezone = Asia/Shanghai
注释掉; ;sqlite3.extension_dir =
2、修改配置文件lighttpd.conf
修改server.modules段或添加以下信息
server.modules = (
"mod_scgi",
"mod_simple_vhost",
"mod_auth",
"mod_cgi",
"mod_rewrite",
"mod_redirect",
"mod_access",
"mod_alias",
"mod_fastcgi",
"mod_evasive"
)
修改 server.document-root = "/usr/share/fusionpbx/"
修改 index-file.names = ( "index.php", "login.php", "index.htm", "default.htm" )
去注释或添加 server.port = 81
添加以下配置信息或修改fastcgi配置
fastcgi.server = (
".php" => (
"localhost" => (
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php-cgi",
"max-procs" => 2,
"max-load-per-proc" => 4,
"idle-timeout" => 20,
"bin-environment" =>(
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "2000"
),
"bin-copy-environment" => ("PATH","SHELL","USER")
)
)
)
任意空白位置添加一行: evasive.max-conns-per-ip = 8
五、安装配置freeswitch修改软件源为
http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages
opkg update
opkg install freeswitch-collection-minimal freeswitch-sounds-en freeswitch-sounds-moh freeswitch-mod-valet-parking
opkg install freeswitch-mod-voicemail freeswitch-mod-say-en freeswitch-mod-xml-cdr freeswitch-mod-loopback freeswitch-mod-lua freeswitch-mod-cdr-csv freeswitch-mod-voicemail freeswitch-mod-logfile
创建软链接
ln -s /etc/freeswitch/ /usr/share/freeswitch/conf
ln -s /etc/freeswitch/ /conf
修改 /etc/default/freeswitch文件,将/tmp/ /var/lib 更换为 /usr/share/
修改/etc/freeswitch/vars.xml 将/var/lib 更换为usr/share
修改/etc/freeswitch/autoload_configs/voicemail.conf.xml 靠近57行位置 将/var/lib 更换为 /usr/share
修改/etc/freeswitch/autoload_configs/xml_cdr.conf.xml, 靠近4行位置 在 http://localhost 后添加 :81 /*貌似这个没啥用,被注释掉了
修改/etc/freeswitch/sip_profiles/internal.xml 将以下两个位置修改为路由器内网的IP地址如我的路由器内网(LAN)地址为192.168.1.1
修改为
修改为
六、启动程序命令集合
启动
/etc/init.d/mysqld start
/etc/init.d/php5-fastcgi start
/etc/init.d/lighttpd start
/etc/init.d/freeswitch start
关闭(这里只是顺带列举关闭命令)
/etc/init.d/mysqld stop
/etc/init.d/php5-fastcgi stop
/etc/init.d/lighttpd stop
/etc/init.d/freeswitch stop
七、配置fusionpbx
通过浏览器登陆http://192.168.1.1:81,首次登录fusionpbx 将自动跳转到设置页面。
配置时选择数据库类型为mysql
用户名密码为fusionpbx登录用户名和密码
第二页填写数据库名为开始创建的数据库名,我的数据库名是fusionpbx
新建数据库用户名和密码均为空
点击下一步即可在mysql中数据库创建fusionpbx相关表和数据
创建完成即可打开”http://192.168.1.1:81/login.php“页面登录fusionpbx了
登陆后点击“高级”->"默认设置"将swicth区域的"conf","db"等等所指目录在前面添加:“/usr/share/freeswitch”(这里全部是E文的,并不是什么“高级”“默认设置”之类的),完了保存一些。
重启路由器后即可进行配置freeswitch了
祝各位同学能顺利创建自己的软交换系统。
贴图:
进程状态
网络监听状态
SIP终端注册状态
系统状态
SIP服务状态
楼主热贴
openwrt路由器php-cli,【在openwrt无线路由器上部署freeswitch+fusionpbx (原帖恩山论坛)】-网关论坛-ZOL中关村在线...相关推荐
- iphonex正面图_【苹果iPhoneX评测】刘海上八个模块各显神通_苹果 iPhone X _手机评测-中关村在线...
▌1.红外镜头 刘海上第一个就是红外镜头,这是此次iPhoneX上才添加的模块,专为面部识别Face ID而生.红外镜头可以通过捕获红外图像中人脸上的点阵图案来和A11仿生SoC中Secure Enc ...
- 显示器点距 测试软件,在小屏幕上使用高分的点距问题_液晶显示器_液晶显示器新闻-中关村在线...
我们都知道,屏幕分辨率的升级是需要伴随着屏幕大小提升的,分辨率从1080P,到2K,4K,8K,甚至10K,尺寸也从十几英寸寸到一百英寸以上不等,随着大屏高分产品价格的不断降低,似乎1080P即将成为 ...
- 路由器设置虚拟服务器王者荣耀,封杀王者荣耀 实际很简单_网络设备无线网络和技术-中关村在线...
封杀王者荣耀 实际很简单 实际上,通过锐捷睿易RG-NBR700W无线路由器来封杀王者荣耀等游戏,很简单. 首先,进入锐捷睿易RG-NBR700W的后台管控界面.然后,找到"行为管理&quo ...
- Openwrt路由器挂载摄像头教程
Openwrt路由器挂载摄像头教程 Openwrt可以做的事情很多:VPN.离线下载.VLAN.无线中继.多拨,等等.因为比较折腾,所以适合喜欢钻研,知道怎么找资料,并且对Linux较熟悉的人使用.一 ...
- openwrt路由器进入安全模式
openwrt路由器型号:WNDR3800 一.实验背景 在pc机上通过xshell软件登录openwrt路由器,pc机通过网线与openwrt路由器的LAN接口相连.openwrt路由器自带两块无线 ...
- 用ImageBuilder定制自己的openwrt路由器
用ImageBuilder定制自己的openwrt路由器 有三种方法编译openwrt定制固件. 1. 用ImageBuilder编译,用于灵活选择package.毕竟压缩的只读文件系统squashf ...
- 无线路由器上安装OpenWRT,在需要标准802.1x认证的网络中无线上网
学校一直用H3C客户端上网,因此无法直接使用无线路由器.后来去一些论坛时常看见DD-WRT和OpenWrt这两个词,也初步了解到wpa_supplicant.njit-client.mentohust ...
- OpenWrt路由器上的LuCI模块开发
[一.LuCI配置界面开发的框架] LuCI是OpenWrt上的Web管理界面,LuCI采用了MVC三层架构,同时其使用Lua脚本开发,所以开发LuCI的配置界面不需要编辑任何的Html代码,除非想自 ...
- 如何用Zabbix监控OpenWrt路由器-Zabbix-Agent安装篇
序 在前文<在ESXi上快速部署Zabbix>中,我们通过ESXi快速的部署了一套Zabbix系统,接下来我们将以OpenWrt路由器作为监控对象,分别采用Zabbix-Agent和SNM ...
最新文章
- 小功能 - 收藏集 - 掘金
- 用PaddlePaddle打比赛!
- Disruptor-net
- 工作241:判断数组里面是否有某个值
- 人员离职it检查_?「市安委会第十七检查组」值班人员擅离职守,变压器房随意出入...
- Sigmoid函数与Softmax函数的区别与联系
- 大数据学习笔记26:MR案例——双重排序(先按月份升序,再按利润降序)
- 请编写一个c程序确定signed,unsigned的char,short,int和long变量取值范围
- python中统计特征
- javar -jar 和 java -cp :命令行运行java代码
- MySQL 创建数据库并且指定编码
- 约束规划问题与凸二次规划
- 关于Fluent瞬态计算你必须掌握的3个技巧
- 如何用OD的跟踪功能分析虚拟机保护
- 服务器msdtc没有安全显示项,MSDTC 问题疑难解答 - BizTalk Server | Microsoft Docs
- 小米手机计算机连接设置方法,小米手机怎么连接电脑并上网?小米手机USB共享上网方法详细图解...
- 学位论文写作规范之论文选题、开题报告、毕业论文
- 两个次序统计量的联合密度函数
- Unity 3D游戏-塔防类游戏源码:重要方法和功能的实现
- 赶不上春天,无法同其它植物竞相开放