LinuxAid工程師:unix_guo
一、特點
PowerBBS是由台灣人開發的另一個BBS程序. 架設 PowerBBS 不需要有超級用戶的權利,一般 User也可以在自己的帳號下建一個私人的BBS, 而且同樣擁有轉信的功能. PowerBBS可以自由的更改lient所能看到的所有信息. 安裝簡易, 安全可靠, 可容納同時上線的用戶無限制, 速度快. 對系統的負擔非常小, 較一般 BBS 更有效率, 對 User的反應也較快, 特別適合網絡負擔較重的機器.
二、需求
架設 PowerBBS 並不需要太好的設備, 要看為什麼樣的服務而定.
硬件:
電腦主機一部; 網絡; 硬盤至少5Mega
軟件:
必需是UNIX的操作系統 cc 或 gcc (gcc 比較好)
ps1: 網絡必需是 TCP/IP BSD Socket 規格(幾乎所有UNIX都支持)
ps2: 目前適用的機器主要在 SUNOS 4.x, 及 NetBSD, 下列平台也可以 Linux, AIX, OSF/1, HPUX, Solaris (目前HPUX 部份還有些問題)
三、下載
首先, 從網上下載PowerBBS的源代碼, 假設你的源文件是pbbs.tar.gz; (例如站點FTP://pbbs.chpi.edu.tw//pub/pbbs/source)
執行tar zxvf pbbs.tar.gz解開文件, 會出現目錄pbbs;
四、安裝
cd到pbbs的目錄裡, 試試執行Install, 如果可以, 所有程序都會自動做好, 如果不行, 就用下面的方法. cd到host的目錄之中有許多Makefile.*, 挑一個適合你的機器, 拷成Makefile, 例如 cp Makefile.lin Makefile, 然後打make命令, 在PowerBBS目錄下多一個pbbsd的可執行文件.
五、測試
不要想的太難, 執行pbbsd就行了. PowerBBS Server 會自動退到後台.找一個PowerBBS Client程序, 執行pbbs即可. 例如在client.tel目錄下有一個客戶端的程序, 執行install, 如果不行就make, 會有一個pbbs的可執行文件, 直接運行pbbs 就可以了.
六、詳細配置
主要的都在setup.h裡面, 這個配置文件實在是太復雜了, 我只能寫寫其中的一部分, 剩下的通過自己閱讀幫助文檔sysop.gb就可以了. #define PBBS_SERV_端口 6203 要將 PowerBBS 的 端口 定在何處, 我們建議您就定在 6203, 這是我們的預設值, 你可以定1025以上的任何值;#define SYSTEM_PATH "/pbbs" PowerBBS 所在路徑, 程序執行時, 第一步就是 chdir 這個目錄, 請盡量使用絕對路徑, 而不要用 "~zhangxin" 之類的東西;
#define LOGFILE "pbbs.log" PBBS 動作的紀錄名
#define RUN_USER "OWNER" #define RUN_GROUP "OWNER" 設定守護進程在執行時要以什麼User及 Group去執行. 這項設定是為以超級用戶等級去執行程序而設計(rc.local中啟動守護進程), 使得 PowerBBS在執行守護進程不要擁有超級用戶的權限, 避免萬一程序中有安全上的漏洞造成入侵.(雖然還看不出有這種問題, 不過保險起見, 若您以超級用戶啟動守護進程, 最好將User及Group 設為nobody, 端口在1024 以下要超級用戶才能Bind, 如news 所用的119端口, 用此設定, 以超級用戶啟動, 在端口Binding完後會自動更改自身的權限到其設定) 若您只是以一般的 User來啟動守護進程, 則將此設定設為 "OWNER" 即可, 如此PowerBBS會忽略此項動做, RUN_USER及 RUN_GROUP中任一項設為"OWNER"都會關閉此功能.
#define TALK_緩沖區 "talk" Talk時的緩沖區目錄, 記得要mkdir這個目錄
#define USER_PREFERENCE "user_prefer" 這是當User要設定自己的信區時, 設定檔要放的目錄
#define menu_PATH "menu" 各菜單所在目錄
#define PRELOG_FILE "prelog" User Login之前所看到的畫面
#define MAX_LOGIN 5 User 在 Login 時的錯誤最多幾次
#define MAX_LOAD 100 本站最多同時可容納的上線人數, 請依各站配備而定, 可設超過 256
#define IN99v_LEVEL 30 新用戶的等級
#define CO_SYSOP_LEVEL 90 副站長的等級
#define SYSOP_LEVEL 99 站長的等級
.......
修改完後需要重新make來安裝. 請參閱前面的安裝說明.
七、其他
其他功能, 象站間轉信, 布告欄, 設定某些用戶的特定功能, 文字信息的更改等請參閱相關文檔. 主要在sysop.gb文件裡. 一般來說, 象bbs這種東西不是拿來就可以很好用的, 要根據你自己的需要來修改源代碼, PowerBBS的服務器端的源代碼在host目錄下, 客戶端代碼在client.tel目錄下. 通常只需要改這兩個目錄的文件, 其他不變.
八、客戶端用telnet方式的設定
若您想讓用戶以 telnet 的方式上線, 則有幾項要注意的...
1. 將客戶端的源代碼的Makefile中CFLAGS 中加上-DTERMMODE重新 Make出的pbbs客戶端程序會將對
磁盤寫入的動作關閉.
2. 加個用戶pbbs再將其shell設為前面做出的客戶端程序. 即在/etc/passwd下加一個賬號為bbs, 其shell設為客戶端程序.
3. 要注意, 客戶端程序在post信件時會呼叫編輯器, 您一定要放一個Patch版的編輯器, 此編輯器 不能有shell的動作, 否則將造成安全上的漏洞, 因此系統所附的vi絕不能用, 一定要用專為BBS計的編輯器.
4. 若您要放在 gopher 或 EagleBBS 的 BBSNet 底下, 也是要注意上述的問題.
5. 用戶在自己的主目錄下創建.pbbsrc文件, 在用戶telnet 時如果沒有,會自動生成。注意在.pbbsrc中的IP地址和端口必須正確。
這樣, 用戶就可以用telnet 訪問了.
3. 要注意, 客戶端程序在post信件時會呼叫編輯器, 您一定要放一個Patch版的編輯器, 此編輯器 不能有shell的動作, 否則將造成安全上的漏洞, 因此系統所附的vi絕不能用, 一定要用專為BBS計的編輯器.
4. 若您要放在 gopher 或 EagleBBS 的 BBSNet 底下, 也是要注意上述的問題.
5. 用戶在自己的主目錄下創建.pbbsrc文件, 在用戶telnet 時如果沒有,會自動生成。注意在.pbbsrc中的IP地址和端口必須正確。
這樣, 用戶就可以用telnet 訪問了.