★ 一台主機上架二個 BBS 站 ★
一、安裝作業系統
二、下載 BBS 程式
三、建立 BBS 帳號
四、安裝 BBS
五、設定 BBS 環境 -- (A)如果有 inetd【FreeBSD】
五、設定 BBS 環境 -- (B)如果有 xinetd【Linux】
五、設定 BBS 環境 -- (C)如果沒有 inetd/xinetd
六、其他設定
七、享用您自己的 BBS
本文件是寫給要安裝 itoc 所維護的 bbs 程式版本所使用的,並不適用
其他 bbs 版本。
一、安裝作業系統
我想這步驟,您應該已經完成了。
二、下載 BBS 程式
在 http://processor.tfcis.org/~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 GEMD_PORT 3070 /* Gopher 所用的 port (gemd.c) */
#define FINGER_PORT 3079 /* Finger 所用的 port (bguard.c) */
#define POP3_PORT 3110 /* POP3 所用的 port (bpop3d.c) */
#define BNNTP_PORT 3119 /* NNTP 所用的 port (bnntp.c) */
#define CHAT_PORT 6838 /* 聊天室 所用的 port (chat.c xchatd.c) */
#define INNBBS_PORT 10777 /* 轉信 所用的 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 */
-bbs- % joe /home/bbs2/src/include/dns.h
如果您沒有 relay server 可幫您的 BBS 寄信的話,那麼請跳過這一步,
但您將可能無法對外寄信到某些站台。
如果您有 relay server 可幫您的 BBS 寄信的話,請將 HAVE_RELAY_SERVER
的 #undef 改成 #define,並改 RELAY_SERVER 的定義值。
#define HAVE_RELAY_SERVER /* 採用 relay server 來外寄信件 */
#ifdef HAVE_RELAY_SERVER
#define RELAY_SERVER "mail.tnfsh.tn.edu.tw" /* outbound mail server */
#endif
例如在交通大學的站可以使用 "smtp.nctu.edu.tw",而使用 HiNet ADSL 的
站可以使用 "msa.hinet.net"。
-bbs2- % joe /home/bbs2/bin/install.sh
修改 schoolname bbsname ... msg_bmw 等數項,例如改成以下這樣
(請參考 install.sh 前面的註解,對名稱有些限制)
schoolname="太陽星系"
bbsname="火星樂園"
bbsname2="MarsBBS"
sysopnick="戰神馬斯"
myipaddr="200.100.50.25"
myhostname="solarmars.twbbs.org"
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
smtp2 stream tcp wait bbs2 /home/bbs2/bin/bmtad bmtad -i
gopher2 stream tcp wait bbs2 /home/bbs2/bin/gemd gemd -i
finger2 stream tcp wait bbs2 /home/bbs2/bin/bguard bguard -i
pop32 stream tcp wait bbs2 /home/bbs2/bin/bpop3d bpop3d -i
nntp2 stream tcp wait bbs2 /home/bbs2/bin/bnntpd bnntpd -i
http2 stream tcp wait bbs2 /home/bbs2/bin/bhttpd bhttpd -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/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/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/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/nntp2
將這檔案改成此內容 (這檔案有可能原本是沒有任何文字的開新檔案)
service nntp2
{
disable = no
flags = REUSE
socket_type = stream
wait = yes
user = bbs2
server = /home/bbs2/bin/bnntpd
server_args = -i
}
-root- # joe /etc/xinetd.d/http2
將這檔案改成此內容 (這檔案有可能原本是沒有任何文字的開新檔案)
service http2
{
disable = no
flags = REUSE
socket_type = stream
wait = yes
user = bbs2
server = /home/bbs2/bin/bhttpd
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/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/gemd
/home/bbs2/bin/bguard
/home/bbs2/bin/bpop3d
/home/bbs2/bin/bnntpd
/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
加入以下數行
# 第二個BBS
telnet2 3023/tcp
telnet2 3023/udp
smtp 3025/tcp mail #Simple Mail Transfer
smtp 3025/udp mail #Simple Mail Transfer
gopher 3070/tcp
gopher 3070/udp
finger 3079/tcp
finger 3079/udp
pop3 3110/tcp #Post Office Protocol - Version 3
pop3 3110/udp #Post Office Protocol - Version 3
nntp 3119/tcp usenet #Network News Transfer Protocol
nntp 3119/udp usenet #Network News Transfer Protocol
xchat 6838/tcp
xchat 6838/udp
bbsnntp 10777/tcp usenet #Network News Transfer Protocol
bbsnntp 10777/udp usenet #Network News Transfer Protocol
xchat2 6838/tcp
xchat2 6838/udp
bbsnntp2 10777/tcp usenet
bbsnntp2 10777/udp usenet
-root- # reboot
重開機吧
七、享用您自己的 BBS
您的 BBS2 應該已經架好了,試著 telnet 看看,那就這樣好好享用吧。
--
交大電子 杜宇軒
E-Mail: itoc.bbs@bbs.tnfsh.tn.edu.tw
WWW: http://processor.tfcis.org/~itoc
|