
                         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 ,
         crontab м:

        0 6 * * * innd/expirepost /home/bbs 30 2000 100 >> delmsg.lst

            ÿ賿 6:00 ͻԶִ expirepost,  30 ǳ
        2000  "" , ƪѾ Mark ܱ,
        Զᱻ. ѱվ, ǻϱ. 
        վŵ»ں, ˻ĿĴ, Ǿ
        ̫.

             default ı, Ҫܾû
        ̵ܶ, ޸ innd/expire.ctl, :

        cmd> cat expire.ctl
        test            2    300 20
        sysop           1000

        Ҳ˵ test board ֻҪ,  300 ,  20 .
        sysop board Ҫ 1000 .


-----------------------------------------------------------------------------
¡趨ת
   4-1.  tw.bbs.* ת
            ½ inn news Ϊ, Ŀǰ tw.bbs.* ѳϰٸͬʵ
         (ϸбĸ¼), ЩתŰ, 
         inn server , 趨ĵ:

        a. newsfeeds
            news server תŵ趨, ָѡ tcp port.
           Ϊʹ newsfeeds 趨, ṩο:

           # ʹ˳Ѷվ
           phoenix\
             :!*,tw.bbs.*,csie.bbs.adm.*\
             :Tc,Wnm,S4096\
             :/home/inn/news/bin/nntplink -P 7777 -k bbs.csie.nctu.edu.tw

           һе phoenix  BBS վ bbsid (innd/bbsname.bbs ),
           ڶе !*,tw.bbs.*,csie.bbs.adm.* ָֻ tw.bbs.* 
             csie.bbs.adm.* ת͸ bbs.csie.nctu.edu.tw, һ
             Ҳ BBS վת, .
           һ -P 7777 ָʹ tcp port 7777 ת.

        b. hosts.nntp
           ˵Щ news server/BBS վɴЩ, :

           # ʹ˳Ѷվ
           bbs.csie.nctu.edu.tw::!*,tw.bbs.*,csie.bbs.*

            ":" λ, һΪ news server/BBS վ hostname,
           ſɽܵ, 趨ͬ newsfeeds


        趨, ִ ctlinnd , :

        cmd> ctlinnd reload newsfeeds 'the reason of reload ...'
        cmd> ctlinnd reload hosts.nntp 'some text ...'

        ʱ inn server 趨Ѿ,  bbs վ趨ųʽ,
        趨ĵ:

        a. innd/bbsname.bbs
           ŹվӢ, һ̵ĴӢ, 罻ʹ BBS 
           phoenix,  id תŵ·, Ƿ loop, 
           ظ.  inn server 趨Ӧ.

        b. innd/nodelist.bbs
           趨 news server/BBS  id, hostname . ԱվΪ:

           # This is a sample nodelist.bbs
           # name          hostname & domainname       full name
           #-------        --------------------------  ------------
           phoenix         csie.nctu.edu.tw            ʹ˳Ѷվ
           bbsroute        gopher.csie.nctu.edu.tw     ʹ News server

           һ趨 phoenix Ϊ "ʹ˳Ѷվ", 
              header  "վ: ʹ˳Ѷվ". 趨
             hostname Ϊ csie.nctu.edu.tw, ת͵ inn server ·
              "userid.bbs@csie.nctu.edu.tw", վ趨 email.
           ڶ趨 news server Ϊ bbsroute, λַ gopher.csie.nctu.edu.tw,
             תŽ˻ nntp port (port 119).

        c. innd/newsfeeds.bbs
           趨Щ newsgroups Ҫ BBS վЩ boards ת, 趨:

           # This is a sample of newsfeeds.bbs
           #  newsgroups                   board           news server
           #-----------------------------  --------------  -----------
           local.sysop                     sysop

           tw.bbs.alumni                   schoolmates     bbsroute
           tw.bbs.alumni.hchs              hchs
           tw.bbs.campus                   campus          bbsroute
           tw.bbs.campus.activity          activity        bbsroute
           tw.bbs.campus.advancededu       advancededu     bbsroute
           ...

           תȫ͸˵, , tw.bbs.alumni վڵ
           schoolmates ͸ bbsroute  news server ת, newsgroups  
           boards Ʋͬ, Ҳ͸ͬ news server ת.
           sysop board  local , ת, 趨 local.sysop
            sysop ͸κ news server ת. (հ)
           tw.bbs.alumni.hchs ûӦ local , Ҳ
           . յ news server ʱ (Ϊ news 趨 tw.bbs.* ȫ)
           ͻԶ¶.


   4-2. ͬʱ news server ת
            Ҫͬʱ news server ת, ҪϷ news server
        address ŵ nodelist.bbs , תųʽ.  news
        server  address ʲ, ֱ telnet Կ, :

            cmd> telnet bbs.csie.nctu.edu.tw 7777
            Connected to bbs.csie.nctu.edu.tw.
            Escape character is '^]'.
            502 You are not in my access file. (nobody@news)
            Connection closed by foreign host.

        , 502 You are not in my access file ǲϷת,
        ֮ (nobody@news) ʾε connection  nobody  news ⲿ
	תųʽ. Ҫ nobody@news תųʽ, 
        nodelist.bbs ڼһ:

           xxxx            news				ʹ News Server

        ϵͳ news ת.

        Ϊʹ path һ, תųʽԶ address  .edu.tw ,
        ͬʱ bbsroute (gopher.csie.nctu.edu.tw), news.csie.nctu.edu.tw
        ת, 趨:

        a. innd/nodelist.bbs
           # This is a sample nodelist.bbs
           # name          hostname & domainname       full name
           #-------        --------------------------  ------------
           phoenix         csie.nctu.edu.tw            ʹ˳Ѷվ
           bbsroute        gopher.csie.nctu.edu.tw     ʹ News server
           news.csie.nctu  news.csie.nctu.edu.tw       ʹ News server

        b. innd/newsfeeds.bbs
           # This is a sample of newsfeeds.bbs
           #  newsgroups                   board           news server
           #-----------------------------  --------------  -----------
           csie.bbs.sysop                  sysop           news.csie.nctu

           tw.bbs.alumni                   schoolmates     bbsroute
           tw.bbs.alumni.hchs              hchs
           ....

        ͬʱ bbsroute  news.csie.nctu ת.


   4-3. 趨ת: һԶ, һ, ֻת, ֻת

        a. һԶת: (ex: nctu board --> nctu.talk + tw.bbs.campus.nctu)
            newsfeeds.bbs ֻתһ news server, ޷д,
           Ŀǰ͸ inn server, ͸һר crosspost ĳʽ,
           趨 help@csie.nctu.edu.tw ѯ.

        b. һת: (ex: tw.bbs.test + csie.test --> test board)
           tw.bbs.test                     test            bbsroute
           csie.test                       test            bbsroute

           , tw.bbs.test  csie.test ¶͸ test board,
            test board ֻ͸ tw.bbs.test. (first match)

        c. ֻת벻ת: (ex: tw.bbs.campus --> campus)
           local.campus                    campus
           tw.bbs.campus                   campus          bbsroute

           , tw.bbs.campus ͸ campus,  campus ͸κ
           . (local.campus հ)

        d. ֻתת: (ex: newboards -> tw.bbs.newgroups)
           tw.bbs.newgroups                null
           tw.bbs.newgroups                newboards       bbsroute

           , newboards ͸ tw.bbs.newgroups,  tw.bbs.newsgroups 
           ת (null հ), 


-----------------------------------------------------------------------------
¼ A. ĿǰѼת֮ BBS վ SYSOPs б:

[̨]
  ʡ AIDE Ѷվ    mfchen, jjyang, ckhuang
  ̨Ҭַվ      Muyi, jjshen, samlee
                          (ݣJoeChen)
  ̨ Maxwell վ     karl, ke, dos, Gamma
   BBS            torch, (tarco)
                          (ݣidle, fuzzy)
  ʦѶ ice BBS        tsung, cclljj, guava
  Ѷվ          ariel, Jackey, Alamy, seaprince, Gary, games
  ͬʹѶվ  dennies, Prince, alarm, aresu
                          (ݣgames, Alamy, Rainman, jie, deer)
  ʹ BBS վ         jlwang (head)
                          (ݣChong)
  ˷̱ǡ      yuki, kk, stock, Jinn, kids,
                          (Ļ֣juru, kftseng : games, Alamy)
  йѶվ          chrisc, jasonc

[, ԰]
  ʹèѶ    icebaby, newtype, xfish, Pentium
  ѧηѶվ  jeffer, mhchang, sch
  ѧԺ BBS        chenkow, kevin
  ԭվ      kaien
  ԭѧ BBS            kaien, francis, bee, tawei, awe
                          (Ļ֣pony)

[]
  ʹ˳Ѷվ    denia, yisho
                          (ݣmfchen, jjyang, ckhuang, cuteyu, ucc)
  ʿ BBS            helios, seafish, william, dwyan, bear
                          (ݣhugo, Atlantis, byte, ming)
  һ              PHey, OSKy, bactery, root, Jiang
                          (ݣCHe, foxfair, Tristan, BW)
  廪            Sun, Wind, chef, Frank
                          (Ļ֣ax, batman, biker, yann)
  ѧͨѶ        simon, Pachinko
  廪Ѷվ        chp, pilot, chiayi, opus
  лѧԺѶվ    Samson.Chen, Einstein.Lin, Marcus.Hsu, Jones.Tsai
                          (ݣCodex.Chen, Anada.Chien, Aquarius.Kuo,
                                 Henry.Chen)

[̨]
  ˴ѧѶ      alexfish, (: KP, DS)
                          (Ļ֣kftseng)
  ײѶ          foxes, scke, Richie, LAI, YUNG

[]
  ѧįСվ    BBSLouis, Custom, Jimmy, kftseng, wyw, shchen

[̨]
  ɴѶ_BBS          juru, lindj, foxfair, amychen

-----------------------------------------------------------------------------
¼ B. tw.bbs.* б:

[Ⱥ]
csie.bbs.adm.*                   BBS վЭ
tw.bbs.alumni.*                 УȺ
tw.bbs.campus.*                 У԰Ⱥ
tw.bbs.comp.*                   Ⱥ
tw.bbs.forsale.*                г
tw.bbs.lang.*                   Ⱥ
tw.bbs.literal.*                ѧȺ
tw.bbs.music.*                  Ⱥ
tw.bbs.rec.*                    СȺ
tw.bbs.sci.*                    רѧȺ
tw.bbs.soc.*                    
tw.bbs.sports.*                 ˶Ⱥ
tw.bbs.talk.*                   ̸˵ءŵ

[һ]
csie.bbs.adm.manager             BBS վ
csie.bbs.adm.sysop               BBS վ
tw.bbs.alumni                   У
...
tw.bbs.test                     ר

ע: tw.bbs.* ϸб tw.bbs.config newsgroup  BBS վ
     config board ·Э߲ѯ.

