★ 一台主機上架二個 BBS 站 ★ 一、安裝作業系統 二、下載 BBS 程式 三、建立 BBS 帳號 四、安裝 BBS 五、設定 BBS 環境 -- (A)如果有 inetd【FreeBSD】 五、設定 BBS 環境 -- (B)如果有 xinetd【Linux】 五、設定 BBS 環境 -- (C)如果沒有 inetd/xinetd 六、其他設定 七、享用您自己的 BBS 本文件是寫給要安裝 itoc 所維護的 bbs 程式版本所使用的,並不適用 其他 bbs 版本。 一、安裝作業系統 我想這步驟,您應該已經完成了。 二、下載 BBS 程式 在 http://home.pchome.com.tw/soho/itoc/ 可以找到最新的程式版本, 應該長得像 MapleBBS-3.10-20yymmdd-PACK.tgz 這樣的檔名,這是主程式。 三、建立 BBS 帳號 以 root 身分登入。 -root- # vipw 如果您是 FreeBSD 的話,在最後一行加上 bbs2:*:9998:98::0:0:BBS2 Administrator:/home/bbs2:/bin/tcsh 如果您是 Linux 的話,在最後一行加上 bbs2:x:9998:998:BBS2 Administrator:/home/bbs2:/bin/tcsh (當然您也可以用 pw 或 useradd 的指令來完成相同的動作) -root- # joe /etc/group (假設編輯器是 joe,如果不是的話,請自行改變) 如果您是 FreeBSD 的話,在最後一行加上 bbs2:*:998:bbs2 如果您是 Linux 的話,在最後一行加上 bbs2:*:998:bbs2 (當然您也可以用 pw 或 groupadd 的指令來完成相同的動作) -root- # passwd bbs2 輸入 bbs2 的密碼 -root- # tar xvfz /tmp/MapleBBS-3.10-20yymmdd-PACK.tgz -C /tmp/ mv -f /tmp/bbs /home/bbs2 假設您把 BBS 程式檔案放在 /tmp/ -root- # chown -R bbs2:bbs2 /home/bbs2 四、安裝 BBS 以 bbs2 身分登入。 -bbs2- % joe /home/bbs2/src/include/config.h (A) 修改 HOST_ALIASES,把您所有的 fqdn 都加進去 #define HOST_ALIASES {MYHOSTNAME, MYIPADDR, \ "wolf.twbbs.org", "wolf.twbbs.org.tw", \ NULL} (B) 如果您是 FreeBSD 的話,改 BBSGID 為 98 如果您是 Linux 的話,改 BBSGID 為 998 #define BBSGID 98 /* Linux 請設為 998 */ (C) 修改 BBSHOME 及 BAKPATH #define BBSHOME "/home/bbs2" /* BBS 的家 */ #define BAKPATH "/home/bbs2/bak" /* 備份檔的路徑 */ (D) 修改 port 及 shm/sem key,數字不要和已有的服務相衝 #define MAX_BBSDPORT 1 /* bbsd 要開幾個 port,隨 BBSD_PORT 而變 */ #define BBSD_PORT {3023} /* bbsd 所用的 port (bbsd.c) */ #define BMTA_PORT 3025 /* SMTP 所用的 port (bmtad.c) */ #define POP3_PORT 3110 /* POP3 所用的 port (bpop3d.c) */ #define GEMD_PORT 3070 /* Gopher 所用的 port (gemd.c) */ #define FINGER_PORT 3079 /* Finger 所用的 port (bguard.c) */ #define CHAT_PORT 6838 /* 聊天室 所用的 port (chat.c xchatd.c) */ #define INNBBS_PORT "8888" /* 轉信 所用的 port (channel.c) */ #define BRDSHM_KEY 12997 /* 看板 */ #define UTMPSHM_KEY 11998 /* 使用者 */ #define FILMSHM_KEY 12999 /* 動態看板 */ #define PIPSHM_KEY 14998 /* 電子雞對戰 */ #define BSEM_KEY 12000 /* semaphore key */ -bbs2- % joe /home/bbs2/bin/install.sh 修改 schoolname bbsname ... msg_bmw 等數項,例如改成以下這樣 (請注意不要有空白或是[]符號) schoolname="太陽星系" bbsname="火星樂園" bbsname2="Solar.Mars.BBS" sysopnick="戰神馬斯" tag_valid="MarsBBS" myipaddr="200.100.50.25" myhostname="solarmars.twbbs.org" bbs_token="Mars" msg_bmw="火球" 如果您是使用 Linux 的話,還要改 ostype="linux" -bbs2- % /home/bbs2/bin/install.sh 您需要等待一段時間來完成編譯 -bbs2- % rm -f /home/bbs2/bin/install.sh sed 用過一次以後就沒用了,那就跟它說聲再見吧 -bbs2- % crontab /home/bbs2/doc/crontab 把 doc/crontab 的內容加入 crontab 五、設定 BBS 環境 -- (A)如果有 inetd 如果沒有 /etc/inetd.conf 這檔案,請跳到五(B),通常 FreeBSD 應該有 inetd 才對。 以 root 身分登入。 -root- # joe /etc/inetd.conf 加入以下數行 # # MapleBBS2 # telnet2 stream tcp wait bbs2 /home/bbs2/bin/bbsd bbsd -i finger2 stream tcp wait bbs2 /home/bbs2/bin/bguard bguard -i pop32 stream tcp wait bbs2 /home/bbs2/bin/bpop3d bpop3d -i gopher2 stream tcp wait bbs2 /home/bbs2/bin/gemd gemd -i smtp2 stream tcp wait bbs2 /home/bbs2/bin/bmtad bmtad -i xchat2 stream tcp wait bbs2 /home/bbs2/bin/xchatd xchatd -i bbsnntp2 stream tcp wait bbs2 /home/bbs2/innd/innbbsd innbbsd -i -root- # joe /etc/rc.d/rc.local 加入以下數行 # # MapleBBS2 # su bbs2 -c '/home/bbs2/bin/camera' su bbs2 -c '/home/bbs2/bin/account' 五、設定 BBS 環境 -- (B)如果有 xinetd 如果沒有 /etc/xinetd.d/ 這目錄,請跳到五(C),通常 Linux 應該有 xinetd 才對。 以 root 身分登入。 -root- # joe /etc/xinetd.d/telnet2 service telnet2 { disable = no flags = REUSE socket_type = stream wait = yes user = bbs2 server = /home/bbs2/bin/bbsd server_args = -i } -root- # joe /etc/xinetd.d/xchat2 service xchat2 { disable = no flags = REUSE socket_type = stream wait = yes user = bbs2 server = /home/bbs2/bin/xchatd server_args = -i } -root- # joe /etc/xinetd.d/bbsnntp2 service bbsnntp2 { disable = no flags = REUSE socket_type = stream wait = yes user = bbs2 server = /home/bbs2/innd/innbbsd server_args = -i } -root- # joe /etc/xinetd.d/pop32 service pop32 { disable = no socket_type = stream wait = yes user = bbs2 server = /home/bbs2/bin/bpop3d server_args = -i } -root- # joe /etc/xinetd.d/finger2 service finger2 { disable = no socket_type = stream wait = yes user = bbs2 server = /home/bbs2/bin/bguard server_args = -i } -root- # joe /etc/xinetd.d/smtp2 service smtp2 { disable = no socket_type = stream wait = yes user = bbs2 server = /home/bbs2/bin/bmtad server_args = -i } -root- # joe /etc/xinetd.d/gopher2 service gopher2 { disable = no flags = REUSE socket_type = stream wait = yes user = bbs2 server = /home/bbs2/bin/gemd server_args = -i } -root- # joe /etc/rc.local 加入以下數行 # # MapleBBS2 # su bbs2 -c '/home/bbs2/bin/camera' su bbs2 -c '/home/bbs2/bin/account' 五、設定 BBS 環境 -- (C)如果沒有 inetd/xinetd 沒 inetd 也沒 xinetd,改用 standalone 啟動 以 root 身分登入。 -root- # joe /etc/rc.local 加入以下數行 # # MapleBBS2 # /home/bbs2/bin/bbsd /home/bbs2/bin/bmtad /home/bbs2/bin/bpop3d /home/bbs2/bin/gemd /home/bbs2/bin/bguard /home/bbs2/bin/xchatd /home/bbs2/innd/innbbsd su bbs2 -c '/home/bbs2/bin/camera' su bbs2 -c '/home/bbs2/bin/account' 六、其他設定 以 root 身分登入。 -root- # joe /etc/services 加入以下數行 telnet2 3023/tcp # 第二個BBS xchat 6838/tcp xchat 6838/udp bbsnntp 8888/tcp usenet #Network News Transfer Protocol bbsnntp 8888/udp usenet #Network News Transfer Protocol -root- # reboot 重開機吧 七、享用您自己的 BBS 您的 BBS2 應該已經架好了,試著 telnet 看看,那就這樣好好享用吧。 -- 交大電子 杜宇軒 E-Mail: itoc.bbs@bbs.tnfsh.tn.edu.tw WWW: http://home.pchome.com.tw/soho/itoc |