网博士智能建站系统 7.x扩展挂接系统开发指南 一,系统模块挂接原理 网博士智能建站系统由一个[主控网站]和[网站服务器支持包]组成. 主控网站通过wos_sys_setup数据表记录各挂接系统的名称和相关参数,网站服务器支持包的eSiteSpool目录中包含了各系统模块的安装包.在申请站点时,主控网站将用户指定申请的系统模块代码发送给网站服务器,由网站服务器端程序将相应系统的安装包复制到客户试用站点目录,创建数据库并导入数据. 因此,挂接系统模块实际上就是对一个系统模块安装参数进行配置,并将配置好的安装包放到网站服务器的eSiteSpool目录中. 二,系统模块准备 一般来说,网站应用程序安装的关键因素包括:将数据库sql文件导入数据库,修改数据库连接文件,设定初始管理密码.因此,系统模块的准备就是将网站系统在本地安装调试,创建一个满意的初始化网站,导出数据到sql文件,然后建立一个数据库连接文件模版,并创建一个安装接口程序来执行初始管理密码修改等操作. 第一步:在本地安装网站系统 按照网站系统所提供的安装步骤(或手工安装),在本地环境中安装好系统,按需要配置好参数或上传一些必要的测试数据(内容尽可能少,内容太多在创建站点时容易资源超限). 本地最佳调试环境为:php4.4/mysql4.1.14/phpMyAdmin 2.3.0版本 第二步:导出数据库内容 在网站主目录下创建一个db目录,将当前的数据库结构和内容导出到db目录下,应保存两个文件,分别是db.sql和db_mysql41.sql. 其中db.sql是针对mysql4.1以下版本环境的.如果本地调试环境是mysql4.x版本, 导出的sql应保存为db_mysql41.sql.在create table 处带有ENGINE=MyISAM DEFAULT CHARSET=utf8 这样的语句的.注意安装程序的语言编码,保持数据表创建时的指定语言编码,sql文件本身的语言编码和当前程序语言编码一致,在编辑sql文件时建议采用EditPlus,该软件可以将sql文件保存为utf-8或默认编码.在另存为db.sql后,通过群替换将db.sql中的ENGINE=MyISAM DEFAULT CHARSET=utf8这样的语句去掉,以适应低版本mysql (4.1以下mysql如运行此语句将报错). 请注意如果phpMyAdmin版本不要太高,建议用phpMyAdmin 2.3.0版本,高版本在导出时会带有其他和语言编码相关的参数,在制作低版本db.sql时无法进行群替换,使工作复杂化. 第三步:制作数据库设置文件模版 将当前调试网站的数据库连接设置文件找到,比如discuz论坛系统的数据库连接设置文件是config.inc.php.将此文件复制一份到主目录下,命名为install.inc.php.将其中的数据库连接参数值改为以下字符串: 数据库服务器->DefaultDbHost 数据库用户-> DefaultDbUser 数据库密码-> DefaultDbPass 数据库名称-> DefaultDbName 其他固定内容保持不变. 网博士系统在对程序进行自动安装时,调用一个安装接口程序install.php,将这些字符串替换为客户网站的数据库名,数据库用户和密码,并将替换后的文件覆盖数据库设置文件. 第四步:制作安装接口程序 网博士系统的自动安装程序在完成了文件复制,数据库创建,数据库用户授权这些所有系统安装都一样的常规工作后,自动调用安装接口程序install.php来完成针对这个系统模块的特殊安装工作,install.php要做两件事情: 1) 替换数据库设置文件模版(install.inc.php)中的数据库连接参数,保存一个新的数据库连接设置文件. 2) 修改站点初始管理用户名和密码 以下两个样例演示怎样制作install.php 第五步:删除网站系统原有安装程序 如果网站系统原来有安装程序,应删除这些安装程序. 第六步:上传到服务器 检查这个网站的文件所占磁盘空间,如果太大,建议设法减肥,否则可能因服务器资源问题使站点无法生成.另外,单个文件超过2M (视服务器环境的限制)可能无法被自动复制,应避免有类似文件存在.在网站服务器创建一个自定义目录,比如mysoft.将配置好的网站全部内容上传到这个目录中. 三,增加主控网站记录 每个网站系统在主控的wos_sys_setup都有一条记录,需要添加记录后才能在添加商品时进行选择.wos_sys_setup 数据表字段如下: id 自动编号 SysName 和系统在eSiteSpool存放的目录名一致的系统代码 SysCName 网站系统中文名 dbcharset 数据库编码,在导入数据时按此编码自动导入,务必和sql文件编码一致 systype 系统类型,自定义系统请填diy adminurl 后台登录验证文件的相对网址 adminuser 管理帐号的变量名 adminps 管理密码的变量名 hiddenstr 后台登录时所需额外表单项目的HTML代码(隐藏域) 为了在网博士后台直接登录申请好的网站后台,需要在后台模拟一个登录表单.制作的方法是将软件原来的后台登录表单中除了管理帐号,管理密码两项以外的表单项目做成隐藏域.将这些隐藏域的HTML代码填写到上述hiddenstr字段. 四,使代理站支持此系统模块申请 打开eSiteSpool中代理网站evpcn和evptw的db/db.sql文件,在agent_sys_setup插入记录的下方增加相应记录,以使新申请的代理网站支持此模块的申请.例如: INSERT INTO agent_sys_setup VALUES (0, mysoft, 我的自定义系统, utf8, diy, admin/admin.php, user, password, ); 对于已申请的代理站,目前暂时只能通过在agent_sys_setup数据表直接加记录的方式. 五,获取系统代码授权 向网博士官方网站申请一个授权代码.在主控网站添加商品时选择此系统,进行申请测试
|