codecamp

Windows 一键安装包安装xxb

为了简化大家在windows下面的安装,我们在xampp基础上做了xxb的windows一键安装包。xampp是业内非常著名的AMP集成运行环境。xxb的一键安装包主要在它基础上做了大量的精简,并集成了我们自主开发的控制面板,使用起来会更加方便。

安装与启动

下载一键安装包(.exe结尾),下载地址: https://xuan.im/page/download.html

下载后, 双击解压到某个盘符的根目录下 ,得到一个xampp文件夹,如D:\xampp。

双击start.exe打开控制面板,点击启动喧喧。

关于是否启用 Apache用户访问验证的问题:

喧喧启动后,默认是未开启Apache用户访问验证。如果想开启,可以直接勾选即可。

启用Apache用户访问验证后,访问喧喧需要输入用户名和密码才可以登录访问。

(非管理员用户访问喧喧时,需要向管理员索要这个账号和密码),Apache用户访问验证的账号和密码还可以在运行控制面板的 密码里查看和修改。

以下截图页面里的用户名和密码,就是填写Apache用户访问验证中的账号和密码。

关于数据库密码修改的问题:

喧喧服务启动成功后,会提示数据库密码太弱,建议修改密码。

会默认显示一个密码,你也可以自己设置一个密码,点OK后数据库密码会自动修改。

可以在控制运行面板 密码 里查看到当前的数据库密码。也可以在 xampp/xxb/config/my.php 里查看到数据库密码。

访问喧喧

默认登录 帐号是admin,密码是123456 。

配置XXD

在xampp\xxd\config里的xxd.conf文件中设置XXD的配置项。这里以我本地演示环境的配置为例:

最后一行的秘钥可以在喧喧后台设置里复制粘贴到此处即可。

[server]
ip=192.168.1.111      # 监听的IP地址,不要使用127.0.0.1。
commonPort=11443      # 登录和附件上传接口(http),确保防火墙开放此端口。
chatPort=11444        # 聊天消息通讯端口(websocket),确保防火墙开放此端口。
https=off             # 是否启用Https(on|off)。使用Https可以保证消息全程加密。
uploadPath=files/     # 附件保存的目录。默认存放在xxd/files/。
uploadFileSize=32M    # 上传文件的大小,以M为单位。
maxOnlineUser=0       # 在线用户上限,0为无限制。
logPath=log/          # 程序运行日志的保存路径。
certPath=cert/        # 证书的保存路径。
debug=0               # Debug级别,可设置0|1|2
[backend]
#
# xxd可以对接多个后台程序。每一个后台程序由入口文件 + 私钥组成。
# 客户端登录时如果没有指定后台程序,会默认登录到第一个后台程序。
#
#backend1=http://127.0.0.1/x.php,88888888888888888888888888888888
backend2=http://192.168.1.111/xxb/x.php,3265669c526054a04d1500b1033c158a

启动聊天服务

配置完成后,点击控制面板里的启动聊天服务按钮。会弹出启动窗口如下:

客户端登录

客户端登录窗口,填写服务器地址和用户帐号密码。

成功登录:



安装后端服务(xxb、然之、禅道三选一即可)
Linux 一键安装包安装xxb
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }