UCenter安装过程里,UCenter到底做了什么事情?

 UCenter是连接各个Comsenz产品(有Discuz!,UCHome和SuperSite)用户之间的桥梁,值得一提的是,还整合了ecmall和ecshop。
UCenter的原意应该是指User Center,即是“用户中心”。以用户数据(包括相关的一些功能,比如短信息,好友信息等等)为中心,让其他的产品可以“无缝整合”,可以实现同步注册、登录、退出及共享短信息,好友信息、积分信息等等功能。
我下载的版本是1.5.2

一、安装

  这里做得让人很满意的是,安装的界面很人性化,只要按着要求一直下一步就完成安装了。官方也给出了比较详细的安装说明文档。那自动安装过程里,UCenter到底做了什么事情?

1.生成/data/config.inc.php文件。这是整个系统通用的一个配置文件,通常会被入口文件(UCenter是单点入口MVC模式的)调用。看下内容:

各个参数说明

UC_DBHOST:数据库服务器地址。可以包括端口号,例如 “hostname:port”,或者到本地套接字的路径,例如对于localhost 的 “:/path/to/socket”。安装时可设置
UC_DBUSER:数据库用户名。安装时可设置
UC_DBPW:数据库密码。安装时可设置
UC_DBNAME:数据库名称。安装时可设置
UC_DBCHARSET:数据库的编码。由下载的版本决定,一般是gbk或utf-8两种
UC_DBTABLEPRE:数据库的表前缀。安装时可设置
UC_COOKIEPATH:Cookie的路径。默认为’\’。实际上UCenter在设置Cookie时还会确认一下这个值,如果不存在,设置为默认值。
UC_COOKIEDOMAIN:Cookie的有效域名设置,默认为空。和以上值一样,UCenter在设置Cookie时还会确认一下这个值。
UC_DBCONNECT:数据库持久连接 0=关闭, 1=打开。默认为0
UC_CHARSET:页面编码。由下载的版本决定,一般是gbk或utf-8两种
UC_FOUNDERPW:创始人的密码,这个值是将真实密码加密后产生的字符串。默认位32位字符串
UC_FOUNDERSALT:创始人密码加密时的随机字符串。默认为6位字符串。
UC_KEY:随机生成的字符串,与诸多需要加密解密的地方相关。PS:Comsenz产品中都用到一个加解密算法,算是很经典的一个,灵活运用异或使加密和解密用相同的Key可以完成。默认为64位字符串
UC_SITEID:随机生成的字符串。作为整个UCenter的UniqueID(唯一标识符)。在读取站点信息时有用到过。当有升级等信息时,Comsenz可以根据这个值来找到具体的产品而发送信息的,也是Comsenz给产口里开设的后门。默认为64位字符串。
UC_MYKEY:随机生成的字符串。这个值和与UCenter整合的应用相关。uc_applications表中的有个字段authkey,如果他能被UC_MYKEY解密出一段字符串的话,说明整合是成功的,反之整合是的失败。一般在UCenter版本升级,应用同步备份数据库等等功能会验证这个。默认为64位字符串。
UC_DEBUG:是否调试UCenter 程序。可以设为true或false(1或0也没差)。如果设置为true,则运行后台时,会在底部输出一段系统运行相关相信,反之则不会输出。默认值为false。
UC_PPP:UCenter在需要分页的地方有用,表示多少条记录一页。默认值为 20,即一页至多20条记录。

这个文件如果不存在,访问入口文件/index.php时,会重定向到/install去。

2.创建数据库,/install目录下面有一个 uc.sql 文件。创建和初始化数据库的SQL语句就全在这里了。(PS:UCenter几乎所有的字段用了NOT NULL。之所以说几乎所有,是仅发现一个例外,就是uc_tags表里的date。我情愿相信这是Comsenz开发团队的一个小失误吧,无伤大雅。我在安装UCenter之前,一般会先找到uc.sql,在date 后面加上 NOT NULL。)

3.在/data 目录下升成了install.lock和upgrade.lock 两个文件,都是空的文本文件。
install.lock是为安装锁,代表着安装已经完成。有了这个文件,再进 /install会被告之安装锁定了,删除这个文件才可以重新安装。
upgrade.lock 是为升级锁,代表着升级完成了。有了这个文件,打开升级页面会被告之升级锁定了。

您可能还喜欢...