nginx下配置安装在线客服系统mibew

mibew是一个用php、mysql实现的开源在线客服系统,可以方便的集成到现有的网站系统中。客服人员和客户都可以直接通过浏览器进行沟通交流,无需安装额外的客户端或插件。关于mibew更加详细的介绍飞尘这里就不多啰嗦了,用到的朋友自行查阅吧。

从mibew官方网站https://mibew.org下载最新版本的安装包,目前最新的是2.0.0-bata.5,当然也有1.6.x的稳定版本,根据个人需要选择下载即可。

下载好解压安装包到任意目录,比如mibew/,在该目录的下README.txt文件中提供了详细的安装步骤,虽然是英文,但是比较简单,就不翻译了。不过几个注意点说明一下:

1. 中文语言包需要另外下载,解压到mibew/locales/下
2. 数据库需要先创建好,地址、用户名、密码需要手动在config.yml文件中配置。
3. config.yml配置文件默认缓存方式为file_system,windows下受到文件名长度的限制会有问题,如果没有性能方面的考虑,这里设置为storage: none
4. 可设置默认语言为中文

# Locales
## Native name will be used in this locale
home_locale: zh-cn
## If user does not provide known lang
default_locale: zh-cn

5. 配置好后通过浏览器访问安装http://yourdomain/mibew/install.php,README文档里没有写php的扩展名

windows平台下安装比较容易,linux系统下可能需要注意一些文件的权限设置。

mibew自身提供了.htaccess配置文件,安装到apache服务器中几乎不用修改什么配置。但是笔者这里没有使用apache,web服务器是nginx,所以使用浏览器访问http://yourdomain/mibew/install.php时就出现问题了,页面自动跳转到http://yourdomain/mibew/install.php/install/check-requirements,自然显示404了,nginx找不到文件。

看了一下.htaccess配置文件,的确是用rewrite规则的,这个需要在nginx中相应的配置一下,虽然获得正确规则配置的过程曲折了一些,但是结果是令人满意的,先看一下成功的配置吧

# 假设mibew安装在子目录mibew中
rewrite ^/mibew/$ /mibew/index.php permanent;
rewrite ^/mibew/install\.php/(.*)$ /mibew/install.php?$1 last;
rewrite ^/mibew/index\.php/(.*)$ /mibew/index.php?$1 last;

看上去真的好简单哦,但是得到的过程却不简单,先是使用.htaccess转换工具,又google了一番未果,只能自己丰衣足食,其实最主要的问题是rewrite与location的组合,开始尝试的配置是这样的

location /mibew/ {
rewrite ^/mibew/install\.php/(.*)$ /mibew/install.php?$1 last;
rewrite ^/mibew/index\.php/(.*)$ /mibew/index.php?$1 last;
}

安装没有问题,但是使用的时候添加了一个客服人员,在上传头像时死活就是404,都是伪静态的链接,
http://yourdomain/mibew/install.php/operator/operator/2/edit这个正常访问,但是http://yourdomain/mibew/install.php/operator/operator/2/avatar这个就是404,搞了半天还是搞不定,最后把location段删除了,rewrite直接放在server段,然后就神奇了。至于配合location怎么弄,期待你的高见。。。

Ubuntu14.04用户文件夹中英文切换

安装ubuntu14.04时选择了中文,装好后用户文件夹为中文,在终端操作时有些不太方便,于是需要切换为英文的命名方式。

切换方法很简单,打开终端,先修改为英文环境:

export LANG=en_US

然后再输入

xdg-user-dirs-gtk-update

会弹出一个对话框,可以看到中文文件夹会被修改为对应的英文文件夹,选择确认

最后再恢复为中文环境:

export LANG=zh_CN

nodejs生成md5摘要加密

在使用nodejs开发过程中,使用到了crypto模块进行md5加密,但是发现一个问题,就是有中文时加密信息与标准md5计算出的结果不一致,网上大概查了一下,好像是编码什么的问题,具体不去纠结它了,最要紧的是需要保持一致的加密算法。

找了一下,最终选择了之前在js开发中曾经使用过的crypto-js,现在node里也有实现了,于是拿来测试一下看看,结果如愿以偿。

下面给出的一段例子可以对比这两者生成的摘要信息,感兴趣的话可以修改text为英文字符串,看看加密后的结果是不是一样的呢?

解决TightVNC无法连接Ubuntu14.04

使用TightVNC连接Ubuntu14.04远程桌面共享时报错,提示如下:

Error in TightVNC Viewer: No security types supported. Server sent security types, but we do not support any of their.

之前在用ubuntu12.04的时候是好好的,看来新版有些不同啊。

于是搜索了一下,找到解决方案如下:

1、安装dconf-editor

sudo apt-get install dconf-editor

2、打开刚刚安装的dconf-editor,找到下面的配置路径

org > gnome > desktop > applications > remote-access

3、取消钩选 “REQUIRE-ENCRYPTION”属性

好了,现在可以在windows下正常使用TightVNC来连接了

天猫魔盒无需root更换输入法

平时都是电脑操作习惯了,最近一段时间用天猫魔盒看看视频、上上网等,发现输入法很难用,键位的布局不是按照电脑键盘来的,而是按字母顺序,找个字母很别扭。当然我们是理解天猫这样是有它特殊的考虑的。既然原生的不好用,那我们就自己安装一个吧。

先说明一下,这里是在天猫魔盒上外接无线鼠标配合遥控器使用的(无线键鼠组合也是可以的),如果只有遥控器的话还是不要更换输入法的好,因为自己安装的这些第三方输入法是没有针对魔盒做适配的,遥控器不一定能用的。

应用中心是没有输入法的,自己通过那个UC浏览器TV版可以下载手机常用的输入法,比如讯飞、百度、搜狗等等,或者电脑下载到u盘魔盒安装也可。

输入法安装好了,但是问题是不能启用,系统没有切换输入法的设置,点击第三方输入法的“切换”也是没有任何效果,看来此路不通啊,但是自带的输入法真心不好用啊(希望更新版本时能改进一下)。于是搜索之,经过一番摸索,找到了一个比较好的方法,在这里与大家分享一下。

主要的思路就是电脑通过adb shell来切换输入法,电脑需要具有adb工具,一般情况下电脑安装了类似刷机精灵软件的都应该具有adb工具,此文以刷机精灵为例。打开刷机精灵工具中的adb shell,输入

adb connect 192.168.1.6

ip地址为局域网中天猫魔盒的ip,连接成功的话会看到

connected to 192.168.1.6:5555

此时再输入adb shell,进入shell@android:/ $提示符,输入

ime list -a

该命令会返回当前魔盒已安装的所有输入法

com.aliyun.mobile.ime/.AImeService:
mId=com.aliyun.mobile.ime/.AImeService mSettingsActivityName=com.aliyun.mobile
.ime.setting.AImeSettingsAct
mIsDefaultResId=0x7f080000
Service:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
ServiceInfo:
name=com.aliyun.mobile.ime.AImeService
packageName=com.aliyun.mobile.ime
enabled=true exported=true processName=com.aliyun.mobile.ime
permission=android.permission.BIND_INPUT_METHOD
flags=0x0
com.iflytek.inputmethod.pad/.FlyIME:
mId=com.iflytek.inputmethod.pad/.FlyIME mSettingsActivityName=com.iflytek.inpu
tmethod.pad.SettingsActivity
mIsDefaultResId=0x0
Service:
priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
ServiceInfo:
name=com.iflytek.inputmethod.pad.FlyIME
packageName=com.iflytek.inputmethod.pad
enabled=true exported=true processName=com.iflytek.inputmethod.pad
permission=android.permission.BIND_INPUT_METHOD
flags=0x0

本文安装的是讯飞输入法,接下来就切换为讯飞输入法(pad版)吧,输入

ime set com.iflytek.inputmethod.pad/.FlyIME

会看到成功的消息

Input method com.iflytek.inputmethod/.FlyIME selected

好了,现在再去操作一下天猫魔盒吧,输入法已经如你所愿啦,都快忘记说了,系统是不需要root的哦。

ubuntu服务管理工具

ubuntu下的服务管理工具应该有很多的吧,个人才疏学浅就不一一罗列了,今天要说的是 sysv-rc-conf。

sysv-rc-conf是ubuntu下的图形化服务管理工具,通过它我们可以很方便的修改配置开机启动项。

提示没有该命令时需要先安装一下
sudo apt-get install sysv-rc-conf

安装后之后就可以很方便的使用了
sudo sysv-rc-conf

配置启动级别只需要在括号里选中(使用空格键),设置完成直接按q键就可以保存退出了
这里需要特别说明的一点是,已经删除的服务项还是会显示在列表了,让人看着很别扭,那该怎么删除呢?
方法真的很简单哦,只要
sudo sysv-rc-conf -P
看看是不是已经清爽多了