怎么进行discuz的二次开发
一) Discuz!的文件系统目录a) Admin:后台管理功能模块b) Api:DZ系统与其它系统之间接口程序c) Archiver:DZ中,用以搜索引擎优化的无图版d) Attachments:DZ中 ,用户上传附件的存放目录e) Customavatars:DZ中,用户自定义头像的目录f) Forumdata:DZ缓存数据的存放目录g) Images:DZ模板中的存放目录h) Include:DZ常用函数库,基本功能模块目录i) Ipdata:DZ统计IP来路用的数据j) Plugins:DZ插件信息的存放目录k) Templates:DZ模板文件的存放目录l) Wap:DZ无线,Wap程序处理目录
2
二) 必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。关于DZ数据库设计文档,请参阅DZ相关的项目文档(请从本贴附件中下载)
三) Discuz!的流程控制a)后台流程控:DZ后台所有的功能,均需要注册到admincpphp文件,每个功能都至少有一个或一个以上的Action(动作),在 admincpphp中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2 ||admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为actionincphp(incphp),并存 放在admin目录下,如执行:admincpphpaction=dodo,相当于执行admin目录下的dodoincphp文件b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:首页:indexphp会员注册:registerphp;会员登录:loggingphp发贴程序:postphp会员信息:memberphp论坛内容:forumdisplayphp查看贴子:viewthreadphp…大部分功能,此处不一一列出…c) DZ根目下的configincphp属于整个DZ系统的配置文件
四) Discuz!的数据处理过程a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysqlclassphp)类中b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理
五) Discuz!的显示控制(网站多样式风格输出)a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。网站风格的制作,请参阅详细的DZ风格制作文档b)DZ网站风格文件处理的原理:其实很简单,DZ使用templatefuncphp中的parse_template()以PHP正则运算把 htm模文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。
六) DZ中的语言处理a) DZ前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的langphp文件中,DZ在生成网站风格时就加载了这相应的语言包。
七) DZ如何处理用户信息(存取、计算、更新过程)新手要做二次开发,都必须掌握这数组中,每个数组元素的意义。a) DZ的基本信息,如用户信息,Session信息存在如下变量中:a) $_DCACHEb) $_COOKIEc) $_DCOOKIEd) $_DSESSIONe) $_DPLUGINb) 可以通过print_r($GLOBALS),打印全部变量
八) DZ中缓存处理机制a) DZ中缓存处理过程都放在“cachefuncphp”中,DZ的缓存处理比较简单,其原理是把一个数组转换成了PHP代码,并保存在缓存目录下,大家可打开缓存文件查看便知。b) 使用方法:如果在新开的功能中,需要缓存某部分数据,基本上就是:1)定义并注册缓存名字。2)从数据读取相应的数据。3)数据在写入缓存前作相应处理。4)最后写入缓存。具体操作,可以看文件中的代码,做相应的修改即可
九) DZ中模板处理机制a) DZ独创的模板处理技术,类似于Smarty中的模板处理,只是具体算法,过程不同,Smarty是一种重型模板引擎方案。其原理都是把模板中的变量转换成相应的PHP代码,这个过程实际是模访JAVA中的一次编译,多处运行。
十) DZ中权限处理机制a) 对于DZ中前台的每相action都有$discuz_action定义,DZ根据用户所在的用户组来判定用户是否具有相应操作$discuz_action的权限。至于后台的权限权验证,则更简单了,依据“admin==1”来确定的
十一) DZ中如何实现URL静态化a) DZ中的静态有两法,只要懂ReWrite规划的朋友,一看就知。
十二) DZ独创的HTML编辑器,如何截取并使用,如果进行Discuz!代和Html代码的转换a)这也算是DZ比较牛的一项技术了,在早期版中,因DZ编辑器的不足,使得很多用户放弃了DZ。实现原理:通过JS把用的一些操作转换成了DZ的 bbcode代码。这样子提交了安全性,将带有bbcode代码的内容存入数据,在用户打开页页时,又把bbcode代码转换成html代码
Discuz论坛是国内影响力最大、目前最多人使用的论坛程序。对于购买论坛虚拟主机的用户,我们推荐安装Discuz论坛程序。
下面我们就来具体说明一下如何安装Discuz论坛程序。在本例中我们假设域名是www345cn,系统安装在根目录下。
下载最新版的Discuz论坛程序,官方下载地址>>
如果需要同时安装康盛创想其他程序并共享用户信息等资源,推荐集成安装UCenter,UCenter是什么?有什么用?
解压文件,得到readme、upload、utilities三个文件夹,其中readme目录里是说明文件,utilities文件里是各种版本之间的升级工具等,我们是全新安装,所以只需要把upload目录里的全部文件和文件夹上传到空间根目录即可。
温馨提示:天宇在线虚拟主机整合Discuz安装文件,以上两步可以在主机控制面板自助完成。登录天宇在线虚拟主机控制面板,点击“自助安装软件”按钮,选中“UCenter15、Discuz!70集成安装包”,浏览选取安装目录,“确定安装”即可。
访问http://www345cn/install/indexphp,阅读安装协议,然后点击“同意”按钮,进入下一步;
进入“检测运行环境”环节,程序会检测PHP版本号、所依赖的库函数、目录是否可写等信息,也就是检测服务器环境是否达到论坛所需的最低标准。使用我们虚拟主机的话这一步都是没有问题的,直接按下“检测通过,跳转到下一步”按钮。
接下来设置基本信息,包括第一部分数据库信息:
数据库服务器:(数据库和网站在同一服务器填“localhost”,否则填写服务器ip)
数据库用户名、密码和数据库名按服务商提供给你的填写
表前缀:(一般按默认的cdb_,如果你在一个数据库里装多个discuz论坛,则不同系统之间的前缀要区别开来)
第二部分管理员信息,依次填写管理员账号、联系邮箱和密码。
两部分都填写完毕后点击“进行下一步”。
稍等片刻后即可完成整个discuz论坛安装过程。
推荐:天宇在线虚拟主机内置discuz最新安装文件,支持discuz URL静态化,另有超过40项的主机功能,全部配备10重网站空间安全保障,是您建立discuz论坛的最佳选择。
一、下载 Discuz 官方版到本地或者服务器上
二、解压并上传 Discuz! X 程序到服务器且修改相应目录权限
1、上传 Discuz 程序到服务器上
解压缩得到如下图所示的三个文件:
upload 这个目录下面的所有文件是我们需要上传到服务器上的可用程序文件;
readme 目录为产品介绍、授权、安装、升级、转换以及版本更新日志说明;
utility 目录为论坛附带工具,包括升级程序。
将其中 upload 目录下的所有文件使用 FTP 软件以二进制方式
上传到空间。
2、设置相关目录的文件属性,以便数据文件可以被程序正确读写
使用 FTP 软件登录您的服务器,将服务器上以下目录、以及该目录下面的所有文件的属性设置为 777,Win 主机请设置 internet 来宾帐户可读写属性。
/config/config_globalphp
/config/config_ucenterphp
/config
/data
/data/avatar
三、安装过程
上传完毕后,开始安装 Discuz社区软件,在浏览器中运行 http://wwwdomaincom/bbs/install/ 开始全新安装(其中 http://wwwdomaincom/bbs 为你的站点访问地址
/data/imagecache
/data/plugindata
/data/sysdata
/data/request
/data/template
/data/threadcache
/data/attachment
/data/attachment/album
/data/attachment/forum
/data/attachment/group
/data/log
/uc_client/data/cache
/uc_server/data/
/uc_server/data/cache
/uc_server/data/avatar
/uc_server/data/backup
/uc_server/data/logs
/uc_server/data/tmp
/uc_server/data/view
阅读授权协议后点击“我同意”,系统会自动检查环境及文件目录权限,
检测成功,点击“下一步”,即进入检测服务器环境以及设置 UCenter 界面,
1、选择“全新安装 Discuz (含 UCenter Server)”
如果您之前没有安装过我们的产品,需要全新安装的话,请选择此项。
2、选择“仅安装 Discuz (手工指定已经安装的 UCenter Server )”
如果您之前安装过我们的产品,现在只是
升级的话,请选择此项并保证之前的 UCenter 是 UCenter 160 版本,如果之前安装的 UCenter Server
没有进行升级操作的话,一般为 151 版本,您需要首先升级 Ucenter 到 160 版本,
否则安装程序会提示错误,无法继续。这里以全新安装 Discuz! X 为例。
点击“下一步”,进入安装数据库的界面,
填写好 Discuz数据库信息及管理员信息。
附加数据:为测试数据,可以不选择安装,主要是演示专题和完整地区数据。
同时这里可以选择站点默认是否开启“门户、家园和群组功能”如果不选择开启,安装后也可以在后台开启相应的功能。
点击“下一步”,系统会自动安装数据库直至完毕,
安装成功后,会出现如下的界面:
安装完毕后进入 Discuz! X 首页查看网站:
至此,Discuz! X 已经成功地安装完毕!您可以登录 Discuz! X 站点并开始设置了。
你准备好你的论坛名称、论坛简介、以及一个50x50的论坛图标就可以了
准备好之后
在站长区发个帖子就可以了
转载自IT168)论坛是BBS的一种形式,在论坛里,人们之间的交流打破了空间、时间的限制。在与别人进行交往时,无须考虑自身的年龄、学历、知识、社会地位、财富、外貌,健康状况,而这些条件往往是人们在其他交流形式中无可回避的。而这些论坛是如何架设的呢?那么今天我们就来看一下目前网络上流行的三种格式论坛在Windows 2000 Server下的架设方法吧。
目前网络上流行的三种格式论坛分别是:ASP论坛、CGI论坛和PHP论坛。我们从中挑选出他们的代表性论坛学习架设,ASP-动网论坛、CGI-雷傲论坛、PHP-Discuz!论坛。
首先配置动态域名解析:登陆wwworaynet
注册网域护照,在护照底下申请域名(网域科技提供了免费域名注册),激活域名对应的花生壳服务,下载安装花生壳客户端,在局域网内PC或服务器主机上安装花生壳客户端登陆在线。
我们先来看一下ASP的动网论坛架设方法,动网论坛的架设方法相对来说比较简单一些。首先,服务器要安装IIS服务,然后在硬盘上建立一个文件夹名字为Web,路径为D盘,然后打开控制面板->管理工具->Internet服务管理器,新建一个Web站点,IP地址分配为您本机的IP,默认端口80不变。
下一步出现输入Web主目录的提示,这里就输入您刚才建立的那个文件夹的绝对路径或者是直接使用浏览来指定。最后出现权限设置对话窗口,为了后面要架设的论坛,这里我们把“执行(例如ISAPI应用程序或CGI)”的权限也选择上,点击下一步,完成。
到现在为止,您D盘下的Web文件夹就是你Web服务的主目录了,这里就可以放置你要发布的主页了。然后到http://downdvbbsnet/
下载动网论坛的程序,解压缩后把里面所有的内容都复制到D:\web目录下,然后打开IE浏览器,输入http://您的IP/indexasp
,比如我的本机IP为1921680244,这样我就输入http://1921680244/indexasp。如果出现一下画面,说明我们安装成功了。
动网论坛的默认管理员账号是:admin密码是:admin888,使用这个账号登陆就会看到管理的连接,点击管理连接使用默认管理员账号和密码进入后台管理,在这里您就可以设置您的论坛了,关于论坛的设置这里就不多讲了。
接下来看一下CGI的雷傲论坛架设方法,到http://wwwleobbscom/download/getleobbscgi
下载LeoBBSX 040926 正式版程序。解压缩后把文件夹cgi-bin和non-cgi复制到你所建的Web主目录(d:\web)中,要架设CGI论坛首先要求服务器支持Perl解析,而IIS并不支持Perl解析,所以我们要安装Perl解析,我所使用的是ActivePerl V584810 For Windows。因为雷傲论坛的解析路径是#!/usr/bin/perl(用记事本打开雷傲论坛的代码第一行就是),所以安装解析的时候要注意安装在USR路径。
然后点击 “OK” 一直 “next” 安装就行了,可能到最后的安装时间很长。下面我们就要设置其他项目了,点击 “开始”-> “运行” 输入regedit启动注册表编辑器。寻找HKEY_LOCAL_MACHINE\System\Currentcontrlset\Services
\W3svc\Parameters\ScriptMap\ 目录项,在此项中添加如下字串值:
键名 "cgi" 键值 "C:\USR\BIN\perlexe %s %s"
键名 "pl" 键值 "C:\USR\BIN\perlexe %s %s"
~lus~ 2006-03-16 10:58
然后打开控制面板->管理工具->Internet服务管理器,右击你刚才创建的Web站点,选择 “属性” 就会出现XXX属性,点击 “主目录” 在下面有个 “配置”,点击进入 “应用程序配置” 窗口,点击 “添加”,在 “可执行文件” 输入C:\usr\bin\perlexe %s %s,在 “扩展名” 输入cgi脚本引擎打上钩,点确定即可。
点击 “ISAPI筛选器”->“添加”,在 “筛选器名称” 处输入cgi 在 “可执行文件” 处输入C:\usr\bin\PerlISdll然后点击确定。
关闭所有窗口重新启动机器,启动完毕后,打开浏览器,输入http://您的IP/cgi-bin/installcgi就进行初始设置。
设置完毕后会直接进入论坛管理后台,然后设置论坛就可以了,这里也不多讲了。
最后我们看一下PHP的Discuz!论坛架设方法,架设Discuz!论坛不但需要服务器支持PHP而且需要MYSQL数据库的支持。
MYSQL-4021-win
下载地址:http://wwwskycncom/soft/1262html
php-439-Win32
下载地址:http://wwwskycncom/soft/9122html
将MYSQL-4021-winzip解压缩,然后运行setup。选择安装路径,比如我安到了C:\mysql。安装方默认就可以。一路狂点next,整个安装过程大概也就2、3分种。MySql装好了,下面就是配置了,在C盘根目录下建立一个文件mycnf的文本文件,内容如下:
[mysql]
basedir = d:/mysql/
其中basedir是你安装MySql的路径。安装完毕后点击 “开始”-> “运行”输入命令C:\mysql\bin\mysqld-ntexe –install,然后重新启动计算机。打开C:\mysql\bin\winmysqladminexe在第一次用它时,需要建立管理员名及密码,分别设置用户名和密码,设定后,系统托盘会出现一个“红绿灯”的小图标(以后系统启动时均会自动加载),这样MySql就安装完成了。下面就要安装PHP解析了,将压缩包解压缩到C:\php文件夹中,把C:\php\Php4tsdll复制到C:\WINNT\SYSTEM32目录下,将phpini-dist改名为phpini双击打开此文件,找到extension_dir这句修改为extension_dir= “c:/php/extensions” 然后复制phpini到C:\WINNT目录下,点击开始->运行输入regedit启动注册表编辑器寻找:
HKEY_LOCAL_MACHINE\System\Currentcontrlset\Services
\W3svc\Parameters\ScriptMap\ 目录项。
在此项中添加如下字串值:
键名 "PHP" 键值 "C:\php\phpexe %s %s"
然后打开控制面板->管理工具->Internet服务管理器,右击你刚才创建的Web站点,选择 “属性” 就会出现XXX属性,点击 “主目录” 在下面有个 “配置”,点击进入 “应用程序配置” 窗口,点击 “添加”,在 “可执行文件” 输入C:\php\sapi\php4isapidll在 “扩展名” 输入php脚本引擎打上钩,点确定即可。
点击 “ISAPI筛选器”->“添加”,在 “筛选器名称” 处输入php 在 “可执行文件” 处输入C:\php\sapi\php4isapidll然后点击确定,可以关闭属性窗口了。
最后重新启动计算机,启动完毕后服务器就支持PHP+MYSQL了。在Web(D:\web)主目录下建立一个文件infophp,内容如下:
phpinfo();
>
然后在浏览器中输入http://您的IP/infophp
,关于服务器的详细信息都显示了出来。
~lus~ 2006-03-16 11:01
解压缩后把Discuz!文件夹改名为BBS复制到你所建的Web主目录(web)中,打开浏览器输入http://您的IP/bbs/installphp就会出现Discuz!论坛的安装向导。
选择完全同意,然后出现选择数据库的选项。
因为是演示所以我们就不建立新的数据库了,Mysql安装后自带2个数据库mysql和test,这里我使用test数据库,如果大家要建立论坛使用的话,务必建立新的数据库,并且设置数据库的用户名和密码。
下一步会让你建立一个管理员账号和密码,建立完毕后就开始安装了。
如果出现一下字样,刷新一边就可以。
Cache List: settings index style_ usergroup_1
Caches successfully created, please refresh
现在看看,论坛的模样是不是很漂亮?使用你建立的管理员账户登陆,就可以看到有系统设置的字样,进入后就是论坛后台设置了,这里也不多说了,按照自己的喜好建立论坛吧。
最后说一下以上架设服务器要注意的问题:
1如果Windows 2000 Server使用的是NTFS分区格式,可能会出现错误,这是因为没有写入权限,只要把Web文件夹安全属性中的Everyone用户给予完全控制权限就可以。
2安装完毕IIS以后,先停止IIS服务,然后删除IIS的默认安装目录C:\Inetpub,因为微软默认安装的漏洞实在是太多太多,另外建立其他WEB目录。
3MYSQL也可以结合MYSQL ODBC数据源进行数据库的建立,需要安装MYSQL ODBC。
4PHPini有很多模块可以打开,结合MYSQL和其他PHP语言选择性开放,毕竟服务器安全是重要的。
这样三种格式的论坛架设完毕了,您的服务器也变成了IIS+CGI+PHP+Mysql了,再提醒一句:注意服务器的安全问题!
相关名词解释:
BBS——Bulletin Board Service(公告牌服务),是Internet上的一种电于信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。
ASP——ASP即Active Server Page(活动服务器页面)的缩写,是一个编程环境,在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。
CGI——CGI即common gate intergace(通用网关接口)的缩写,它是一段程序,运行在服务器上,提供同客户端HTML页面的接口。通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器,再把服务器执行的结果返还给HTML页。
PHP——PHP(PHP Hypertext Preprocessor,最初称为"Personal Home Page Tools",也称为"Professional Homepages",或者"Pre-Hypertext Processor"),是一种服务器端HTML-嵌入式脚本描述语言。
IIS----IIS是Internet Information Server的缩写,微软公司的Web服务器。
~lus~ 2006-03-16 11:02
第二个方法:在网上找一个空间!
确保你的空间支持ASP,装动动网/。
我建议:目前最好用的论坛那就是PHP,就像这电脑爱好者论坛一样!
不过ASP论坛使用是比较普遍的,但是相对,PHP CGI 来说安全性较差,占用资源量大。
调试起来还是很方便的,功能也还是比较完整!
PHP动态交互工具算是比较新的了,它一出现就以,占用资源少,稳定性高,安全性强的优点,也得到了许多用户的认可。很多大型论坛纷纷采用PHP技术来制做论坛。
CGI
在互联网上出现ASP 和 PHP之前,CGI一直都是主流的网页交互工具,但学习起来比较难,而且和网页结和性不是很好!所以,随着ASP 和 PHP的出现,CGI 也就慢慢退出论坛的领域!
因此,本人推存:VBulletin 类型的论坛,用就要用最好的!!!
(也就用PHP语言编辑的论坛!!!)最新版是:vBulletin 35 beta1 中文增强版
可能有很多人在配置WIN7系统下的IIS都会遇到和我一样的情况,在此把自己的安装过程于大家分享一下,也许对一些人会有帮助。
1安装IIS(精简版):
打开控制面板-程序和功能,左侧面板:打开或关闭Windows功能(刚用时找了半天也每发现--!),勾选Internent信息服务,默认情况下万维网服务下的应用程序开发功能貌似没有圈选,倘若没有的话要自己圈选:分别是NET扩展性、ASP、ISAPI扩展选项,其余的和正常安装IIS步骤一样,用安装盘直接安装就可以了。
2运行IIS(界面很漂亮吧~):
打开IIS后找到网站,展开Default Web Site 选项,选中中间的功能部分的IIS子选项的ASP,单击右侧列表中的基本设置,在物理路径中填入本地文件夹作为虚拟目录,其他不用设置,以后自己建站要先把目录设置在Wroot目录下,物理路径在选择你的网站目录,点测试设置后可能会出现权限问题,只要在设置完物理路径的下面设置连接为选项,设置自己的用户名,密码即可,在测试就通过了。还有记得要设置网站文件夹的安全项,添加一个Everyone用户,设置所有权限控制即可(users的权限就可以了~~)。
个人建议选择自助建站系统来做,
还是博客,或者是论坛。推荐以下几种可以试试。(最重要的是免费的)
1、PageAdmin系统(新手建议使用),基本上不需要什么基础都可以很好掌握这款程序,当然除了易用外,扩展性也很不错,而且内置一些类似OA的功能,比如签发,签收,工作流等等,pageadmin免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用本系统。。
2、论坛用DZ系统
CrossdayDiscuz!Board(以下简称Discuz!,中国国家版权局著作权登记号2006SR11895)是康盛创想(北京)科技有限公司(英文简称Comsenz)推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。Discuz!的基础架构采用世界上最流行的web编程组合PHP+MySQL实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。
3、博客用系统
WP博客是指用WP程序搭建的博客,WP是WordPress的缩写。WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设自己的网站。也可以把WordPress当作一个内容管理系统(CMS)来使用。WordPress是一个免费的开源项目,在GNU通用公共许可证下授权发布。目前最新版本为2013年10月25日WordPress371版WordPress被认为是MichelValdrighi所开发的网志平台b2/cafelog的正式继承者。“WordPress”这个名字出自ChristineSelleck的主意,他是主要开发者MattMullenweg的朋友。
0条评论