荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Lg (创造人生的传奇), 信区: InstallBBS
标  题: FormosaBBS-Install
发信站: BBS 荔园晨风站 (Wed Nov  4 16:44:43 1998), 站内信件

+--------------------------------------------------+
| 中山 Formosa BBS Server 系統安裝手冊  for v1.1.1 |
+--------------------------------------------------+

        一、程式發展歷史
        二、程式所在
        三、安裝 BBS 的基本需求
        四、設定 BBS 相關的帳號
        五、設定原始程式, 編譯與安裝
        六、測試上線
        七、Internet E-mail 收信程式 (bbsmail) 的設定
        八、轉信程式(bbs-news)設定
        九、帳號刪除程式(deluser)
        十、佈告清除程式(expire,packbbs)
        十一、BBS 身份認證系統
        十二、BBS Web Server(bbsweb)
        十三、其它 Internet 服務(gopher,pop3,finger)
        十四、秀圖模式設定(menushow):
        十五、系統維護與管理(開機自動執行檔,crontab)
        十六、一些讓 BBS 無法正常執行的可能原因

        十七、 inetd 與正常的 login
        十八、外掛程式的安裝
        十九、chroot 安全環境設定
        二十、問題諮詢


一、程式發展歷史:

    本 BBS 所用的程式是根據 Eagles BBS 1.0 版改寫而來. 歷經數次改版, 中文
    化, 一直到 NSYSUBBS 3.0.0 (支援 Linux), 都還是使用 TTY-Based 系統. 配
    合 Client/Server 的發展, 將原本的 TTY-Based 改為 NOTTY-BBS Server. 即
    FormosaBBS v1.0.0, 目前已發展至 FormosaBBS v1.1.1 (支援 FreeBSD).

    註:自 FormosaBBS 1.0.0 版之後, 不再使需要 tty 來執行 BBS.
        故若要提高上線人數, 不需要 patch kernel.


二、程式所在:

    本 BBS 程式目前仍持續不斷更新中,請不定期到下列 Anonymous FTP Site 取
    得最新版本的程式, 或修正檔案.

      ftp.nsysu.edu.tw:/NSYSU/BBS/
      login: ftp
      passwd: your e-mail address


三、安裝 BBS 的基本需求:

    只要您使用下列系統,應該就可執行這套 BBS..
        SunOS 4.1.x
        Solaris 2.4 以後
        IBM AIX 4.x
        Linux (Slackware)
        FreeBSD
    如果您使用較不常見的系統,可能要自行對原始程式碼做些修改。若您自行修
    改以支援不同的作業系統, 歡迎將原始程式碼寄回給我們.
    (bbsmaster@cc.nsysu.edu.tw)

    以下列出目前使用本版 BBS 所建置而成的系統:

    (1) 中山福 柲ι?
        作業系統:Solaris 2.5.1
        主機:Sun UltraSparc2 200MHZx2
        RAM:384MB
        SWAP:1024MB
        最大上線人數: 1500 (未達極限)

    (2) 高雄女中
        作業系統: IBM AIX 4.1
        主機: PowerPC
        RAM: 64MB
        SWAP: 96MB
        最大上線人數: 120 (未達極限)

    (3) 澎湖資教網路
        作業系統: SunOS 4.1.3_U1
        主機: Sun SuperSparc
        RAM: 128MB
        SWAP: 128MB
        最大上線人數: 70 (未達極限)

    硬碟:視站的規模大小而定。


四、設定 BBS 相關的帳號:

    請在 /etc/passwd 內設定一新使用者, 如下所示

      bbs:*:9999:99:BBS:/home/bbs:/bin/false

    請在 /etc/group 內設定 bbs 的 group, 如下所示

      bbs:*:99:bbs

    建立 ~bbs/ 目錄

      bbs% mkdir ~bbs
      bbs% chown bbs ~bbs
      bbs% chgrp bbs ~bbs


五、設定原始程式, 編譯與安裝:

      bbs% cd ~bbs/
      bbs% gzip -dc FormosaBBS-1.1.1.tar.gz | tar xf -

    成功以後, 會建出一個目錄 FormosaBBS-1.1.1 內有 BBS 的原始程式碼.

      bbs% cd FormosaBBS-1.1.1
      bbs% ./configure            # 依照各系統環境產生 Makefile, config.h
                                  # 及 Install.sh ... 等檔案

    接著回答一些設定上的問題, 如: 中文站名, 英文站名, 最大上線人數,
    主機 domain, IP Address.

      bbs% make                   # 編譯原始程式, 如有問題,進行除錯
      bbs% make install           # 安裝編譯完成的程式


六、測試上線:

    好了,現在您終於可以啟動 bbs 站了, 若您要啟動 bbs 站於一般 telnet 使用
    情形下, 必須為主機管理者, 所以請以 root 身份執行下列指令:

      bbs% /home/bbs/bin/bbsd <port>

    執行完之後, bbs 站就可以算啟動了.

    最重要的是, 您必須先以 'SYSOP' 上站成為第一位 sysop,以後別的 sysop 就
    由你來提昇等級。'SYSOP' 的上站密碼為 'SYSOP'. 並請一定記得, 上站後立刻
    修改 SYSOP 的密碼. 以防止他人盜用 SYSOP 帳號.

    好!現在大致完成了,您可以連接您的主機來試一下了。

      bbs% telnet localhost <port>


七、Internet E-mail 收信程式 (bbsmail) 的設定:

    'bbsmail' 程式有下列功能:

       - 接收寄給 userid.bbs@<host> 的 E-mail 並轉入 BBS Users 的個人信箱.
       - 接收寄給 bbs@<host> 的 E-mail 並張貼至看板一般區或精華區.
         (唯有該看板板主才由於精華區張貼的權限)

    'bbsmail' 的特殊張貼格式, 請參考 util/README.bbsmail 說明.

    (1). 修改 /etc/sendmail.cf 讓系統接受 userid.bbs@bbs... 型態
         的 E-mail, 並自動轉給 bbsmail 這個帳號.

         - 以 SunOS 4.1.3 的 /etc/sendmail.cf 為例:

             修改下行 : (在 S0 Rule Block 中)
# everything else is a local name
R$+                     $#local $:$1                    local names

             複製一行, 改成為:
# everything else is a local name
R$*.bbs                 $#local $:bbsmail               local names
R$+                     $#local $:$1                    local names

         - 以 BSD sendmail 8.x.x 的 /etc/sendmail.cf 為例:

             修改下列兩處 : (在 S0 Rule Block 中)
# handle local hacks
R$*.bbs                 $: $>98 bbsmail      <--- 加入這一行
R$*                     $: $>98 $1

# short circuit local delivery so forwarded email works
#R$+ . USENET < @ $=w . >       $#usenet $: $1          handle usenet specially
R$=L < @ $=w . >        $#local $: @ $1         special local names
R$*.bbs < @ $=w . >     $#local $: bbsmail      regular local name <--- 加此行
R$+ < @ $=w . >         $#local $: $1           regular local name

         重新執行 sendmail daemon,
         系統就可以接受 userid.bbs@bbs.... 型態的 E-mail.
         郵件將統一收到使用者 bbs 的 system mail box

    (2). 修改 crontab, 讓系統每隔一段時間(例如: 每五分鐘)即自動處理 E-mail :

         bbs% crontab -e
00,05,10,15,20,25,30,35,40,45,50,55 * * * * /home/bbs/bin/bbsmail


八、轉信程式(bbs-news)設定:

    (1) 編輯 ~bbs/news/bbs-news.conf

        1. 第一次啟動時, 請先設一兩個 BNLink line 先測試看看.
        2. 如果不想拿舊的 News article, GET 欄請寫 no
        3. 請選定一個 News Server, 選定後就別再改變, 否則轉信將會不正常,
           所以請謹慎選擇.
        4. 你必須在選定的 News Server 有 post article 的權限, 才能 output
           bbs posts.

         bbs-news process 每處理完一輪迴 B-N-Link 之後, 會重讀一次
         bbs-news.conf 內容. 所以開機以後, 若想更動 bbs-news.conf 設定,
         只要在 bbs 的 (A)dmin 選項中編修, 或是從系統由 root 直接編修
         ~bbs/news/bbs-news.conf
         改好以後, 不必做任何動作, 等下一輪啟動時, 自然會執行新的設定.

    (2) 啟動 bbs-news

        寫在開機自動執行檔中:

          - 以 SunOS 4.1.x 為例


           bbs% vi /etc/rc
               /home/bbs/bin/bbs-news

九、帳號刪除程式(deluser):

    (1) 使用參數: deluser [bbshome] [days of <50] [days of >=50] [days of 100]
                           ^^#1#^^^  ^^^^#2#^^^^   ^^^^#3#^^^^^   ^^^^#4#^^^^

        #1#. BBS Home dir
        #2#. 不到五十級的使用者未上站天數,超過時間則刪除帳號 (預設: 30)
        #3#. 滿五十級的使用者未上站天數,超過時間則刪除帳號 (預設: 90)
        #4#. 版主等級的使用者未上站天數,超過時間則刪除帳號 (預設: 365)

    (2) 啟動 deluser

        deluser 程式可以放在 crontab 中定期自動執行, 請於負荷低時執行 (如清晨).
        執行後並未真正刪除帳號,只是把過期帳號資料移到下列兩目錄:

           /home/bbs/home/.del
           /home/bbs/mail/.del

        這個做法是為了讓站長有拯救帳號的機會,所以若要真正刪除空間,請記得定時
        砍掉這兩個目錄。

          bbs% crontab -e
10 5 * * * /home/bbs/bin/deluser /home/bbs
0 3 * * * /bin/rm -fr /home/bbs/home/.del /home/bbs/mail/.del


十、佈告清除程式(expire,packbbs):

    (1) expire 程式

        使用參數:   expire [UpperBound] [Range]
                            ^^^^#1^^^^   ^#2^^

        #1#. 各板佈告上限, 超過此上限系統將自動清除

            #2#. 保留緩衝彈性範圍,

        例如:       expire 3000 500

            ==> 若板面佈告超過 3000 篇, 系統自動砍(標記刪除)到剩
                2500 (= 3000 - 500) 篇.

        expire 需配合 packbbs 程式, expire 負責將佈告標記刪除.
        packbbs 將佈告真正自硬碟中移除.

        編修 'conf/expire.cf' 以個別設定各看板佈告上限


    (2) packbbs 程式

        使用參數:   packbbs [-a] [-b boardname] [-m userid]

        -a            清除所有看板上的標記刪除佈告

        -b boardname  清除特定看板上的標記刪除佈告

        -m userid     清除特定使用者信箱內的標記刪除信件


十一、BBS 身份認證系統:

      若有需要, 請修改 #define CHK_MAIL 改為您系統的信箱路徑

          並於 /etc/passwd 加入 (建立一帳號 syscheck)

            syscheck:##syscheck:9997:99::/home/bbs/bin:/bin/sh

          使用者於站上填寫個任認證申請資料後, 系統以 'syscheck' 名義將會寄信

      至 User 的 e-mail address, User 收到信後, 必須將原信回覆給
      'syscheck' 以確認此 e-mail address 確為User所有. 認證系統收到 User
      回覆信, 便自動將User個人資料更新為 '已通過認證'
      (idcheck 程式負責此工作)

          並將 idcheck 加入 crontab, 定時執行, 將 'syscheck' 的信箱
          內所有由使用者回覆的認證函處理完畢.

        bbs% crontab -e root
0,10,20,30,40,50 * * * * /home/bbs/bin/idcheck

      另外, 請自行編修 ~bbs/doc/Check_Doc8, 此文件檔即為系統寄發認證確認信
      給 User e-mail address 時的郵件內容, 您可自行加上說明.


十二、BBS Web Server(bbsweb):

      自 FormosaBBS v1.0.0 版起, 提供 Web 介面的 BBS 站系統, 與 HTTP 1.0
      相容, 您可很簡單地自行規畫 Web BBS 站的外觀, 只要修改 HTML 檔案,
      即可立即變換出不同的風貌. 相關檔案皆擺在於 'HTML/' 及 'HTML/image/'
      目錄中.

      (1) bbsweb 程式

          使用參數:  bbsweb [-p port] [-d] [-c]

          -p port 指定 server port (預設: 80)
          -d      啟動 debug 模式 (預設: 不啟動)
          -c      指動 allow/deny 模式 (預設: 不啟動)

      (1) 啟動 BBS Web Server

            bbs% /home/bbs/bin/bbsweb

          亦可自行指定參數.


十三、其它 Internet 服務(gopher,pop3,finger):

      (1) bbs2g4 (BBS To Gopher Gateway)

          使用參數:   bbs2g4 [port] [timeout second]

          啟動 bbs2g4

            bbs% /home/bbs/bin/bbs2g4 70 60

      (2) bbspop3d (bbs pop3 daemon) 提供 BBS POP3 離線取信服務


          啟動 bbspop3d

            bbs% /home/bbs/bin/bbspop3d

      (3) bbsfingerd (bbs finger daemon) 提供 BBS finger 服務


          啟動 bbsfingerd

            bbs% /home/bbs/bin/bbsfingerd

十四、秀圖模式設定(menushow):

      (1) 編修設定檔 ~bbs/conf/menushow

          #秀圖模式設定檔
          # Usage: boards/boardname : mark or all : hours
          #        版或精華區/版名 : 保留或全部 : 時數

          # mark 是說只有 'G' 保留的才做,all 則表示全做
          # hours 是說幾小時以內的布告才做,0 表示無限制
          #
          boards/main-menu:mark:720
          treasure/main-menu:all:0

      (2) 啟動秀圖模式程式

            bbs% crontab -e
00,20,40 * * * * /home/bbs/bin/menushow 0 >> /dev/null


十五、系統維護與管理(開機自動執行檔,crontab):

      (1) 將各程式加入開機自動執行檔:

          ## Linux 2.x.x
          /etc/rc.d/rc.local 加入下列數行:

          ## Solaris 2.x
          /etc/rc2.d/S72inetsvc 加入下列數行:

          ## SunOS 4.1.x
          /etc/rc 加入下列數行:

          ## AIX 4.x
          /etc/rc.tcpip 加入下列數行:


          /home/bbs/bin/bbsd 23                     # telnet-based bbs daemon
          /home/bbs/bin/bbs2g4 70 60                # bbs to gopher gateway
          /home/bbs/bin/bbspop3d                    # bbs pop3 gateway
          /home/bbs/bin/bbsfingerd                  # bbs finger daemon
          /home/bbs/bin/bbsweb                      # bbs web server
          /home/bbs/bin/csbbsd                      # client-server-based bbs
          /bin/rm -f /home/bbs/news/bbs-news.pid
          /home/bbs/bin/bbs-news                    # bbs news process
          /home/bbs/bin/menushow 0
          /bin/rm -fr /home/bbs/tmp/* &

      (2) 設定 crontab

            bbs% crontab -e
00,05,10,15,20,25,30,35,40,45,50,55 * * * * /home/bbs/bin/bbsmail
10 5 * * * /home/bbs/bin/deluser /home/bbs
0 3 * * * /bin/rm -fr /home/bbs/home/.del /home/bbs/mail/.del
30 8 * * * (/apps/bbs/bin/packbbs -a > /dev/null;
        /apps/bbs/bin/expire 3500 500; /apps/bbs/bin/packbbs -a > /dev/null;
        /apps/bbs/bin/packbbs -b ID > /dev/null)
0,10,20,30,40,50 * * * * /home/bbs/bin/idcheck
00,20,40 * * * * /home/bbs/bin/menushow 0

      (3) 請定期執行下列指令, 以清除暫存目錄內的檔案或子目錄:

            bbs% /bin/rm -rf ~bbs/tmp/.    (建議於 reboot 後自動執行)
            bbs% /bin/rm -f ~bbs/edit/*    (編輯失敗的備份檔, 覺得硬碟不夠時再清
)
            bbs% /bin/rm -f ~bbs/records/* (bbs users login 的記錄, 餘同上)

      (4) 線上系統負荷

            bbs% crontab -e
0,10,20,30,40,50 * * * * /usr/bin/uptime >> /home/bbs/conf/SHOW_UPTIME

          每五分鐘執行一次. 在 user login 時將可以看到系統負載.

      (5) ~bbs/conf/welcome 乃是 login 前的歡迎畫面。
          ~bbs/doc/Welcome0 是 login 後的歡迎畫面。
          ~bbs/doc/Welcome  是站長公告畫面。

          請自行編修

      (6) ~bbs 目錄結構

          bin/           可執行檔
          boards/        看板
          conf/          設定檔
          doc/           顯示畫面檔
          edit/          個人線上編輯檔案備份

          home/          個人目錄
          mail/          個人信箱
          news/          轉信工作目錄
          realuser/      已認證使用者資料
          tmp/           暫存目錄
          treasure/      看板精華區
          vote/          看板投票箱
          write/         線上訊息暫存目錄


十六、一些讓 BBS 無法正常執行的可能原因:


      (1)   permission 的問題,請檢查 ~bbs/bin/{bbs} 是否可以讓
            root 與 bbs 執行,以及 bbs 能否讀寫 bbs 的相關設定檔。

      (2)   shared memory 的問題,如果您誤用 bbs 以外的 UID 執行 bbs
            程式,可能會發生 login  bbs 後無法執行 bbs 程式的現象。請使用
            ipcs, ipcrm 等指令解決。


十七、inetd 與正常的 login:

      從前 TTY-Based 的BBS時代, port 23 可以由 bbs and normal user
      共同使用,然而現今 NoTTY-Based BBS因為 Telnetd Portocol 的初始
      過程與BBS結合所以在某些系統無法與正常 login 共用 port 2(如 Linux)
      為了解決這個問題,最簡單的做法是改 /etc/inetd.conf 新增 port 24 為

      normal login port, 做法如下:

      (1) /etc/inetd.conf 修改如下: (加入 ntelnet)
ftp     stream  tcp     nowait  root    /usr/sbin/in.ftpd       in.ftpd
#telnet  stream  tcp     nowait  root    /usr/sbin/in.telnetd    in.telnetd
ntelnet  stream  tcp     nowait  root    /usr/sbin/in.telnetd    in.telnetd

      (2) /etc/services 修改如下:
ftp             21/tcp
telnet          23/tcp
ntelnet         24/tcp          normal login port

      改好以上兩個檔案,reboot 後即可生效,以後正常 login 請 telnet 24
      例如 telnet bbs 24   或是  telnet bbs#24   (第二種寫法適用在 NCSA Telnet)


十八、外掛程式的安裝:

      外掛程式請統一放在 ~bbs/bin,並 chmod 為 0644,以避免被其他 user 覆蓋
      請參考 talk.c 的 t_irc() 跟 t_ircl() function 的寫法,並修改 menu.c
      加入 menu 選項之中。再重新 compile bbs。

      irc 程式請自行取得.

      ftp://ftp.nsysu.edu.tw/NSYSU/


十九、chroot 安全環境設定:

      由於 config.h 預設 bbs 在非 chroot 的環境下執行.
      若您想要加強系統安全, 可自行修改 config.h 檔案. 啟動 chroot 環境.

      若您不了解 chroot 或不想使用, 此小節說明請忽略不看
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

      修改 config.h 將其中的一行


      #undef CHROOT_BBS

      改為

      #define CHROOT_BBS

      再按照下列步驟, 重新編譯原始程式.

        bbs% make clean
        bbs% make all
        bbs% make install

      OK 以後,請先別急著執行 bbs,必須先完成下列步驟

      ******<<<< 製作重要目錄 >>>>*********
      如 /etc, /dev, /var 等等,依照各系統不同而有不同做法。

      ******<<<< 製作動態系統函式庫 >>>>*********

      ## 以 SunOS 4.1.x 為例:

      (1) 在 /etc/fstab 內加入以下三行:

          /usr/lib   /home/bbs/usr/lib lo ro 0 0
          /usr/share /home/bbs/usr/share lo ro 0 1
          /usr/5lib  /home/bbs/usr/5lib lo ro 0 2
                     ^^^^^^^^^---> 請依自己的 BBS Home 修改

      (2) 在 /etc/rc.local 內加入


          /etc/mount -at lo

      (3) 以 root 身份立刻執行 mount -at lo

      ## 以 Solaris 2.x 為例:

      (1) vi /etc/vfstab   加入下列三行
/usr/lib        -       /home/bbs/usr/lib       lofs    -       yes     ro
/dev            -       /home/bbs/dev           lofs    -       yes     ro
/devices        -       /home/bbs/devices       lofs    -       yes     ro
                                        ^^^^^^^^^---> 請依自己的 BBS Home 修改
                                      並請先建好以上三個空目錄。

      ## 以 AIX 4.x 為例:

      (1) mkdir /home/bbs/usr
          cd /usr
          tar cf - lib |(cd /home/bbs/usr ; tar xf -) &

      ## 其它系統請自行處理動態函式庫的問題


二十、問題諮詢:

      最好是到中山 BBS (bbs.nsysu.edu.tw) 的 FormosaBBS 板詢問,
      其次是 E-mail 下列給下列之人:

      bbsmaster@cc.nsysu.edu.tw
      lmj@cc.nsysu.edu.tw         wind.bbs@bbs.nsysu.edu.tw   梁明章
      lasehu@cc.nsysu.edu.tw      lasehu.bbs@bbs.nsysu.edu.tw  黃立德

      最後,祝您建站順立。

                              本文:梁明章  lmj@cc.nsysu.edu.tw
                                                    黃立德
lasehu@cc.nsysu.edu.tw



--
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□          深圳大学荔园晨风 BBS 站为大家提供以下服务:          □
□    BBS: bbs.szu.edu.cn               FTP: bbs.szu.edu.cn     □
□    MUD: bbs.szu.edu.cn 5000          WWW: bbs.szu.edu.cn     □
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: lg.szu.edu.cn]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店