荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: 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软件 网络书店