如何架FireBird BBS服务器?

本文共有21106个字,页面加载耗时0.001秒,关键词:telnetbbsfirebird服务器linux

原文地址:
http://famousky.com/article.asp?id=843

  火鸟BBS(FirdBird BBS system)系统是目前国内比较常见的BBS系统,该系统安装方便,支持平台多,编译、修改都很容易,最新版本是2.66M简体中文版,该版本在
GNU Public Licence下发行,可任意拷贝及修改,本文将笔者在Linux系统下安装与维护火鸟BBS系统的经验介绍给大家,仅供参考。 

1.安装火鸟BBS系统 

1.1.安装之前 

  首先,必须考虑计算机配置是否足够应付日益增多的上站人数?一般情况下,内存是最重要的,其次是硬盘。大约32MB内存可以支持大约30人同时访问,而信件和讨论区的文章大约每篇1~2KB,因此,速度快、容量大的硬盘是首选。 

1.2.取得软件 

  国内很多站点有FireBird BBS系统源代码供大家自由下载,https://github.com/codechive/FireBird,找到后,用FTP上传到/home目录下,使用下面的命令把这个文件展开: 


  tar zxvf FirebirdBBS2—66M—GBCoded.tgz 

  展开后,在/home下会建立bbsadm目录,含有BBS系统全部的源代码及技术文档。 

1.3.建立用户 

  在安装BBS系统之前,先在系统中加入以下三位使用者,可以直接用Vi在/etc/passwd文件内加入以下内容(也可以使用adduser命令增加): 

  bbsadm::9990:99:BBS admin and developer:/home/bbsroot:/bin/csh 
  bbs::9999:99:BBS user:/home/bbs:/home/bbs/bin/bbsrf 
  bbsuser::9999:99:BBS user:/home/bbs:/bin/csh 

1.4.设定BBS组用户及shell程序 

  为方便管理目录的读写权限,在Vi下编辑/etc/group,加入以下内容: 

  bbs:*:99:bbs,bbsuser,bbsadm 

  在 /etc/shells 中加入 /home/bbs/bin/bbsrf。 

  在 /home下建立 bbsadm 和 bbs 两个目录: 

  chown bbsadm.bbs bbsadm 
  chown bbs.bbs bbs 

1.5.设定BBS系统环境 

  从bbsadm登录到Linux,在/home/bbs—src/ 目录下执行cd CONFIG ; ./configure 

  执行的过程如下: 

  Home directory of BBS → [/home/bbs] → bbs 目录所在 
  UID of BBS → [9999] → bbs 的系统 User ID 
  GID of BBS → [99] → bbs 的系统 GID 
  ID of BBS admin → [9990] → bbsadm 的系统 UID 
  The ID of your site → [NoName] → 贵站的英文代号 
  The name of your site → [Hibiscus Realm BBS] → 贵站名称 
  The domain name of your site → [some.where] → 贵站域名 
  The ip address of your site → [127.0.0.1] → 贵站 IP address 
  Maximum number of users → [20236] → 最大使用人数 
  Maximum number of boards → [256] → 开版最大数目 
  Maximum number of on-line users → [256] → 最大同时上线 

  人数 

  Show idle time of BBS users ? → [Y] → 显示 idle 时间 
  ........................................ 
  updating cache ./config.cache 
  creating ./config.status 
  creating Makefile 
  creating config.h 
  creating Install.sh 

1.6.编译BBS系统前的准备 

  configure会生成必要的 Makefile 文件。顺利的话,应该可以在 bbs—src/ 目录下找到Makefile。若有必要,可以再用Vi手动修改。 

  在 /home/bbs—src/ 下编辑 config.h,在编译之前可对它作一些手动的修改。同一个目录下可找到chat.h, 可以更改
chat room 的 port number 和名字。 

1.7.编译BBS系统 

  在/home/bbs—src/下执行 make,开始进行编译,这个过程大约要运行1~2分钟。如果你是按照本文所要求的配置进行的话,那么,/home/bbs—src/目录下就会产生bbs、
bbsrf、chatd 以及 thread 这四个可执行文件。表明BBS系统的编译工作已经完成。 

1.8.安装BBS系统 

  以root登录Linux, 在 /home/bbs—src 目录下执行: 

  make install 
  make installchatd 
  make installthread 

  至此,安装工作完成。 

2.初始化火鸟BBS系统 

  2.1.取得SYSOP权利 

  Telnet到BBS主机,然后以bbs登录, 可见到 BBS的Login画面。此时,当BBS系统要求输入ID时,请输入New,以便注册一个新使用者。由于名称为SYSOP的使用者拥有一切权利,因此您必须先注册为SYSOP,并且设定密码。请注意:SYSOP必须完全大写。 

  接下来,再替guest登记账号,此账号为BBS的参观账号,不需输入密码即可进入BBS。如果不想提供guest账号,可以略过此步骤,记住把guest
加入“不可注册之ID”的名单内。通常guest账号是只能参观,不可发言的,因此不具有发表文章或聊天的功能。 

2.2.修改/home/bbs/etc/sysconf.ini 

  以下简要说明sysconf.ini中各选项的含义: 

  # comment 
  BBSHOME =“/home/bbs” ←设定 BBS 的 home directory 
  BBSID = “MSIA” ←设定 BBS 的 ID 
  BBSNAME = “大红花的国度” ←设定 BBS 的中文站名 
  BBSDOMAIN=“MSIA.pine.ncu.edu.tw” ←设定BBS的 
  Domain Name 
  BBSIP = “140.115.210.77” ←设定 BBS 的 IP Address 
  KEEP—DeleteD—HEADER = 0 ←设定讨论区被砍文章 

  是否保留被砍标题 

  EMAILFILE = “etc/mailcheck” ←如果把这行前面加上 
  # 就不寄身份确认信 
  #NEWREGFILE = “etc/newregister”←如果把这行前面 
  # 拿掉就有新手三天限制 

  注意:修改完sysconf.ini后,请转到BBS主选单,按shift +′~′ 或者删除掉 /home/bbs/sysconf.img,以便更新系统设定 

2.3.修改/home/bbs/etc/menu.ini 

  在 %S—MAIN 与 % 中的文字都作为背景。 

  下面的一行是menu.ini中标准的一行,如果前面加上“#”,表明禁止这一行起作用;M—EGROUP中的“E”表示这一行代表的选单可以按“E”进入;(3,0)表示从第3行0列开始显示;如果是(0,0)表示接着上一行显示;后面的“0”表示不限制任何权限,可以自由使用;如果这一项是“PERM—BASIC”,表示需要具有基本权限才能使用。 

  !M—EGROUP 3, 0, 0, “EGroup”, “E) 分类讨论区” 

2.4.修改/home/bbs/etc/mailcheck文件 

  这个文件是在做身份确认的时候,回复给注册者的信笺内容,如果你的站点需要身份确认,那么必须更改。 

2.5.修改/home/bbs/etc/newregister注册说明文件 
  说明注册后具有的权利。 

3.火鸟BBS系统维护 

  在home/bbsadm/bbs—src/local—utl下有一些程序, 安装BBS系统时并未安装,可以参考以下的说明来安装这些外部程序,以帮助我们完成一些感兴趣的工作。 

3.1.上站人数统计 

  修改/home/bbsadm/bbs—src/Makefile,把-DINVISIBLE去掉后重新make bbsrf。

  接下来,到/home/bbsadm/bbs—src/local—utl下,修改averun.c的内容,将其中的站点名字改为你自己的中文站名,
然后编译这个程序: 

  gcc -o averun averun.c 

  把编译好的averun拷到/home/bbs/bin,并在/home/bbs/下建立cron.bbs,加入以下内容: 

  0,5,10,15,20,25,30,35,45,50,55 * * * * (/usr/bin/uptime >> 
  /home/bbs/reclog/uptime.log) 
  57 * * * * (/home/bbs/bin/averun /home/bbs/reclog/uptime.log; 
  /bin/rm /home/bbs/reclog/uptime.log) 
  56 0 * * * (/bin/mv /home/bbs/0Announce/bbslist/today 
  /home/bbs/0Announce/bbslist/yesterday; /bin/rm 
  /home/bbs/reclog/ave.src) 

    然后用bbsuser的身份登录Linux, 建立/home/bbs/reclog目录,用来存放统计用的资料。 

  之后,再进入BBS的精华区,在精华区主目录建立一个bbslists目录(用g功能),在bbslists目录下建立两个文件:一个叫today(今日上站人数统计),另一个叫yesterday(昨日上站人数统计)。然后返回Linux提示符,
在/home/bbs/目录下,用bbsuser身份执行crontab cron.bbs,以后系统就会自动更新这两个文件的内容。这样,在每次上线的时候,用户就会看见每5分钟更新一次的上站人数统计了。 


3.2.十大热门话题统计 

  进入home/bbsadm/bbs—src/local—utl目录,编译poststat.c: 

  gcc -o poststat poststat.c 

  再把poststat拷贝到/home/bbs/bin目录下,建立/home/bbs/etc/posts目录 

  进入BBS,在bbslists目录下建立四个新文件day、week、month、year,分别是本日十大热门话题、 本周十大热门话题等。然后用bbsuser登录Linux,把/home/bbs/etc/posts下的对应文件连接至这里: 

  rm ~bbs/0Announce/bbslists/day 
  ln -s day ~bbs/0Announce/bbslists/day 

  其余依此类推。再修改/home/bbs/cron.bbs,加入如下叙述: 

  10 * * * * (/home/bbs/bin/poststat /home/bbs) 

  在/home/bbs/目录以bbsuser身份执行crontab cron.bbs,之后每隔1小时会做一次统计。 

3.3.安装自动登录BBS shell 

  首先你必须安装standalone-telnetd→这个telnetd Daemon,这个Daemon取代原先的in.telnetd管理的port
23(telnet协议所用的默认的口地址), 当有用户telnet过来时,便自动执行一个进程, 然后自动login:bbs。 

  (1)去上面说的Linux资源中找到telnetd—stmo.tgz,把这个文件下载到本地。 

  (2)展开 telnetd—stmo.tgz后,把OS.list拷贝到/usr/local/etc下。这个文件内容是一堆操作系统的名称,以后在别人登录的时候,随机取其中一行内容,
当别人telnet登录过来时显示,别人就搞不懂你这个站点到底是什么系统的了。 

  (3)把telnetd拷贝至/usr/sbin下。 

  (4)修改/etc/inetd.conf,找到以下的内容: 

  telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd 

  把其中的telnet改成telnet1。 

  (5)修改/etc/services,在最后一行加上 
  telnet1 2000/tcp # previous in.telnetd daemon 

  (6)查找inetd的进程号,并取消进程。 

  ps aux |grep “inetd” 
  kill -HUP (上面找到的PID进程号) 

  重新启动inetd (或重新开机也可)。 

  此时, 使用者telnet到你服务器的2000口时,就执行你原来的shell,便会出现原先的login画面。这时,你就可以使用原来的账号登录了。

 

另附一篇:


1)Firebird是什么? 
Firebird是Unix/Linux平台下的一个 bbs系统,由发展pirate,phoenix等系统发展而来,目前日月光华站才用的是Firebird2000的系统 
web界面才用的是nju 的 bbs2www,已经根据光华站的要求,经过不少的修改 

2)日月光华的历史 
日月光华站是复旦大学的bbs 
日月光华的域名是 http://bbs.fudan.edu.cn  同时可以由telnet方式登录: telnet://bbs.fudan.edu.cn 
日月光华成立于1996年4月19日,到今天已经9个年头了 

3)如何在自己的机器上面安装Firebird 
代码在官方的bbs可以下载到: 
http://bbs.fudan.sh.cn/software/fdubbs.tar.gz 
这里包括 telnet的和www的代码,未包括界面的html和图片,需要说明的是,这不是最新的代码,光华的代码正在不断完善中 

4)安装步骤 
1)首先要有一个 Linux系统,这个版本在window下面是不能用的  

 
2)建立一个名为 bbs的组和名为 bbs的用户,命令是 addgroup 和 adduser,密码自己选,不过要用户组的id和用户的id都是9999,将此用户主目录设置成 

/home/bbs(linux缺省就是这个目录) 
3) 在/home下解开bbsbase.tar.gz(这一堆东西在官方没有..

这是已经编译好的代码和一些配置文件,可以正式运行) 如果目录bbs的属主显示不是bbs 
       请执行chown bbs:bbs bbs -R 命令 
4) 将fdubbs.tar.gz 在任一目录下解开(比如说/home),如果对源代码更改后 
       请到源代码的主目录下,执行make update,以更新bbsd程序 
       如果需要使用web程序,请再进入www目录,make all;make
install 
5) 运行bbs程序(需要有root权限,linux下面只有root才能运行监听1024以下端口的程序) 
       cd /home/bbs/bin 
       ./miscd daemon 
       ./bbsd 23 
如果顺利的话就可以运行telnet 你的ip进入bbs了 
6)如果想要运行web方式的bbs,必须运行apache ,并且把bbs cgi部分的程序放到/home/httpd/cgi-bin下面,将apache的cgi目录也配置到这个目录下面 
并且将web部分的html拷贝到/home/httpd/html下,将httpd.conf作相应的配置 

7) 该程序的运行需要这样几个库: gd,termcap,crypt,dl,如果没有安装需要另行安装,实际运行时我发现只要作几个连接一般就能解决问题 

8) 如果想要调试bbsd程序,请在makefile里的 CFLAGS中加上-g选项 
运行这样几个命令可以更新 
       make clean 
       make update 
     
9)   想要调试某一特定的进程 
            .
到/home/bbs/bin目录下,执行gdb bbsd -p pid值 
            .
按b设置断点, 
            .
按c继续运行,直到运行到断点或结束

扫码在手机查看