⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 高校中很流行的BBS系统源码 FireBird BBS 3.0 简体中文注释
💻
📖 第 1 页 / 共 2 页
字号:
                        连线 BBS 站转信程式安装说明                                        by: mfchen@csie.nctu.edu.tw前言            由於本转信程式发展时间仓促, 未尽完善之处请多多包涵. 目前在各        校的 news server 内有一 tw.bbs.admin.installbbs 讨论区, 并且已经        与各大 BBS 站的 installbbs 讨论区互相转信. 各位 BBS 管理者可透过        此讨论区与其它 BBS 站的管理者互相讨论, 交换系统与管理方面的心得,        欢迎大家多多利用.第一章、简介   1-1. BBS 站简介            所谓 BBS 是 Bulletin Board System 的缩写, 也就是指电子布告栏        系统,这套系统提供使用者透过电脑网路连到 BBS 站,透过站内各种不同        种类的讨论区交换讯息。   1-2. 转信程式简介            转信程式主要的目的是 "将不同 BBS 站内讨论区的文章互相交换,        达到资讯交流的目的。" 本转信程式架在 Eagle BBS 与 Internet News        Server 上,将 BBS 站的文章与 News Server 上的文章互相交换,再透        过 News Server 与全世界互通讯息。   1-3. 安装前注意事项            请特别注意,在您开始下一章的安装之前,请一定要将整个 BBS 站        做最完整的备份,尤其是使用者的资料与各讨论区的文章,由於转信程式        将更改使用者资料与新增讨论区文章,一不小心就可能将原先系统内的资        料破坏掉,请一定要做好备份,以免遭受不可预期之损失。            此套转信程式利用 perl 写成, 请事先安装好 /usr/local/bin/perl,        此外 parsedate 原始码由 yacc 写成, 一般系统应已具备 yacc compiler.-----------------------------------------------------------------------------第二章、安装转信程式   2-1. 如何取得转信程式 package            要转信首先得拿到 bbsinnd 的 package, 此 package 可由交通大学        资讯工程系的 ftp server 上取得, 请 ftp ftp.csie.nctu.edu.tw,        取回 /pub/bbs/src/bbsinnd.tar.gz            如果贵站的 BBS 程式取自於交大资工 ftp 之 PhoenixBBS.*,        该 package 之 bbs_src/innd 目录下即附有转信程式所需之档案.   2-2. 档案列表与功能介绍            将 bbsinnd.tar.gz 取回後用 gunzip 和 tar 将程式解开, 详细动        作请看 2-3 说明. 此 package 包括下列档案.         目录一: innd/          Makefile ------- 造出 bbspost & parsedate 程式的 makefile.          README --------- 本说明文件.          bbslib.pl ------ 转信程式函数库.          bntplink* ------ 将文章从 bbs 转到 news 的转信程式.          expire.ctl ----- 设定特殊讨论区的文章保留天数.          expirepost* ---- 砍掉讨论区内过期的文章.          in.bntpd* ------ 接受 news server 文章之 daemon 程式.          inntobbs* ------ 将文章从 news 转到 bbs 的程式.          mailpost* ------ 将 e-mail post 的文章转到 bbs 的程式.          rfc931.pl ------ 呼叫 remote host 的 identd, 检查身份用.          tcp.pl --------- 使用 tcp port 当 server/client 的 library.        目录二: innd/src/          bbspost.c ------ bbs 站文章处理程式.          modify.doc ----- 跨站砍信设定方式 (更改 bbs source)          parsedate.c ---- 日期转换程式 (c language)          parsdate.y ----- 日期转换程式 (yacc language)   2-3. 安装转信程式            以下详细说明如何将砍信 package 安装好, "cmd>" 为 unix 提示符号,        假设 bbs 的目录在 /home/bbs, 系统 source 放在 /home/bbsroot/bbs_src,        bbsinnd.tar.gz 放在 /tmp.        cmd> cd /tmp        cmd> gunzip bbsinnd.tar.gz        cmd> cd /home/bbsroot/bbs_src        cmd> tar xvf /tmp/bbsinnd.tar           # 将 bbsinnd.tar 解开        注: 如果您使用的 BBS 程式是交大资工 Phoenix BBS, 可跳过以上步骤,            /home/bbsroot/bbs_src/innd 已经附上转信程式了.        cmd> cd /home/bbsroot/bbs_src/innd        cmd> make                               # 造出 parsedate & bbsroot        注: 如果 make 的过程出现 structure has no member named `tm_gmtoff'            请改用 'make CFLAGS=-DDONT_HAVE_TM_GMTOFF' 命令.        cmd> mkdir /home/bbs/innd               # 造出 ~bbs/innd 目录        cmd> cp * /home/bbs/innd                # 将转信程式放入 bbs 中.        cp: src: Is a directory (not copied).   # src 是目录, 不须 copy            接下来到 /home/bbs/innd 目录下编辑以下档案:        a. bbsname.bbs           设定贵站的英文代号, 这个代号必须是一个字, 不能有空白, 也不能与           其它站相同, 转信之後不得更改. 请谨慎为您的 BBS 站命名.           档案中只能有一个英文字,           例如: 测试站可命名为abcbbs        b. nodelist.bbs           记录自己的 BBS 站中文站名与转信站的位址, 每一行包括三个栏位,           第一个栏位是名称, 第二栏位是机器位址, 第三个栏位是中文名称.           通常第一行放自己的 BBS 站站名 (bbsname.bbs 中所定的名称),           机器位址 (通常是用 hostname + domainname) 以及贵站中文全名.           其它 (第二) 行记录转信的 news server 名称、位址及名称.           例如:abcbbs    bbs.???.????.edu.tw             请自行设定 BBS 站中文全名bbsroute  gopher.csie.nctu.edu.tw         交大资工 News server        c. newsfeeds.bbs           记录 news server 的 newsgroups 与 bbs 的 boards 转信设定.           每一行包括三个栏位, 第一个栏位是 newsgroup 全名, 第二栏位           是 board 名称, 第三个栏位是转信站名称.           例如:tw.bbs.test     test            bbsroute-----------------------------------------------------------------------------第三章、测试转信程式   3-1. 将 news server 之文章送给 BBS            首先测试 perl 转信程式是否能够正确执行, 请使用 bbs 身份的帐号        (叁考 PhoenixBBS.README, 3.1 设定与 BBS 相关的帐号, bbsuser 的设定)        执行 'in.bntpd', 观察能否正常执行:   【注意】 不能用 root 执行.)        cmd> innd/in.bntpd        Usage: bbsinnd bbs_home                           # 正确讯息.        PS: in.bntpd 必须由 inetd 执行才正确, 直接执行会有错误讯息.            cmd> innd/in.bntpd /home/bbs            x outside of string at /home/bbs/innd/tcp.pl line 461.            能够执行 in.bntpd 後, 请将 in.bntpd 加入 inetd services 中,        请设定以下档案: (假设使用 post 7777 接收转信)   【注意】 有上 yp 者请至 yp server 更改 services.        a. 在 /etc/services 档案中加入bbsinnd     7777/tcp                # For BBS innd        b. 在 /etc/inetd.conf 档案中加入bbsinnd stream tcp nowait bbs /home/bbs/innd/in.bntpd in.bntpd /home/bbs             设定好之後必须让 inetd 重新启动, 如果有 identd 请先将 identd        的 process kill 掉, 然後执行 kill -1 xxxx (inetd 的 pid), 然後试着         telnet 到 bbsinnd port, 如果能够 connect 并出现 502 错误讯息就行了.        cmd> telnet bbs bbsinnd        Connected to bbs.csie.nctu.edu.tw.        Escape character is '^]'.	502 You are not in my access file. (???@???.???.edu.tw).        Connection closed by foreign host.   【注意】 出现 "bbsinnd: bad port number" 表示 services 设定有问题,            请再次检查 /etc/services 或 yp 的 services 是否设定正确.            接下来测试 news server 到 bbs 的转信功能, 请将 nodelist.bbs,        newsfeeds.bbs, tcp port # 和 hostname.domainname 的资讯 post 到        tw.bbs.admin.installbbs 讨论区 (或各 BBS 站的 installbbs 讨论区)        请求区域网路内的 news server 帮忙转信. 如果有问题请与 news server        的管理者联络, 设法解决问题. 详细设定方法请叁考第四章之说明   3-2. 将 BBS 之文章送给 news server            如果收信都没问题之後, 请依照以下步骤测试送信:        cmd> cd /home/bbs        cmd> innd/bbspost visit /home/bbs       # 第一次执行会非常久        New article listed:        test    M.770323413.A   SYSOP   测试文章 ...        ....                                    # 列出所有未送信文章            接下来到 test board post 一篇测试文章, 然後执行下列命令        cmd> innd/bntplink /home/bbs        执行後请到 tw.bbs.test 讨论区看看文章是否转过去了, 如果有问题        请再与 news server 管理者联络, 找出问题 所在.            手动转信成功之後, 可将送信程式加入 cron 中. 使用 bbs 身份的        帐号 (ex: PhoenixBBS 的 bbsuser 帐号) 执行 crontab -e, 设定每隔        十分钟到一小时转信一次. 例如:        cmd> crontab -e        5,15,25,35,45,55 * * * * innd/bntplink /home/bbs > /tmp/portnum        然後再到 test board post 测试文章, 等系统用 cron 将文章送出去        如果在 tw.bbs.test 能看到该测试文章, 那就没问题了.   3-3. 设定跨站砍信功能            请叁考 innd/src/modify.doc 所示, 将 cancelpost() 加入 BBS 站        source 中的 bbs.c 程式内, 日後 user 砍信时会将讨论区和档案名称        记录在 ~bbs/cancelpost.lst 中, 下次执行 bntplink 时就会送出这些        文章的 control message, 将转信出去的文章砍掉.            修改 bbs.c 完成後请到 test board 将一篇 "已经转信出去的文章"        砍掉, 然後到 ~bbs 看看是否有 cancelpost.lst 档案存在, 等 cron 将        cancel message 送出去後再到 aidebbs 的 test board 看看该篇测试文        章是否已经被砍掉. 跨站砍信後该篇文章的 userid 会加上 "-" 变成:          331   -wolfchen      Re: IBM test ...                ^^^^^^^^^        发信人: wolfchen.bbs@ccibm1.csie.nctu (资工小蜜蜂), 信区: test        标  题: Re: IBM test ...        发信站: 交大资工 IBM BBS (Wed Jun  1 14:00:00 1994)        转信站: cuckoo!bbsroute!csie_ibm        Article cancelled from wolfchen@csie_ibm within bbs [v1.0]        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^            为了让砍信的动作快一点, 此篇文章仍然会出现在 title 画面,        原来的 article 会放在 M.7704xxxxx.A.cancel 档案内, 直到下次执行        砍旧信 (expirepost) 的动作时才会和 title 一起被砍掉, 详细情形        请看 3-5 节 定期砍旧文章.   3-4. 利用 email post 文章            首先设定 BBS 的 .forward, 使收到的 email post 文章转向给        mailpost, .forward 档格式如下: (包括前後的引号!)        "| /home/bbs/innd/mailpost /home/bbs"        利用 email post 可接受一般 8-bits 的信件, 也可以接受 uuencode        过的信件, mailpost 程式遇到 uuencode 格式的信件会自动将文章        decode 之後再 parse 信件格式.            信件格式必须包括四个项目, 格式及说明如下:        #name: guest            使用者帐号, 必须事先注册过才行.        #password: guestpwd     使用者密码, 程式会检查密码是否正确.        #board: test            讨论区英文名称, 文章会放入该讨论区内.        #title: 测试文章标题    文章标题, 可用 8-bits 中文标题.        如果检查 password 无误, 就会将文章直接放入 boards 中, 值得一提        的是在此并不检查 user 在该讨论区是否有 post 的权力. 因为 email        post 可查出使用者的帐号, 基於网路互信互利的原则, 不多做限制,        如果有 user 滥用此权力, 可再考虑加以限制.            此外, 为了避免干扰其它 news 使用者阅读文章, 利用 email post        的文章标题将不允许使用 ansi 控制码, 所有 ESC (27) code 都会自动        转换为 "^[" 两个字元.            如果要限制某些特定的使用者不能 email post, 可将这些使用者的	email address 放在 ~bbs/innd/email.deny 档案内, 此 user 的 email	将不被接受, 并 post 到 junk board 内.   3-5. 定期砍旧文章            本转信程式提供定期砍旧信的程式 (expirepost), 这个程式能够限制        系统内各讨论区的文章只能保留 "一定天数" 和 "一定篇数", 举例来说,        如果只要保留最近一个月, 最多 2000 封文章, 最少 100 封文章,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -