
                        su BBS H{w˻

                                        by: mfchen@csie.nctu.edu.tw

e

            ѩH{oiɶܫP, ɧBЦhh][. ثebU
        ժ news server @ tw.bbs.admin.installbbs Qװ, åBwg
        PUj BBS  installbbs QװϤH. U BBS ޲z̥izL
        QװϻP䥦 BBS ޲z̤۰Q, 洫tλP޲z譱߱o,
        wjahhQ.


Ĥ@B²
   1-1. BBS ²
            ҿ BBS O Bulletin Board System Yg, ]NOqlGi
        tΡAoMtδѨϥΪ̳zLqs BBS AzLUؤP
        Qװϥ洫TC


   1-2. H{²
            H{DnتO "NP BBS QװϪ峹ۥ洫A
        FTyتC" H{[b Eagle BBS P Internet News
        Server WAN BBS 峹P News Server W峹ۥ洫AAz
        L News Server P@ɤqTC


   1-3. w˫e`Nƶ
            ЯSO`NAbz}lU@wˤeAФ@wnN BBS 
        ̧㪺ƥAרOϥΪ̪ƻPUQװϪ峹AѩH{
        NϥΪ̸ƻPsWQװϤ峹A@pߴNiNtΤ
        Ư}aAФ@wnnƥAHKDiwlC

            MH{Q perl g, Шƥw˦n /usr/local/bin/perl,
        ~ parsedate lX yacc g, @tw yacc compiler.



-----------------------------------------------------------------------------
ĤGBwH{
   2-1. poH{ package
            nHo bbsinnd  package,  package iѥqj
        Tu{t ftp server Wo,  ftp ftp.csie.nctu.edu.tw,
        ^ /pub/bbs/src/bbsinnd.tar.gz
            pGQ BBS {۩ju ftp  PhoenixBBS.*,
         package  bbs_src/innd ؿUYH{һݤɮ.

   2-2. ɮצCP\श
            N bbsinnd.tar.gz ^ gunzip M tar N{Ѷ}, ԲӰ
        @Ь 2-3 .  package ]AUCɮ. 

        ؿ@: innd/
          Makefile ------- yX bbspost & parsedate { makefile.
          README --------- .
          bbslib.pl ------ H{Ʈw.
          bntplink* ------ N峹q bbs  news H{.
          expire.ctl ----- ]wSQװϪ峹OdѼ.
          expirepost* ---- 屼QװϤL峹.
          in.bntpd* ------  news server 峹 daemon {.
          inntobbs* ------ N峹q news  bbs {.
          mailpost* ------ N e-mail post 峹 bbs {.
          rfc931.pl ------ Is remote host  identd, ˬd.
          tcp.pl --------- ϥ tcp port  server/client  library.

        ؿG: innd/src/
          bbspost.c ------ bbs 峹Bz{.
          modify.doc ----- 󯸬H]w覡 ( bbs source)
          parsedate.c ---- ഫ{ (c language)
          parsdate.y ----- ഫ{ (yacc language)


   2-3. wH{
            HUԲӻpNH package w˦n, "cmd>"  unix ܲŸ,
        ] bbs ؿb /home/bbs, t source b /home/bbsroot/bbs_src,
        bbsinnd.tar.gz b /tmp.

        cmd> cd /tmp
        cmd> gunzip bbsinnd.tar.gz
        cmd> cd /home/bbsroot/bbs_src
        cmd> tar xvf /tmp/bbsinnd.tar           # N bbsinnd.tar Ѷ}

        : pGzϥΪ BBS {Oju Phoenix BBS, iLHWBJ,
            /home/bbsroot/bbs_src/innd wgWH{F.

        cmd> cd /home/bbsroot/bbs_src/innd
        cmd> make                               # yX parsedate & bbsroot

        : pG make L{X{ structure has no member named `tm_gmtoff'
            Ч 'make CFLAGS=-DDONT_HAVE_TM_GMTOFF' RO.

        cmd> mkdir /home/bbs/innd               # yX ~bbs/innd ؿ
        cmd> cp * /home/bbs/innd                # NH{J bbs .
        cp: src: Is a directory (not copied).   # src Oؿ,  copy


            UӨ /home/bbs/innd ؿUsHUɮ:

        a. bbsname.bbs
           ]wQ^N, oӥNO@Ӧr, ঳ť, ]P
           䥦ۦP, Hᤣo. ԷVz BBS RW.
           ɮפu঳@ӭ^r,
           Ҧp: կiRW

abcbbs

        b. nodelist.bbs
           Oۤv BBS 寸WPH}, C@]AT,
           Ĥ@OW, ĤGO}, ĤTOW.
           q`Ĥ@ۤv BBS W (bbsname.bbs ҩwW),
           } (q`O hostname + domainname) HζQW.
           䥦 (ĤG) OH news server W١B}ΦW.
           Ҧp:

abcbbs    bbs.???.????.edu.tw             Цۦ]w BBS W
bbsroute  gopher.csie.nctu.edu.tw         ju News server

        c. newsfeeds.bbs
           O news server  newsgroups P bbs  boards H]w.
           C@]AT, Ĥ@O newsgroup W, ĤG
           O board W, ĤTOHW.
           Ҧp:

tw.bbs.test     test            bbsroute



-----------------------------------------------------------------------------
ĤTBH{
   3-1. N news server 峹e BBS
             perl H{O_T, Шϥ bbs b
        (Ѧ PhoenixBBS.README, 3.1 ]wP BBS b, bbsuser ]w)
         'in.bntpd', [_`:

   i`Nj  root .)

        cmd> innd/in.bntpd
        Usage: bbsinnd bbs_home                           # TT.

        PS: in.bntpd  inetd ~T, |~T.
            cmd> innd/in.bntpd /home/bbs
            x outside of string at /home/bbs/innd/tcp.pl line 461.


             in.bntpd , бN in.bntpd [J inetd services ,
        г]wHUɮ: (]ϥ post 7777 H)

   i`Nj W yp ̽Ц yp server  services.

        a. b /etc/services ɮפ[J
bbsinnd     7777/tcp                # For BBS innd

        b. b /etc/inetd.conf ɮפ[J
bbsinnd stream tcp nowait bbs /home/bbs/innd/in.bntpd in.bntpd /home/bbs 

            ]wnᥲ inetd sҰ, pG identd ХN identd
         process kill , M kill -1 xxxx (inetd  pid), Mյ 
        telnet  bbsinnd port, pG connect åX{ 502 ~TNF.

        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.

   i`Nj X{ "bbsinnd: bad port number"  services ]wD,
            ЦAˬd /etc/services  yp  services O_]wT.

            UӴ news server  bbs H\, бN nodelist.bbs,
        newsfeeds.bbs, tcp port # M hostname.domainname T post 
        tw.bbs.admin.installbbs Qװ (ΦU BBS  installbbs Qװ)
        ШDϰ news server H. pGDлP news server
        ޲zp, ]kѨMD. Բӳ]wkаѦҲĥ|


   3-2. N BBS 峹e news server
            pGHSD, Ш̷ӥHUBJհeH:

        cmd> cd /home/bbs
        cmd> innd/bbspost visit /home/bbs       # Ĥ@|D`[
        New article listed:
        test    M.770323413.A   SYSOP   դ峹 ...
        ....                                    # CXҦeH峹

            UӨ test board post @gդ峹, MUCRO

        cmd> innd/bntplink /home/bbs

        Ш tw.bbs.test QװϬݬݤ峹O_LhF, pGD
        ЦAP news server ޲zp, XD Ҧb.

            H\, iNeH{[J cron . ϥ bbs 
        b (ex: PhoenixBBS  bbsuser b)  crontab -e, ]wCj
        Q@pH@. Ҧp:

        cmd> crontab -e
        5,15,25,35,45,55 * * * * innd/bntplink /home/bbs > /tmp/portnum

        MA test board post դ峹, tΥ cron N峹eXh
        pGb tw.bbs.test ݨӴդ峹, NSDF.


   3-3. ]w󯸬H\
            аѦ innd/src/modify.doc ҥ, N cancelpost() [J BBS 
        source  bbs.c {,  user Hɷ|NQװϩMɮצW
        Ob ~bbs/cancelpost.lst , U bntplink ɴN|eXo
        峹 control message, NHXh峹屼.

            ק bbs.c Ш test board N@g "wgHXh峹"
        屼, M ~bbs ݬݬO_ cancelpost.lst ɮצsb,  cron N
        cancel message eXhA aidebbs  test board ݬݸӽgդ
        O_wgQ屼. 󯸬Hӽg峹 userid |[W "-" ܦ:

          331   -wolfchen      Re: IBM test ...
                ^^^^^^^^^
        oHH: wolfchen.bbs@ccibm1.csie.nctu (upe), H: test
          D: Re: IBM test ...
        oH: ju IBM BBS (Wed Jun  1 14:00:00 1994)
        H: cuckoo!bbsroute!csie_ibm

        Article cancelled from wolfchen@csie_ibm within bbs [v1.0]
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

            FHʧ@֤@I, g峹M|X{b title e,
        Ӫ article |b M.7704xxxxx.A.cancel ɮפ, U
        «H (expirepost) ʧ@ɤ~|M title @_Q屼, Բӱ
        Ь 3-5 ` w¤峹.


   3-4. Q email post 峹
            ]w BBS  .forward, Ϧ쪺 email post 峹V
        mailpost, .forward ɮ榡pU: (]Ae᪺޸!)

        "| /home/bbs/innd/mailpost /home/bbs"

        Q email post i@ 8-bits H, ]iH uuencode
        LH, mailpost {J uuencode 榡H|۰ʱN峹
        decode A parse H榡.

            H榡]A|Ӷ, 榡λpU:

        #name: guest            ϥΪ̱b, ƥUL~.
        #password: guestpwd     ϥΪ̱KX, {|ˬdKXO_T.
        #board: test            Qװϭ^W, 峹|JӰQװϤ.
        #title: դ峹D    峹D, i 8-bits D.

        pGˬd password L~, N|N峹J boards , ȱo@
        Obäˬd user bӰQװϬO_ post vO. ] email
        post idXϥΪ̪b, HQh, h,
        pG user ݥΦvO, iAҼ{[H.

            ~, FקKzZ䥦 news ϥΪ̾\Ū峹, Q email post
        峹DN\ϥ ansi X, Ҧ ESC (27) code |۰
        ഫ "^[" Ӧr.

            pGnYǯSwϥΪ̤ email post, iNoǨϥΪ̪
	email address b ~bbs/innd/email.deny ɮפ,  user  email
	NQ,  post  junk board .


   3-5. w¤峹
            H{ѩw«H{ (expirepost), oӵ{
        tΤUQװϪ峹uOd "@wѼ" M "@wg", |Ҩӻ,
        pGunOd̪@Ӥ, ̦h 2000 ʤ峹, ̤ 100 ʤ峹,
        Nb crontab [J:

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

            Cѭ 6:00 N|۰ʰ expirepost, NWL 30 ѩάOWL
        2000 ʪ "«H" 屼, pGӽg峹wg Mark \OdUӤF,
        Nû|Q屼. pGӤ峹wQ󯸬HF, |WQ屼. ѩ
        󯸬H峹|X{bܫ᭱, ]|y峹ƥحp⪺~, N
        ΤӦbNF.

            pGSQװϤQ default OdѼ, nOdܤ[άO
        ܵuѼ, Эק innd/expire.ctl, Ҧp:

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

        ]NO test board unOd, ̦h 300 , ̤ 20 ʤ峹.
        sysop board nOd 1000 .


-----------------------------------------------------------------------------
ĥ|B]wHQװ
   4-1. [J tw.bbs.* HQװ
            HUҥH inn news , ثe tw.bbs.* wߤWʭӤPʽ誺
        Qװ (ԲӦCаѾ\), PoǰQװϳ]H]A譱, 
         inn server , ]wɮץ]A:

        a. newsfeeds
           аѷӻP䥦 news server H]w, ëww tcp port.
           HUju newsfeeds ]w, ѰѦ:

           # juīT
           phoenix\
             :!*,tw.bbs.*,csie.bbs.adm.*\
             :Tc,Wnm,S4096\
             :/home/inn/news/bin/nntplink -P 7777 -k bbs.csie.nctu.edu.tw

           Ĥ@檺 phoenix NO BBS  bbsid (innd/bbsname.bbs e),
           ĤG檺 !*,tw.bbs.*,csie.bbs.adm.* wuN tw.bbs.* M
             csie.bbs.adm.* e bbs.csie.nctu.edu.tw, קK@몺Qװ
             峹]M BBS H, yxZ.
           ̫@ -P 7777 wϥ tcp port 7777 H.

        b. hosts.nntp
           ɮ׭ news server/BBS iǰeǰQװ, |ҦpU:

           # juīT
           bbs.csie.nctu.edu.tw::!*,tw.bbs.*,csie.bbs.*

           H ":" Ϯ, Ĥ@欰 news server/BBS  hostname,
           ĤTiQװ, ]wkP newsfeeds


        ]wnWCɮ׫, A ctlinnd Nɮ׸J, ROpU:

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

         inn server ]wwg, UӨ bbs ]wH{,
        ]wɮץ]A:

        a. innd/bbsname.bbs
           Q^W, ХΤ@²u­^r, Ҧpju BBS 
           phoenix,  id ΨӿOH|, ˬdO_y loop, קK
           . ûP inn server ]w۹.

        b. innd/nodelist.bbs
           ]w news server/BBS  id, hostname MW. H:

           # This is a sample nodelist.bbs
           # name          hostname & domainname       full name
           #-------        --------------------------  ------------
           phoenix         csie.nctu.edu.tw            juīT
           bbsroute        gopher.csie.nctu.edu.tw     ju News server

           Ĥ@]w phoenix W٬ "juīT", Ҧ峹
              header |[W "oH: juīT". ó]w
             hostname  csie.nctu.edu.tw, e inn server 峹oHH
             Nܦ "userid.bbs@csie.nctu.edu.tw", Ui̦]w email.
           ĤG]w news server  bbsroute, } gopher.csie.nctu.edu.tw,
             HNs즹 nntp port (port 119).

        c. innd/newsfeeds.bbs
           ]w newsgroups nM BBS  boards H, ]wkpU:

           # 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
           ...

           HzLɮױ, Ҥ, tw.bbs.alumni QװϱNP
           schoolmates zL bbsroute o news server H, newsgroups M 
           boards W٤ۦP, ]izLP news server H.
           sysop board O local Qװ, H, ]]w local.sysop
           M sysop zL news server H. (ĤTť)
           tw.bbs.alumni.hchs èS۹ local Qװ, ]]NĤT
           d.  news server 峹 (] news ]w tw.bbs.* e)
           N|۰ʱN峹.


   4-2. PɻPh news server H
            pGnPɻPh news server H, nNXk news server
        address  nodelist.bbs , ~sWH{. pGM news
        server  address O, iH telnet լݬ, Ҧp:

            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.

        boӨҤl, 502 You are not in my access file NOXkH,
        ᪺ (nobody@news) ܳo connection O nobody q news o
	sH{. pGn nobody@news iHsH{, b
        nodelist.bbs ɮפ[J@:

           xxxx            news				ju News Server

        tδN\ news HF.

        F path ²u@I, H{|۰ʱN address ̫᪺ .edu.tw 屼,
        ]PɻP bbsroute (gopher.csie.nctu.edu.tw), news.csie.nctu.edu.tw
        H, h]wpU:

        a. innd/nodelist.bbs
           # This is a sample nodelist.bbs
           # name          hostname & domainname       full name
           #-------        --------------------------  ------------
           phoenix         csie.nctu.edu.tw            juīT
           bbsroute        gopher.csie.nctu.edu.tw     ju News server
           news.csie.nctu  news.csie.nctu.edu.tw       ju 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
           ....

        hPɻP bbsroute M news.csie.nctu H.


   4-3. ]wH: @h, h@, uJ, ΥuX

        a. @hH: (ex: nctu board --> nctu.talk + tw.bbs.campus.nctu)
           ѩ newsfeeds.bbs u|൹Ĥ@ news server, ]Lkg,
           ثe@kOzL inn server, N峹e@ӱM crosspost {,
           ]wiV help@csie.nctu.edu.tw ߰.

        b. h@H: (ex: tw.bbs.test + csie.test --> test board)
           tw.bbs.test                     test            bbsroute
           csie.test                       test            bbsroute

           Ҥ, tw.bbs.test  csie.test 峹|e test board,
           O test board u|e tw.bbs.test. (first match)

        c. uJX: (ex: tw.bbs.campus --> campus)
           local.campus                    campus
           tw.bbs.campus                   campus          bbsroute

           Ҥ, tw.bbs.campus |e campus,  campus |e
           Qװ. (local.campus ĤTť)

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

           Ҥ, newboards |e tw.bbs.newgroups,  tw.bbs.newsgroups 
           H (null ĤTť), 


-----------------------------------------------------------------------------
 A. ثew[JH BBS  SYSOPs C:

[x_]
  ٱШ|U AIDE T    mfchen, jjyang, ckhuang
  xjpL      Muyi, jjshen, samlee
                          (hGJoeChen)
  xjq Maxwell      karl, ke, dos, Gamma
  u޹ql BBS            torch, (ƪGtarco)
                          (hGidle, fuzzy)
  vjT ice BBS        tsung, cclljj, guava
  KHT          ariel, Jackey, Alamy, seaprince, Gary, games
  jPuWŪaT  dennies, Prince, alarm, aresu
                          (hGgames, Alamy, Rainman, jie, deer)
  ʶǸ BBS          jlwang (ƪGhead)
                          (hGChong)
  kӥ_P      yuki, kk, stock, Jinn, kids,
                          (¤Gjuru, kftseng h: games, Alamy)
  uӸT          chrisc, jasonc

[c, ]
  s߸TѦa    icebaby, newtype, xfish, Pentium
  jǪQܭT  jeffer, mhchang, sch
  zuǰ| BBS        chenkow, kevin
  V      kaien
  j BBS            kaien, francis, bee, tawei, awe
                          (¤Gpony)

[s]
  juīT    denia, yisho
                          (hGmfchen, jjyang, ckhuang, cuteyu, ucc)
  j BBS            helios, seafish, william, dwyan, bear
                          (hGhugo, Atlantis, byte, ming)
  ԧB@              PHey, OSKy, bactery, root, Jiang
                          (hGCHe, foxfair, Tristan, BW)
  Mعq            Sun, Wind, chef, Frank
                          (¤Gax, batman, biker, yann)
  MjqlƾǳqT        simon, Pachinko
  MظT毸        chp, pilot, chiayi, opus
  ؤuǰ|諰T    Samson.Chen, Einstein.Lin, Marcus.Hsu, Jones.Tsai
                          (hGCodex.Chen, Anada.Chien, Aquarius.Kuo,
                                 Henry.Chen)

[x]
  jǤѼϸT      alexfish, (ƪ: KP, DS)
                          (¤Gkftseng)
  {һaƸT          foxes, scke, Richie, LAI, YUNG

[Ÿq]
  jǱIڤߤp    BBSLouis, Custom, Jimmy, kftseng, wyw, shchen

[xn]
  jT_BBS          juru, lindj, foxfair, amychen

-----------------------------------------------------------------------------
 B. tw.bbs.* QװϦC:

[Q׸s]
csie.bbs.adm.*                  su BBS հ
tw.bbs.alumni.*                 դp˰Q׸s
tw.bbs.campus.*                 նQ׸s
tw.bbs.comp.*                   qQ׸s
tw.bbs.forsale.*                D
tw.bbs.lang.*                   yQ׸s
tw.bbs.literal.*                ǡBrQ׸s
tw.bbs.music.*                  ְQ׸s
tw.bbs.rec.*                    𶢡B|ְQ׸s
tw.bbs.sci.*                    MǬQ׸s
tw.bbs.soc.*                    |HQװ
tw.bbs.sports.*                 UBʰQ׸s
tw.bbs.talk.*                   ͤѻaEܥjD

[@]
csie.bbs.adm.manager            su BBS QװϺ޲z
csie.bbs.adm.sysop              su BBS Qװ
tw.bbs.alumni                   դp
...
tw.bbs.test                     ձM

: tw.bbs.* QװϪԲӦCЦ tw.bbs.config newsgroup ΦUj BBS 
     config board Vժ̬d.

