| 1 | $Id$ |
|---|
| 2 | |
|---|
| 3 | KBS 系统首页导读安装说明 |
|---|
| 4 | |
|---|
| 5 | 0. ChangeLog |
|---|
| 6 | 2005.12.7 |
|---|
| 7 | atppp 小修改加入 CVS。 |
|---|
| 8 | |
|---|
| 9 | 2004.4.17 |
|---|
| 10 | wisi @ bbs.tongji.edu.cn 发布于 smth.org BBSMan_Dev 版。 |
|---|
| 11 | |
|---|
| 12 | |
|---|
| 13 | |
|---|
| 14 | 1. 一些约定的说明 |
|---|
| 15 | $(BBSHOME) 表示 bbs 的安装目录,本文中指定为 /home/bbs |
|---|
| 16 | $(WWWHOME) 表示 apache 设定的 DocumentRoot,在本文中指定为 /var/www/html |
|---|
| 17 | $(SRCDIR) 表示存放 kbs_bbs 源代码的目录 |
|---|
| 18 | |
|---|
| 19 | 2. 适用本文操作的对象 |
|---|
| 20 | 您的 KBS 系统的 telnet & www 方式已经安装成功,可以正常运行,通过 WWW 方式可以 |
|---|
| 21 | 正常访问您的 bbs,只是您的 bbs 的首页导读没有内容或者出现 Warning: |
|---|
| 22 | domxml_open_file().....等警告。 |
|---|
| 23 | |
|---|
| 24 | 3. 首页导读安装步骤 |
|---|
| 25 | |
|---|
| 26 | 3.1 确认 WWW 登录/发文等基本功能没有问题。确认 $(WWWHOME)/site.php 所有设置正确。 |
|---|
| 27 | |
|---|
| 28 | 3.2 修改 $(WWWHOME)/mainpage.php |
|---|
| 29 | 主要是修改上面的 logo,其他内容尽量保持一致,当然页面的表格字体颜色背景等等尽 |
|---|
| 30 | 可以发挥自己的能力进行美化:) |
|---|
| 31 | |
|---|
| 32 | 3.3 为首页导读生成必要的 xml 文件 |
|---|
| 33 | |
|---|
| 34 | 3.3.1 首页导读各元素和 xml 文件的对应关系简表 |
|---|
| 35 | |
|---|
| 36 | 所有需要的 xml 文件都是保存在 $(BBSHOME)/xml/ 目录的,如果您的站台没有此目录 |
|---|
| 37 | 请以 bbs 帐号在 $(BBSHOME) 建立此目录。 |
|---|
| 38 | |
|---|
| 39 | 所有生成 xml 需要执行的程序,都保存在 $(BBSHOME)/bin,源文件在 |
|---|
| 40 | $(SRCDIR)/local_utl |
|---|
| 41 | |
|---|
| 42 | 以下为了描述方便,不再指明 xml 和程序的目录。 |
|---|
| 43 | |
|---|
| 44 | |
|---|
| 45 | 首页导读元素 需要的xml文件 mainpage.php当中相关函数 生成此xml需执行的程序 |
|---|
| 46 | ============================================================================ |
|---|
| 47 | 推荐文章 commend.xml gen_commend_html() genhot |
|---|
| 48 | |
|---|
| 49 | 本日热点话题 day.xml gen_hot_subjects_html() poststat |
|---|
| 50 | |
|---|
| 51 | 分类精彩讨论区 day_sec*.xml gen_sections_html poststat |
|---|
| 52 | gen_sec_hot_subjects_html() |
|---|
| 53 | |
|---|
| 54 | 新开版面 newboards.xml gen_new_boards_html() gennewboard |
|---|
| 55 | |
|---|
| 56 | 推荐版面 rcmdbrd.xml gen_recommend_boards_html() 参见 3.3.3 节 |
|---|
| 57 | |
|---|
| 58 | 人气排名 board.xml gen_board_rank_html() usage |
|---|
| 59 | |
|---|
| 60 | 今日祝福 bless.xml gen_blessing_list_html() poststat |
|---|
| 61 | |
|---|
| 62 | 3.3.2 crontab 当中有关首页导读的部分 |
|---|
| 63 | |
|---|
| 64 | 参考 $(SRCDIR)/contrib/cron.SMTH,在 bbs 帐号的 crontab 里面调用各程序生 |
|---|
| 65 | 成以上 xml 的部分如下所示。请添加到您的 bbs 帐号的 crontab 里面。注意以 |
|---|
| 66 | 下不是完整的 bbs 帐号的 crontab,只是和首页导读相关部分的内容,完整的 |
|---|
| 67 | crontab 列表请参考 $(SRCDIR)/contrib/cron.SMTH。时间以及程序的完整路径等 |
|---|
| 68 | 内容请根据自己站台的情况进行调整。 |
|---|
| 69 | |
|---|
| 70 | # 定时更新推荐文章 |
|---|
| 71 | 8,18,28,38,48,58 * * * * /home/bbs/bin/genhot |
|---|
| 72 | # 每小时 43 分执行热门话题统计 -- 注意: 只能一小时一次, 不能再快 |
|---|
| 73 | 43 * * * * /home/bbs/bin/poststat |
|---|
| 74 | # stiger:新的十大统计 |
|---|
| 75 | 59 23 * * * rm -f /home/bbs/tmp/Xpost/* |
|---|
| 76 | 59 23 * * * rm -f /home/bbs/.post.X |
|---|
| 77 | # 每天早上 4:33 统计各版使用状况0 |
|---|
| 78 | 33 4 * * * /home/bbs/bin/usage >/dev/null 2>&1 |
|---|
| 79 | # 新版 |
|---|
| 80 | 1 * * * * $BBSHOME/bin/gennewboard |
|---|
| 81 | |
|---|
| 82 | 推荐文章需要在站上开一个 Recommend 版,然后版主或者原作者在版面文章前面 |
|---|
| 83 | 按 ;3,此文章进入 Recommand 版,站务在 Recommend 版需要推荐的文章前面按 g |
|---|
| 84 | 就可以使得此文章出现在 web 首页导读的推荐文章了。 |
|---|
| 85 | |
|---|
| 86 | 3.3.3 生成 rcmdbrd.xml |
|---|
| 87 | |
|---|
| 88 | 在 menu.ini 中合适位置添加如下行 (或取消如下行的注释) |
|---|
| 89 | |
|---|
| 90 | @SetRcmdBrd 0, 0, PERM_SYSOP, "TSetRcmdBrd", "T) 设定 web 首页导读推荐版面" |
|---|
| 91 | |
|---|
| 92 | 在主菜单 ~ 之后通过此选单进行设定。$(SRCDIR)/src/xyz.c 中 MAXRCMDBRD 宏控 |
|---|
| 93 | 制可用此选单设定的最大推荐版面数量。 |
|---|
| 94 | |
|---|
| 95 | 也可手工编辑 $(BBSHOME)/xml/rcmdbrd.xml,按照以下格式,感谢 windinsn 提供 |
|---|
| 96 | |
|---|
| 97 | <?xml version="1.0" encoding="GBK"?> |
|---|
| 98 | <RecommendBoards> |
|---|
| 99 | <Board><EnglishName>这里写版面的英文名</EnglishName></Board> |
|---|
| 100 | <Board><EnglishName>...</EnglishName></Board> |
|---|
| 101 | ... |
|---|
| 102 | <Board><EnglishName>...</EnglishName></Board> |
|---|
| 103 | </RecommendBoards> |
|---|
| 104 | |
|---|
| 105 | |
|---|
| 106 | 至此,所有的首页导读的元素都已经生成完毕,在浏览器打开 |
|---|
| 107 | http://yoursite./mainpage.php 应该可以得到看到首页导读的各元素。 |
|---|
| 108 | |
|---|
| 109 | 4 mainpage.php vs mainpage.html |
|---|
| 110 | |
|---|
| 111 | 4.1 到底选择默认首页为 mainpage.html 还是 mainpage.php? |
|---|
| 112 | |
|---|
| 113 | site.php 中定义 define("MAINPAGE_FILE","mainpage.html") |
|---|
| 114 | 其含义为定义默认的首页导读页面为 mainpage.html。如果定义默认导读首页页面为 |
|---|
| 115 | mainpage.php,也可以得到正确的首页导读。但是考虑到 mainpage.php 为 php 脚 |
|---|
| 116 | 本解释语言而且在每次客户端请求 mainpage.php 的时候,都需要解析各 xml 文 |
|---|
| 117 | 件,为了减少 IO 和站台的负荷,提倡使用静态的 mainpage.html 作为默认的首 |
|---|
| 118 | 页导读页面,同时为了保证首页导读的实时性,应该用 wget 自动定时从 |
|---|
| 119 | mainpage.php 更新 mainpage.html。 |
|---|
| 120 | |
|---|
| 121 | 如果选择 mainpage.php 作为默认首页,请同时将 frames.html 里面的 |
|---|
| 122 | mainpage.html 也修改为 mainpage.php。 |
|---|
| 123 | |
|---|
| 124 | 4.2 自动定时更新 mainpage.html |
|---|
| 125 | |
|---|
| 126 | 将以下内容添加到 bbs 帐号的 crontab,即可自动从 mainpage.php 生成 |
|---|
| 127 | mainpage.html。间隔时间可以自行调整。以下命令为一行,不要折行。 |
|---|
| 128 | |
|---|
| 129 | #每 10 分钟自动更新一下/var/www/html/mainpage.html |
|---|
| 130 | */10 * * * * /usr/bin/wget -q -O /var/www/html/mainpage.html |
|---|
| 131 | http://127.0.0.1/mainpage.php |
|---|
| 132 | |
|---|
| 133 | 注意生成 mainpage.html 的时间点应该避开 3.3.2 节提到的 crontab 中的程序 |
|---|
| 134 | 生成各个 xml 文件的时间点,否则可能造成 mainpage.php 读取到空的正在更新 |
|---|
| 135 | 的 xml 文件。 |
|---|
| 136 | |
|---|
| 137 | 另外可以添加类似的命令从 bbsleft.php 和 bbsfoot.php 分别生成 |
|---|
| 138 | bbsguestleft.html 和 bbsguestfoot.html 文件,每 10 分钟一次。 |
|---|
| 139 | |
|---|
| 140 | 5 FAQ |
|---|
| 141 | |
|---|
| 142 | Q: 我按照以上操作做过了,但是我的首页导读还是有好多内容没有出来。 |
|---|
| 143 | A:crontab 里面执行的程序有时候需要依赖超过一天的时间来生成,我自己的站台就是当 |
|---|
| 144 | 天只有热门话题,睡了一觉起来,到了第二天,发现其他内容都出来了:),所以如果有 |
|---|
| 145 | 问题,请耐心等待超过 24 小时。 |
|---|
| 146 | |
|---|
| 147 | 其他问题请到水木社区 (newsmth.net) BBSMan_Dev 版讨论。 |
|---|
| 148 | |
|---|