架 设 MapleBBS 2.36 sobversion入 门

您 还 在 用 平 面 纸 制 的 贺 卡 吗 ? 如 果 是 , 您 可 落 伍 罗 ! 现 在 这 个 资 讯 爆 炸 的 时 代 , 电 子 出 版 、 电 子 图 书 等 等 一 大 堆 的 资 讯 产 品 , 但 电 子 卡 片 可 没 听 说 吧 ? 快 随 本 文 来 瞧 瞧 吧 !

本 文 作 者 / 周 树 禾

关 於 BBS

BBS- 对 喜 爱 电 脑 的 人 来 说 , 这 是 个 具 有 致 命 吸 引 力 的 名 字 。 笔 者 自 从 高 二 那 年 买 了 台 Modem後 , 从 此 过 着 暗 无 天 日 的 日 子 ( 因 为 晚 上 的 电 话 费 比 较 便 宜 ) , 半 夜 叁 更 偷 偷 爬 起 床 上 Modem架 设 的 BBS站 台 , 匆 匆 忙 忙 赶 着 用 铁 力 士 拨 号 , 深 怕 拨 不 进 去 , 连 线 後 赶 紧 用 银 快 抓 信 、 回 信 , 有 时 更 直 接 找 站 长 TALK, 相 信 很 多 人 都 有 过 这 麽 一 段 黑 眼 圈 的 日 子 ; 没 想 到 好 景 不 常 ( 暗 无 天 日 还 算 是 好 景 ? ! ) , 进 了 元 智 之 後 更 是 过 着 早 睡 ( 「 早 」 上 别 人 起 床 後 我 才 开 始 「 睡 」 ) 的 日 子 , 为 什 麽 ? 因 为 我 竟 迷 上 了 更 深 具 令 人 无 法 自 拔 的 元 智 风 之 塔 BBS, 住 进 有 宿 网 的 元 智 宿 舍 , 要 上 站 根 本 不 用 钱 , 而 且 可 以 同 时 有 几 百 人 上 站 , 版 上 总 是 有 看 不 完 的 文 章 , 要 找 人 总 是 先 上 站 找 , BBS早 已 变 成 了 我 们 生 活 中 的 一 部 分 , 这 样 的 情 形 之 下 , 更 是 激 起 了 笔 者 自 己 架 设 BBS站 的 兴 趣 。

Maple BBS sob-version简 介

在 笔 者 一 番 努 力 的 研 究 之 後 , 终 於 找 到 了 元 智 风 之 塔 的 架 站 程 式 MapleBBS( sob-version) , 其 实 笔 者 最 先 架 设 好 的 是 MapleBBS-2.36, 这 是 一 套 清 大 枫 桥 驿 站 所 流 出 的 版 本 , 目 前 仍 持 续 改 版 中 , 於 Maple BBS( sob-version) 则 是 MapleBBS原 版 的 一 个 分 支 。 也 许 有 人 会 奇 怪 , 为 什 麽 笔 者 介 绍 这 一 种 BBS架 站 系 统 呢 ? 答 案 很 简 单 , 因 为 它 很 容 易 架 而 且 附 加 功 能 很 多 , 在 版 上 的 问 答 中 几 乎 都 是 在 谈 这 套 BBS系 统 , 对 初 学 者 来 说 , 能 够 很 容 易 找 到 人 回 答 是 很 重 要 的 。 究 竟 sob-version有 那 些 特 色 呢 ? 一 般 来 说 , 最 令 人 一 眼 看 出 是 sob-version版 本 的 功 能 就 是 它 具 有 传 送 讯 息 的 功 能 , 这 是 原 版 所 没 有 的 , 此 外 还 有 一 大 堆 热 键 的 功 能 , 例 如 : 在 任 何 选 单 中 按 ctrl+u, 可 以 跳 至 使 用 者 选 单 , 此 外 还 有 很 多 方 便 贴 心 设 计 的 小 功 能 。 MapleBBS原 版 最 早 也 是 架 设 在 Linux上 的 , 而 後 来 sob-version却 主 要 是 以 FreeBSD为 发 展 平 台 。 sob-version除 了 Free BSD版 本 之 外 , 还 支 援 Sun-OS与 Linux( Slackware & Red Hat) 等 作 业 平 台 , 支 援 Linux的 sob-version对 於 上 线 人 数 200人 以 下 的 系 统 尚 能 负 荷 , 若 超 过 200人 者 , 则 以 FreeBSD的 效 能 较 好 。 目 前 以 sob-version架 设 的 站 台 有 许 多 , 较 知 名 的 有 台 大 阳 光 沙 滩 ( sob.m7.ntu.edu.tw) , 聪 明 的 读 者 由 其 domain就 可 以 猜 出 sob-version与 其 有 关 , 没 错 , sob-version其 实 最 早 就 是 阳 光 沙 滩 所 发 展 使 用 的 版 本 , 是 由 阳 光 沙 滩 的 管 理 人 员 改 进 MapleBBS原 版 , 而 成 为 现 在 的 sob-version, 目 前 则 由 各 个 大 学 热 心 的 人 士 持 续 改 版 中 。

如 何 在 Linux下 安 装 MapleBBS 2.36 sobversion呢 ?

1> 取 回 程 式 与 初 步 设 定

sob-version的 架 站 程 式 有 所 谓 的 快 速 架 设 法 , 只 要 大 约 十 分 钟 便 可 以 架 设 好 整 个 bbs的 系 统 部 分 , 即 使 是 Linux初 学 者 , 只 要 按 照 下 列 步 骤 也 可 以 轻 易 架 设 成 功 的 。

第 一 步 骤 : 取 回 架 站 程 式 ftp://freebsd.ee.ntu.edu.tw/linux/sob_linux.tgz

ftp://freebsd.ee.ntu.edu.tw/linux/issue.net( 请 将 此 档 放 置 在 /etc目 录 下 )

ftp://freebsd.ee.ntu.edu.tw/linux/sendmail.cf ( 请 将 此 档 放 置 在 /etc目 录 下 )

第 二 步 骤 : 以 vipw加 入 bbs::9999:99:BBS User:/home/bbs:/home/bbs/bin/bbsrf bbsadm:*:9999:99:BBS Administrator:/home/bbs:/bin/bash

第 叁 步 骤 : 修 改 /etc/group档 案 , 加 入 bbs:*:99:bbs,bbsadm

第 四 步 骤 : 把 第 一 步 抓 回 之 sob_linux.tgz移 至 /home下 , 再 以 tar xvzf sob_linux.tgz解 开 。

做 完 这 四 个 步 骤 , 基 本 上 已 经 算 是 架 设 好 一 个 非 常 简 易 功 能 的 BBS系 统 了 , 够 简 单 吧 ! 您 可 以 先 以 下 列 方 法 测 试 看 看 , 是 不 是 能 够 顺 利 地 进 入 您 亲 手 架 的 BBS站 了 !

telnet 0

login: bbs

若 上 面 四 个 步 骤 无 误 , 您 应 该 可 以 看 到 如 下 的 画 面 :

-= Welcome to Linux Workstation ( bbs) =-

1:59pm up 55 min, 6 users, load average: 0.33, 0.26, 0.20

欢 迎 光 临 【 阳 光 沙 滩 】 ( 目 前 总 共 有 0人 上 线 )

站 长 曰 : 如 果 您 还 不 能 post, 请 填 写 注 册 单 ( User选 项 的 Register) 。 不 必 等 叁 天 哦 !!

海 风 吹 来 春 的 信 息 : 您 可 曾 知 道 ?

有 人 扣 应 你 时 , 若 想 回 应 对 方 , 又 不 想 中 断 目 前 的 工 作 ,随 时 都 可 以 按 下 CTRL-R就 可 以 马 上 回 call 罗 !

请 输 入 代 号 , 或 以 [guest]参 观 , 以 [new]注 册 : sysop

请 输 入 您 的 密 码 : ------> sysop密 码 内 定 为 sob

目 前 这 个 架 设 好 的 简 易 站 台 , 站 名 仍 然 是 阳 光 沙 滩 , 没 关 系 , 等 一 下 会 教 您 如 何 来 修 改 站 台 名 称 与 其 他 站 台 设 定 。 您 可 以 先 以 sysop( 站 长 身 分 ) login, 之 後 输 入 密 码 ( 内 定 为 sob) , 即 可 进 入 站 台 , 进 入 之 後 您 最 好 能 够 先 改 掉 密 码 , 以 防 万 一 。

2> 了 解 BBS的 架 构

当 你 安 装 好 这 个 简 易 的 站 台 之 後 , 主 要 架 构 就 是 以 /home/bbs在 运 作 , 其 架 构 如 下 :(参见表)

3> 修 改 BBS的 原 始 程 式

在 了 解 大 概 的 系 统 架 构 後 , 我 们 就 可 以 开 始 来 修 改 程 式 , 以 成 为 你 自 己 的 BBS站 ! 由 於 sob-version乃 是 以 C语 言 撰 写 而 成 的 , 所 以 您 若 懂 得 C语 言 的 话 , 除 了 能 够 修 改 基 本 的 设 定 外 , 更 可 以 自 行 发 展 属 於 您 自 己 站 台 的 特 殊 功 能 , 说 不 定 哪 一 天 您 自 己 修 改 出 来 的 程 式 也 可 以 成 为 另 一 种 流 行 版 本 喔 ! 若 您 不 懂 得 C语 言 也 没 关 系 , 以 下 的 修 改 方 式 只 要 您 会 使 用 joe或 ve( 建 议 使 用 , 因 为 可 以 直 接 编 辑 ANSI code并 观 看 其 结 果 , 非 常 的 方 便 。 ) 等 档 案 编 辑 器 即 可 。 修 改 之 前 最 好 先 将 档 案 备 份 起 来 , 以 免 改 错 而 前 功 尽 弃 , 那 就 惨 了 。 第 一 步 当 然 得 修 改 我 们 的 站 台 名 称 , 请 至 /home/bbs/src/maple目 录 中 , 以 ve来 修 改 config.h, 这 个 档 案 就 是 设 定 关 於 我 们 系 统 中 的 资 料 , 其 档 案 内 容 如 下 :

/* ----------------------------------------------------------------------- */ /* 定 义 BBS 站 名 位 址 */ /* ------------------------------------------------------------------------*/ #define BOARDNAME “ 阳 光 沙 滩 ” /* 中 文 站 名 */

#define BBSNAME “ Sun Of Beach BBS” /* 英 文 站 名 */

#define MYHOSTNAME “ sob.m7.ntu.edu.tw” /* 网 路 位 址 */

#define MYVERSION “ SunOfBeach BBS 0.19” /* 程 式 版 本 */

#define MYBBSID “ sob” /* 转 信 代 码 */

#define BBSHOME “ /home/bbs” /* BBS 的 家 */

#define BBSUSER “ bbs”

#define BBSUID 9999

#define BBSGID 99

#define BBSSHELL “ /home/bbs/bin/bbsrf” /* 前 端 程 式 */

#define BBSPROG “ /home/bbs/bin/bbs” /* 主 程 式 */

^^^^^^^^^^^^^^设 定 说 明

----以 下 设 定 最 好 等 熟 悉 整 个 BBS站 台 运 作 後 , 再 来 试 着 更 改 。 ------

相 信 即 使 不 懂 得 C语 言 的 人 也 可 以 看 得 懂 , 您 只 要 依 样 「 改 」 葫 芦 , 将 双 引 号 中 的 资 料 修 改 後 再 存 档 。 存 档 後 还 必 须 执 行

1.make clean

2.make

3.make upadte

才 会 重 新 编 绎 程 式 并 将 原 来 在 /home/bbs/bin中 的 旧 档 案 更 名 成 以 .old 结 尾 , 再 将 新 编 绎 好 的 程 式 拷 贝 至 /home/bbs/bin中 , 现 在 您 再 重 新 测 试 一 次 就 可 以 看 到 结 果 了 。 如 果 结 果 有 误 , 请 再 重 新 修 改 原 始 程 式 码 , 再 依 前 步 骤 重 新 即 可 。

不 过 , 修 改 完 这 个 部 份 仅 是 将 大 部 份 站 台 资 料 更 改 过 而 已 , 但 有 更 多 细 部 的 辞 语 仍 需 要 改 , 可 以 试 试 看 用 grep来 找 寻 需 要 修 改 的 辞 语 , 大 部 份 都 可 以 轻 松 找 到 , 再 依 前 例 修 改 、 编 绎 、 更 新 即 可 。 再 接 下 来 就 是 要 修 改 一 些 站 台 画 面 , 大 部 份 的 站 台 画 面 其 实 就 是 一 个 文 字 档 案 , 可 以 直 接 手 动 方 式 自 行 修 改 , 以 下 是 画 面 与 档 案 名 称 之 对 应 说 明 :

/home/bbs/etc/welcome 进 站 欢 迎 画 面

/home/bbs/etc/confirm 确 认 信 的 样 版 画 面

/home/bbs/etc/goodbye 进 站 密 码 错 误 叁 次 以 上 时 的 切 线 画 面

/home/bbs/etc/newuser 给 新 进 使 用 者 的 上 站 需 知

/home/bbs/etc/justify 身 分 确 认 的 方 法

/home/bbs/etc/register 新 人 注 册 画 面

/home/bbs/etc/registered 通 过 注 册 的 通 知 画 面

--以 下 画 面 是 由 程 式 /home/bbs/src/util/poststat.c 产 生 --

/home/bbs/etc/day 本 日 十 大 热 门 话 题

/home/bbs/etc/week 本 周 五 十 大 热 门 话 题

/home/bbs/etc/month 本 月 百 大 热 门 话 题

/home/bbs/etc/year 本 年 度 百 大 热 门 话 题

--以 下 画 面 是 由 程 式 /home/bbs/src/util/account.c 产 生 --

/home/bbs/etc/today 每 小 时 上 站 人 次 统 计 图

--以 下 画 面 是 由 程 式 /home/bbs/src/util/topuser.c 产 生 --

/home/bbs/etc/topuser 使 用 者 POST与 上 站 次 数 排 行 榜

以 上 画 面 若 是 由 程 式 产 生 的 , 请 修 改 程 式 码 部 份 并 重 新 编 绎 , 否 则 直 接 以 ve编 辑 该 画 面 档 案 即 可 。

最 後 要 修 改 的 是 BBS选 单 的 部 份 了 , 也 是 一 般 人 较 难 了 解 的 一 部 份 , 所 以 笔 者 介 绍 的 较 为 详 细 。 选 单 设 定 的 原 始 程 式 档 案 是 /home/bbs/src/maple

/menu.c, 内 容 主 要 可 以 分 为 下 面 七 个 部 份 :

1.管 理 者 选 单 、 2.分 类 看 板 选 单 、 3.信 件 选 单 、 4. 交 谈 选 单 、 5.使 用 者 选 单 、 6.XYZ选 单 、 7.主 选 单 , 这 些 选 单 设 定 都 有 一 定 的 格 式 如 下 :

选 项 格 式 : < 栏 位 一 > , < 栏 位 二 > , < 栏 位 叁 > ,< 栏 位 一 > 所 要 执 行 的 函 式 名 称 ,< 栏 位 二 > 所 需 具 备 何 种 使 用 者 权 限 , 0表 示 任 何 人 都 可 以 执 行 , PERM_ ADMIN代 表 管 理 者 才 能 执 行 。

< 栏 位 叁 > 显 示 在 萤 幕 上 的 讯 息 , 第 一 个 英 文 字 是 , 执 行 完 此 一 选 项 功 能 後 , 所 预 设 的 选 项 。

第 二 个 英 文 字 是 , 要 执 行 此 一 选 项 功 能 的 热 键 。 ( 不 分 大 小 写 ) 之 後 是 说 明 此 一 选 项 功 能 的 讯 息 。

例 如 分 类 看 板 选 单 ( class menu) 中 :

board , 0 , “ CCCollection 推 荐 看 板 《 通 过 审 核 才 可 POST》 ” ,

^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

< 栏 位 一 > < 栏 位 二 > < 栏 位 叁 >

    若 使 用 者 选 择 这 一 选 项 , 则 将 会 执 行 board( ) , 而 且 是 任 何 人 皆 能 选 择 此 一 功 能 选 项 , 在 此 一 选 单 中 , 按 C便 会 执 行 这 个 选 项 功 能 , 若 从 选 项 中 跳 出 , 游 标 仍 将 停 留 在 这 个 选 项 上 。

    修 改 完 此 一 步 骤 後 , 您 就 可 以 向 您 的 亲 朋 好 友 发 请 帖 了 , 再 来 就 是 要 增 加 扩 充 的 功 能 。

4> 如 何 一 连 上 就 直 接 进 入 BBS呢 ?

    目 前 我 们 所 架 设 好 的 BBS, 仍 必 须 以 bbs login之 後 才 能 进 入 我 们 的 站 台 之 中 , 也 许 你 想 让 使 用 者 能 够 直 接 进 入 你 的 站 时 , 该 怎 麽 做 呢 ? 首 先 你 必 须 编 辑 /etc/service这 个 档 案 , 将 telnet23/tcp^^改 成 其 它 的 port, 以 後 你 若 想 telnet进 自 己 机 器 , 就 必 须 以 telnet [ip] [指 定 port] 的 方 式 , 因 为 port 23将 让 给 另 外 一 个 telnet daemon了 。 改 完 後 再 编 辑 /etc/rc.d/rc.local, 加 入 /home/bbs/bin/in.zbbsd, 再 存 档 shutdown重 开 即 可 。

5> 其 他 工 具 程 式 的 应 用 与 设 定

BBS站 上 的 某 些 资 料 应 该 要 定 期 更 新 , 例 如 : 每 天 都 要 计 算 十 大 热 门 话 题 , 每 个 小 时 必 须 统 计 上 站 人 数 以 及 每 隔 一 段 时 间 就 该 转 信 等 。 这 时 候 我 们 该 怎 麽 办 呢 ? 首 先 , su bbsadm 以 bbsadm的 身 分 来 执 行 crontab -e( 注 二 ) , 再 将 这 些 周 期 性 的 工 作 设 定 好 。 设 定 的 格 式 如 下 :

分 时 日 月 星 期 所 要 执 行 的 程 式 命 令

例 如 :

5, 15, 25, 35, 45, 55 * * * * /home/bbs/bin/topuser

#每 小 时 的 5, 15, 25, 35, 45, 55分 执 行 POST与 上 线 次 数 排 行 榜 计 算

1 * * * * /home/bbs/bin/account

# 每 个 小 时 1 分 执 行 上 站 人 次 统 计

10 * * * * /home/bbs/bin/poststat /home/bbs

# 每 个 小 时 10 分 执 行 热 门 话 题 统 计

0 3 * * * /home/bbs/bin/topusr 50

# 每 天 早 上 叁 点 整 执 行 使 用 者 排 行 榜 更 新

如 何 管 理 你 的 BBS-

站 长 的 基 本 技 能

到 目 前 为 止 , 整 个 BBS站 台 算 是 略 具 雏 形 了 , 但 是 却 少 了 最 重 要 的 东 西 , 那 就 是 BBS丰 富 的 版 面 , 现 在 你 只 有 六 个 版 面 :

0Announce : 站 长 或 板 主 宣 布 事 情 的 地 方 。

SYSOP : 站 长 与 使 用 者 之 间 沟 通 的 管 道 。

Test : 让 刚 上 路 的 新 手 可 以 尽 情 测 试 的 地 方 。

deleted  : 站 长 、 板 主 删 除 其 他 使 用 者 的 文 章 後 , 就 转 移 阵 地 到 这 里 来 , 要 是 後 悔 了 , 可 以 救 回 来 。

junk   : 作 者 自 己 删 除 的 文 章 , 会 跑 到 这 里 来 , 此 外 , 如 果 系 统 有 任 何 错 误 讯 息 的 话 , 也 会 予 以 记 录 , 有 「 系 统 运 作 备 忘 录 」 之 功 能 。

Note   : 动 态 告 示 板 的 来 源 , 开 放 给 使 用 者 自 由 投 稿 。

我 们 该 如 何 建 立 一 个 新 的 版 面 , 又 该 如 何 将 这 个 版 面 设 定 成 所 属 的 分 类 中 呢 ?

当 然 首 先 你 必 须 以 sysop来 进 站 , 主 选 单 ->系 统 维 护 区 ->开 辟 新 看 板 , 画 面 如 下 :

【 建 立 新 板 】

请 输 入 看 板 名 称 : YZIT_CNPA

看 板 主 题 : 推 荐 ☆ 元 智 网 路 推 广 会

板 主 名 单 : skytree

设 定 读 写 权 限 ( Y/N) ? [N]

看 板 名 称 只 要 是 可 做 为 合 法 目 录 名 称 者 即 可 。 至 於 看 板 主 题 的 设 定 则 可 分 为 叁 个 部 份 来 说 明 , 第 一 个 部 份 就 是 前 两 个 字 「 推 荐 」 , 这 两 个 字 与 这 个 版 面 该 属 於 那 一 个 看 板 分 类 有 关 , 举 例 来 说 , 之 前 我 们 在 修 改 分 类 看 板 选 单 ( menu.c中 的 classmenu) 时 , 可 分 为 叁 个 栏 位 , 若 您 想 将 这 个 新 建 立 的 版 面 归 类 在 「 CCCollection推 荐 看 板 《 通 过 审 核 才 可 POST》 」 这 个 分 类 选 项 中 , 就 必 须 将 看 板 主 题 的 头 两 个 字 设 定 成 其 中 的 关 键 字 , 例 如 : 推 荐 , 审 核 , 通 过 。 如 此 就 可 以 在 这 个 分 类 选 项 中 看 见 这 个 新 建 立 的 版 面 了 。 而 第 二 个 部 版 则 是 “ ☆ ”, 这 是 用 来 设 定 这 个 版 面 是 否 为 转 信 版 面 , 若 非 转 信 版 面 则 以 空 心 符 号 “ ☆ ○ ◇ □ △ ” 表 示 , 若 是 转 信 版 面 则 以 实 心 符 号 “ ★ ● ◆ ■ ▲ ” 表 示 。 最 後 一 个 部 版 则 是 「 元 智 网 路 推 广 会 」 , 请 记 得 开 头 要 留 空 白 , 否 则 使 用 者 进 入 这 个 版 面 时 , 画 面 上 面 的 版 面 名 称 会 变 成 乱 码 。 接 下 来 就 是 板 主 名 单 的 设 定 了 , 一 个 看 板 可 以 有 多 位 板 主 , 只 要 将 板 主 的 ID以 “ /” 隔 开 就 可 以 了 。 最 後 是 设 定 读 写 权 限 , 这 一 部 分 初 学 者 尚 不 需 设 定 , 可 待 熟 悉 後 自 行 测 试 即 可 。

结 语

由 於 篇 幅 的 关 系 , 只 能 做 一 个 概 略 的 架 设 入 门 说 明 , 仍 有 许 多 重 要 的 部 份 无 法 介 绍 , 例 如 : 转 信 的 设 定 、 外 部 程 式 等 。 若 您 依 照 以 上 说 明 架 设 好 您

关 於 BBS

BBS- 对 喜 爱 电 脑 的 人 来 说 , 这 是 个 具 有 致 命 吸 引 力 的 名 字 。 笔 者 自 从 高 二 那 年 买 了 台 Modem後 , 从 此 过 着 暗 无 天 日 的 日 子 ( 因 为 晚 上 的 电 话 费 比 较 便 宜 ) , 半 夜 叁 更 偷 偷 爬 起 床 上 Modem架 设 的 BBS站 台 , 匆 匆 忙 忙 赶 着 用 铁 力 士 拨 号 , 深 怕 拨 不 进 去 , 连 线 後 赶 紧 用 银 快 抓 信 、 回 信 , 有 时 更 直 接 找 站 长 TALK, 相 信 很 多 人 都 有 过 这 麽 一 段 黑 眼 圈 的 日 子 ; 没 想 到 好 景 不 常 ( 暗 无 天 日 还 算 是 好 景 ? ! ) , 进 了 元 智 之 後 更 是 过 着 早 睡 ( 「 早 」 上 别 人 起 床 後 我 才 开 始 「 睡 」 ) 的 日 子 , 为 什 麽 ? 因 为 我 竟 迷 上 了 更 深 具 令 人 无 法 自 拔 的 元 智 风 之 塔 BBS, 住 进 有 宿 网 的 元 智 宿 舍 , 要 上 站 根 本 不 用 钱 , 而 且 可 以 同 时 有 几 百 人 上 站 , 版 上 总 是 有 看 不 完 的 文 章 , 要 找 人 总 是 先 上 站 找 , BBS早 已 变 成 了 我 们 生 活 中 的 一 部 分 , 这 样 的 情 形 之 下 , 更 是 激 起 了 笔 者 自 己 架 设 BBS站 的 兴 趣 。

Maple BBS sob-version简 介

在 笔 者 一 番 努 力 的 研 究 之 後 , 终 於 找 到 了 元 智 风 之 塔 的 架 站 程 式 MapleBBS( sob-version) , 其 实 笔 者 最 先 架 设 好 的 是 MapleBBS-2.36, 这 是 一 套 清 大 枫 桥 驿 站 所 流 出 的 版 本 , 目 前 仍 持 续 改 版 中 , 於 Maple BBS( sob-version) 则 是 MapleBBS原 版 的 一 个 分 支 。 也 许 有 人 会 奇 怪 , 为 什 麽 笔 者 介 绍 这 一 种 BBS架 站 系 统 呢 ? 答 案 很 简 单 , 因 为 它 很 容 易 架 而 且 附 加 功 能 很 多 , 在 版 上 的 问 答 中 几 乎 都 是 在 谈 这 套 BBS系 统 , 对 初 学 者 来 说 , 能 够 很 容 易 找 到 人 回 答 是 很 重 要 的 。 究 竟 sob-version有 那 些 特 色 呢 ? 一 般 来 说 , 最 令 人 一 眼 看 出 是 sob-version版 本 的 功 能 就 是 它 具 有 传 送 讯 息 的 功 能 , 这 是 原 版 所 没 有 的 , 此 外 还 有 一 大 堆 热 键 的 功 能 , 例 如 : 在 任 何 选 单 中 按 ctrl+u, 可 以 跳 至 使 用 者 选 单 , 此 外 还 有 很 多 方 便 贴 心 设 计 的 小 功 能 。 MapleBBS原 版 最 早 也 是 架 设 在 Linux上 的 , 而 後 来 sob-version却 主 要 是 以 FreeBSD为 发 展 平 台 。 sob-version除 了 Free BSD版 本 之 外 , 还 支 援 Sun-OS与 Linux( Slackware & Red Hat) 等 作 业 平 台 , 支 援 Linux的 sob-version对 於 上 线 人 数 200人 以 下 的 系 统 尚 能 负 荷 , 若 超 过 200人 者 , 则 以 FreeBSD的 效 能 较 好 。 目 前 以 sob-version架 设 的 站 台 有 许 多 , 较 知 名 的 有 台 大 阳 光 沙 滩 ( sob.m7.ntu.edu.tw) , 聪 明 的 读 者 由 其 domain就 可 以 猜 出 sob-version与 其 有 关 , 没 错 , sob-version其 实 最 早 就 是 阳 光 沙 滩 所 发 展 使 用 的 版 本 , 是 由 阳 光 沙 滩 的 管 理 人 员 改 进 MapleBBS原 版 , 而 成 为 现 在 的 sob-version, 目 前 则 由 各 个 大 学 热 心 的 人 士 持 续 改 版 中 。 如 何 在 Linux下 安 装 MapleBBS 2.36 sobversion呢 ?

1> 取 回 程 式 与 初 步 设 定

sob-version的 架 站 程 式 有

所 谓 的 快 速 架 设 法 , 只 要 大 约 十 分 钟 便 可 以 架 设 好 整 个 bbs的 系 统 部 分 , 即 使 是 Linux初 学 者 , 只 要 按 照 下 列 步 骤 也 可 以 轻 易 架 设 成 功 的 。

第 一 步 骤 : 取 回 架 站 程 式 ftp://freebsd.ee.ntu.edu.tw/linux/sob_linux.tgz

ftp://freebsd.ee.ntu.edu.tw/linux/issue.net( 请 将 此 档 放 置 在 /etc目 录 下 )

ftp://freebsd.ee.ntu.edu.tw/linux/sendmail.cf ( 请 将 此 档 放 置 在 /etc目 录 下 )

第 二 步 骤 : 以 vipw加 入 bbs::9999:99:BBS User:/home/bbs:/home/bbs/bin/bbsrf

bbsadm:*:9999:99:BBS Administrator:/home/bbs:/bin/bash

第 叁 步 骤 : 修 改 /etc/group档 案 , 加 入 bbs:*:99:

bbs,bbsadm

第 四 步 骤 : 把 第 一 步 抓 回 之 sob_linux.tgz移 至 /home下 , 再 以 tar xvzf sob_linux.tgz解 开 。

做 完 这 四 个 步 骤 , 基 本 上 已 经 算 是 架 设 好 一 个 非 常 简 易 功 能 的 BBS系 统 了 , 够 简 单 吧 ! 您 可 以 先 以 下 列 方 法 测 试 看 看 , 是 不 是 能 够 顺 利 地 进 入 您 亲 手 架 的 BBS站 了 !

telnet 0

login: bbs

若 上 面 四 个 步 骤 无 误 , 您 应 该 可 以 看 到 如 下 的 画 面 :

目 前 这 个 架 设 好 的 简 易 站 台 , 站 名 仍 然 是 阳 光 沙 滩 , 没 关 系 , 等 一 下 会 教 您 如 何 来 修 改 站 台 名 称 与 其 他 站 台 设 定 。 您 可 以 先 以 sysop( 站 长 身 分 ) login, 之 後 输 入 密 码 ( 内 定 为 sob) , 即 可 进 入 站 台 , 进 入 之 後 您 最 好 能 够 先 改 掉 密 码 , 以 防 万 一 。

2> 了 解 BBS的 架 构

当 你 安 装 好 这 个 简 易 的 站 台 之 後 , 主 要 架 构 就 是 以 /home/bbs在 运 作 , 其 架 构 如 下 :

3> 修 改 BBS的 原 始 程 式

在 了 解 大 概 的 系 统 架 构 後 , 我 们 就 可 以 开 始 来 修 改 程 式 , 以 成 为 你 自 己 的 BBS站 ! 由 於 sob-version乃 是 以 C语 言 撰 写 而 成 的 , 所 以 您 若 懂 得 C语 言 的 话 , 除 了 能 够 修 改 基 本 的 设 定 外 , 更 可 以 自 行 发 展 属 於 您 自 己 站 台 的 特 殊 功 能 , 说 不 定 哪 一 天 您 自 己 修 改 出 来 的 程 式 也 可 以 成 为 另 一 种 流 行 版 本 喔 ! 若 您 不 懂 得 C语 言 也 没 关 系 , 以 下 的 修 改 方 式 只 要 您 会 使 用 joe或 ve( 建 议 使 用 , 因 为 可 以 直 接 编 辑 ANSI code并 观 看 其 结 果 , 非 常 的 方 便 。 ) 等 档 案 编 辑 器 即 可 。 修 改 之 前 最 好 先 将 档 案 备 份 起 来 , 以 免 改 错 而 前 功 尽 弃 , 那 就 惨 了 。 第 一 步 当 然 得 修 改 我 们 的 站 台 名 称 , 请 至 /home/bbs/src/maple目 录 中 , 以 ve来 修 改 config.h, 这 个 档 案 就 是 设 定 关 於 我 们 系 统 中 的 资 料 , 其 档 案 内 容 如 下 :

相 信 即 使 不 懂 得 C语 言 的 人 也 可 以 看 得 懂 , 您 只 要 依 样 「 改 」 葫 芦 , 将 双 引 号 中 的 资 料 修 改 後 再 存 档 。 存 档 後 还 必 须 执 行

1.make clean

2.make

3.make upadte

才 会 重 新 编 绎 程 式 并 将 原 来 在 /home/bbs/bin中 的 旧 档 案 更 名 成 以 .old 结 尾 , 再 将 新 编 绎 好 的 程 式 拷 贝 至 /home/bbs/bin中 , 现 在 您 再 重 新 测 试 一 次 就 可 以 看 到 结 果 了 。 如 果 结 果 有 误 , 请 再 重 新 修 改 原 始 程 式 码 , 再 依 前 步 骤 重 新 即 可 。

不 过 , 修 改 完 这 个 部 份 仅 是 将 大 部 份 站 台 资 料 更 改 过 而 已 , 但 有 更 多 细 部 的 辞 语 仍 需 要 改 , 可 以 试 试 看 用 grep来 找 寻 需 要 修 改 的 辞 语 , 大 部 份 都 可 以 轻 松 找 到 , 再 依 前 例 修 改 、 编 绎 、 更 新 即 可 。 再 接 下 来 就 是 要 修 改 一 些 站 台 画 面 , 大 部 份 的 站 台 画 面 其 实 就 是 一 个 文 字 档 案 , 可 以 直 接 手 动 方 式 自 行 修 改 , 以 下 是 画 面 与 档 案 名 称 之 对 应 说 明 :

以 上 画 面 若 是 由 程 式 产 生 的 , 请 修 改 程 式 码 部 份 并 重 新 编 绎 , 否 则 直 接 以 ve编 辑 该 画 面 档 案 即 可 。

最 後 要 修 改 的 是 BBS选 单 的 部 份 了 , 也 是 一 般 人 较 难 了 解 的 一 部 份 , 所 以 笔 者 介 绍 的 较 为 详 细 。 选 单 设 定 的 原 始 程 式 档 案 是 /home/bbs/src/maple/menu.c, 内 容 主 要 可 以 分 为 下 面 七 个 部 份 :

1.管 理 者 选 单 、 2.分 类 看 板 选 单 、 3.信 件 选 单 、 4. 交 谈 选 单 、 5.使 用 者 选 单 、 6.XYZ选 单 、 7.主 选 单 , 这 些 选 单 设 定 都 有 一 定 的 格 式 如 下 :

例 如 分 类 看 板 选 单 ( class menu) 中 :

    若 使 用 者 选 择 这 一 选 项 , 则 将 会 执 行 board( ) , 而 且 是 任 何 人 皆 能 选 择 此 一 功 能 选 项 , 在 此 一 选 单 中 , 按 C便 会 执 行 这 个 选 项 功 能 , 若 从 选 项 中 跳 出 , 游 标 仍 将 停 留 在 这 个 选 项 上 。

    修 改 完 此 一 步 骤 後 , 您 就 可 以 向 您 的 亲 朋 好 友 发 请 帖 了 , 再 来 就 是 要 增 加 扩 充 的 功 能 。

4> 如 何 一 连 上 就 直 接 进 入 BBS呢 ?

    目 前 我 们 所 架 设 好 的 BBS, 仍 必 须 以 bbs login之 後 才 能 进 入 我 们 的 站 台 之 中 , 也 许 你 想 让 使 用 者 能 够 直 接 进 入 你 的 站 时 , 该 怎 麽 做 呢 ? 首 先 你 必 须 编 辑 /etc/service这 个 档 案 , 将 telnet23/tcp^^改 成 其 它 的 port, 以 後 你 若 想 telnet进 自 己 机 器 , 就 必 须 以 telnet [ip] [指 定 port] 的 方 式 , 因 为 port 23将 让 给 另 外 一 个 telnet daemon了 。 改 完 後 再 编 辑 /etc/rc.d/rc.local, 加 入 /home/bbs/bin/in.zbbsd, 再 存 档 shutdown重 开 即 可 。

5> 其 他 工 具 程 式 的 应 用 与 设 定

BBS站 上 的 某 些 资 料 应 该 要 定 期 更 新 , 例 如 : 每 天 都 要 计 算 十 大 热 门 话 题 , 每 个 小 时 必 须 统 计 上 站 人 数 以 及 每 隔 一 段 时 间 就 该 转 信 等 。 这 时 候 我 们 该 怎 麽 办 呢 ? 首 先 , su bbsadm 以 bbsadm的 身 分 来 执 行 crontab -e( 注 二 ) , 再 将 这 些 周 期 性 的 工 作 设 定 好 。 设 定 的 格 式 如 下 :

如 何 管 理 你 的 BBS-站 长 的 基 本 技 能

到 目 前 为 止 , 整 个 BBS站 台 算 是 略 具 雏 形 了 , 但 是 却 少 了 最 重 要 的 东 西 , 那 就 是 BBS丰 富 的 版 面 , 现 在 你 只 有 六 个 版 面 :

0Announce : 站 长 或 板 主 宣 布 事 情 的 地 方 。

SYSOP : 站 长 与 使 用 者 之 间 沟 通 的 管 道 。

Test : 让 刚 上 路 的 新 手 可 以 尽 情 测 试 的 地 方 。

deleted  : 站 长 、 板 主 删 除 其 他 使 用 者 的 文 章 後 , 就 转 移 阵 地 到 这 里 来 , 要 是 後 悔 了 , 可 以 救 回 来 。

junk   : 作 者 自 己 删 除 的 文 章 , 会 跑 到 这 里 来 , 此 外 , 如 果 系 统 有 任 何 错 误 讯 息 的 话 , 也 会 予 以 记 录 , 有「 系 统 运 作 备 忘 录 」 之 功 能 。

Note   : 动 态 告 示 板 的 来 源 , 开 放 给 使 用 者 自 由 投 稿 。

我 们 该 如 何 建 立 一 个 新 的 版 面 , 又 该 如 何 将 这 个 版 面 设 定 成 所 属 的 分 类 中 呢 ?

当 然 首 先 你 必 须 以 sysop来 进 站 , 主 选 单 ->系 统 维 护 区 ->开 辟 新 看 板 , 画 面 如 下 :

看 板 名 称 只 要 是 可 做 为 合 法 目 录 名 称 者 即 可 。 至 於 看 板 主 题 的 设 定 则 可 分 为 叁 个 部 份 来 说 明 , 第 一 个 部 份 就 是 前 两 个 字 「 推 荐 」 , 这 两 个 字 与 这 个 版 面 该 属 於 那 一 个 看 板 分 类 有 关 , 举 例 来 说 , 之 前 我 们 在 修 改 分 类 看 板 选 单 ( menu.c中 的 classmenu) 时 , 可 分 为 叁 个 栏 位 , 若 您 想 将 这 个 新 建 立 的 版 面 归 类 在 「 CCCollection推 荐 看 板 《 通 过 审 核 才 可 POST》 」 这 个 分 类 选 项 中 , 就 必 须 将 看 板 主 题 的 头 两 个 字 设 定 成 其 中 的 关 键 字 , 例 如 : 推 荐 , 审 核 , 通 过 。 如 此 就 可 以 在 这 个 分 类 选 项 中 看 见 这 个 新 建 立 的 版 面 了 。 而 第 二 个 部 版 则 是 “ ☆ ”, 这 是 用 来 设 定 这 个 版 面 是 否 为 转 信 版 面 , 若 非 转 信 版 面 则 以 空 心 符 号 “ ☆ ○ ◇ □ △ ” 表 示 , 若 是 转 信 版 面 则 以 实 心 符 号 “ ★ ● ◆ ■ ▲ ” 表 示 。 最 後 一 个 部 版 则 是 「 元 智 网 路 推 广 会 」 , 请 记 得 开 头 要 留 空 白 , 否 则 使 用 者 进 入 这 个 版 面 时 , 画 面 上 面 的 版 面 名 称 会 变 成 乱 码 。 接 下 来 就 是 板 主 名 单 的 设 定 了 , 一 个 看 板 可 以 有 多 位 板 主 , 只 要 将 板 主 的 ID以 “ /” 隔 开 就 可 以 了 。 最 後 是 设 定 读 写 权 限 , 这 一 部 分 初 学 者 尚 不 需 设 定 , 可 待 熟 悉 後 自 行 测 试 即 可 。

结 语

由 於 篇 幅 的 关 系 , 只 能 做 一 个 概 略 的 架 设 入 门 说 明 , 仍 有 许 多 重 要 的 部 份 无 法 介 绍 , 例 如 : 转 信 的 设 定 、 外 部 程 式 等 。 若 您 依 照 以 上 说 明 架 设 好 您 自 己 的 BBS站 後 , 想 要 再 进 一 步 多 学 习 , 可 以 多 多 研 究 一 些 BBS站 的 精 华 区 , 相 信 在 经 过 一 番 努 力 之 後 , 您 也 可 以 当 一 个 出 色 的 站 长 。 笔 者 学 习 Linux至 今 也 才 半 年 多 , 架 站 时 间 更 是 短 短 叁 、 四 个 月 , 功 力 不 足 还 望 各 位 先 进 多 多 指 教 。

注 一 : 建 议 将 ve拷 贝 至 您 的 /bin目 录 下 , 详 细 使 用 说 明 位 於 /home/bbs/etc/ve.hlp

注 二 : crontab -e进 入 後 为 vi编 辑 器 环 境 。

( 作 者 为 元 智 网 推 会 Linux小 组 成 员 , E-Mail:s844074@moon.yzit.edu.tw)