[轉錄][beta] Maple BBS 之架設篇

看板SetupBBS作者時間21年前 (2003/10/20 15:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
※ [本文轉錄自 shakalaca 看板] 作者: shakalaca (Lord Of The BBS :D) 看板: shakalaca 標題: [beta] Maple BBS 之架設篇 時間: Sun Oct 12 19:20:16 2003 摩拳擦掌來架站 (Maple BBS 之架設篇) =================================== ※ 版本 2003.10.12 初稿 ※ 作者 Jian-Zhou Huang <qq@php.twbbs.org> ※ 參考文件 * php.twbbs.org / Plan: 看板 & 精華區 ※ 內容 * 架站環境 1) FreeBSD 5.1 / PIII-1G / 512MB ram / 512MB swap 2) 架站所用的 id/groupid: bbsadm/bbsgroup (9999/9999), 家目錄為 /home/bbs 3) 我假設你的機器沒有使用 telnetd, 或者是其他任何程式佔住 port 23 * 教學目標 1) 編譯 BBS 2) 啟動 BBS 3) 開機自動啟動 BBS * 教學內容 以下將照著順序安裝 Maple BBS 3.x 以及其延伸版本, 我們首先以原始的 Maple BBS 進行示範. +-----------------------------------------------------------------------+ | Step 1. 抓取 BBS 程式碼 | +-----------------------------------------------------------------------+ 我們可以在 ftp://php.twbbs.org/pub/bbs/Maple/Maple3 找到 MapleBBS-3.02-RELEASE.tgz & MapleBBS-3.10-20000606-SNAP.tgz 這兩個檔案. 前者是由 lkchu@rouge.dragon2.net 所 port 到其他平台的版本, 後者則加入了 mat.bbs@bbs.kimo.com.tw 的修正. 因此在這邊我使用後者的檔案, 雖然說我不保證程式完全沒有問題. 我們先以 bbsadm 登入到主機, 然後把檔案抓下來放到家目錄下並解開: # tar zxvf MapleBBS-3.10-20000606-SNAP.tgz +-----------------------------------------------------------------------+ | Step 2. 修改並且編譯 BBS | +-----------------------------------------------------------------------+ 切換到 src/include 並修改 config.h, 有幾個部分一定要更動: > #define BOARDNAME "冷 馨 居" /* 中文站名 */ - 改成你想要用的中文站名. > #define MYHOSTNAME "Rouge.Dragon2.Net" /* 網路位址 */ - 改成你的 hostname, 比如 "php.twbbs.org" > #define BBSHOME "/home/bbs" /* BBS 的家 */ - 如果你的 bbs 不是安裝在 /home/bbs, 請修改這個路徑 > #define BBSUID 9999 - 如果你所使用的 uid 不是 9999, 請更改 > #define BBSGID 99 - 如果你所使用的 gid 不是 99, 請更改. 我這邊就改為 9999 > #define TAG_VALID "[RougeBBS]To " /* 身分認證函token */ - 身分證任所使用的 Tag, 你可以改成你想要的文字. 比如 "[TestBBS]To " 接著請: # cd ../lib # make clean all # cd ../maple 這邊請注意, 請依照你所使用的作業系統, 將 ostype 換成相關的文字. 比如你使用 freebsd 則 ostype 替換成 freebsd; 如果是 linux 則替換成 linux. 後面有提到 ostype 請依樣畫葫蘆. # make ostype install Linux 的使用者請注意, 如果你在編譯時出現 menu.c:xxx: dereferencing ... 之類的錯誤, 請修改 ~bbs/src/include/bbs.h 中第 31 行 #include <sys/time.h> 改成 #include <time.h> 然後編譯其他檔案: # cd bso # make ostype install # cd ../../util # make ostype install 如果 Linux 使用者在這邊出現 webx.c 的錯誤, 也請修改 webx.c 中的 #include <sys/time.h> 改成 #include <time.h> # cd ../bgopherd # make ostype install # cd ../innbbsd 修改 Makefile, 把 1. ADMINUSER 改成你所使用的 email. 2. BBSHOME 設定為你的 bbsadm 家目錄. 3. BBSADR 改成你所使用的 domain name. 最後要修改一下 innbbsconf.h, 找到: # define DefaultINNBBSPort "119" 把 119 改成 7777, 儲存離開, 然後: # make ostype install 到這裡為止, 一些 bbs 基本的工具及程式都已經編譯完成. 如果你想要讓 bbs 的使用者能夠使用 pop3 收信, 請 # cd ../bpop3d # make ostype install 如果你這台機器只想單純做 bbs 的用途, 而且機器上沒有其他使用者的帳號或者是 不收信件也沒關係, 建議使用 bmtad 讓 bbs 使用者外來信件. 請 # cd ../bmtad # make ostype install +-----------------------------------------------------------------------+ | Step 3. 執行 BBS | +-----------------------------------------------------------------------+ 先以 bbsadm 執行 # cd ~; bin/camera; bin/account; bin/xchatd; innd/innbbsd 此時畫面似乎卡住, 不過你可以按 Enter 跳出. 然後以 root 帳號執行; # ~bbs/bin/bbsd (這是 bbs 主程式) # ~bbs/bin/gemd (讓別人可以連線讀取你的精華區) # ~bbs/bin/bguard (讓別人可以遠端查詢使用者) # ~bbs/bin/bpop3d (讓使用者可以將 BBS 的信件收到自己的電腦中) 如果你想要讓機器單純的只接受 bbs 的信件, 請停止你的 mail daemon 然後 以 root 執行: # ~bbs/bin/bmtad 到這邊, 你已經架起來一個 bbs 了. 現在 # telnet localhost 應該可以看到 bbs 的進站畫面. 預設是沒有任何帳號, 所以輸入 new 申請一個 sysop 帳號吧 ! 申請完成時, 站長的權限並無立即生效, 你要重新以 sysop 的帳號登入, 才在主選單看到 "(0)Admin 【 系統維護區 】" 這個選項. 此時你已經 可以行使站長的權限了. +-----------------------------------------------------------------------+ | Step 4. 開機自動啟動 BBS | +-----------------------------------------------------------------------+ 在這邊提供 FreeBSD 的方法, 首先編輯 bbs.sh: ========================我是bbs.sh的分隔線================================ #!/bin/sh if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then echo "$0: Cannot determine the PREFIX" >&2 exit 1 fi BBSHOME=/home/bbs PID=`/usr/bin/tail -1 /home/bbs/run/bbs.pid | /usr/bin/awk '{print $1}'` PS=`/bin/ps -ax | /usr/bin/awk '{ print $1 }' | /usr/bin/grep $PID` case "$1" in start) if [ ! -z "$PS" ]; then echo ' bbs is already running' exit 1 fi su -fm bbs -c $BBSHOME/bin/camera > /dev/null 2>&1 su -fm bbs -c $BBSHOME/bin/account > /dev/null 2>&1 su -fm bbs -c $BBSHOME/bin/xchatd > /dev/null 2>&1 su -fm bbs -c $BBSHOME/innd/innbbsd > /dev/null 2>&1 $BBSHOME/bin/bbsd $BBSHOME/bin/bguard echo -n ' bbsd' if [ -x $BBSHOME/bin/bpop3d ]; then echo -n ' bpop3d' $BBSHOME/bin/bpop3d fi if [ -x $BBSHOME/bin/gemd ]; then echo -n ' gemd' $BBSHOME/bin/gemd fi ;; stop) if [ -z "$PS" ]; then echo ' bbs is not running' exit 1 fi killall -9 xchatd su -fm bbs -c "$BBSHOME/innd/ctlinnbbsd shutdown" killall -9 bbsd killall -9 bguard for i in `ipcs | grep bbs | awk '{print $3}'` do if [ $OSTYPE = "FreeBSD" ]; then ipcrm -M $i else if [ $OSTYPE = "linux-gnu" -o $OSTYPE = "Linux" ]; then ipcrm shm $i fi fi done echo -n ' bbsd' if [ -x $BBSHOME/bin/bpop3d ]; then echo -n ' bpop3d' killall -9 bpop3d fi if [ -x $BBSHOME/bin/gemd ]; then echo -n ' gemd' killall -9 gemd fi ;; *) echo "Usage: `basename $0` {start|stop}" >&2 ;; esac exit 0 ========================我是bbs.sh的分隔線================================ 然後放到 /usr/local/etc/rc.d/ 裡面即可食用 :) ※ 後記 1. 感謝你看到這邊, 不管你是不是跳過前面也好 :p 2. 一而再再而三的修正, 真對不起大家的眼睛 :Q -- ^..^ < 豬 頭 紀 公 園 - php.twbbs.org (140.113.208.200) > -w @@ w-- < lion.ee.ncku.edu.tw >
文章代碼(AID): #_auWs00 (SetupBBS)
文章代碼(AID): #_auWs00 (SetupBBS)