天天看點

ytht bbs 安裝手冊

本文由 ytht系統維護組負責維護。

在參閱多人文章後整理得到。

您認為在本文中發現了懷疑有錯的地方,或是不通的語句、錯字别字,請與[email protected]聯系。

準備工作:

1:确認安裝了常見開發軟體包,如 gcc ,autoconf,automake等

2:如果要安裝運作web服務,确認安裝了apache伺服器

3:有root權限,同時不要過分使用,否則很容易出權限問題

4:可以不安裝mysql, fastcgi等軟體,這些可以在完善系統時考慮

5:了解su useradd passwd cvs 等指令的使用,和環境變量的知識

下面以rh9環境說明ytht的安裝。

過程中沒有提到安裝錯誤,如果遇到,請參閱本文後面的補充說明。

一: 建立bbs使用者

使用下面的指令建立使用者

$ su -

[root]# useradd -u9999 -g99 -d /home/bbs bbs

[root]# passwd bbs

添加bbs帳戶,使用者id是9999,組id是99,初始目錄是/home/bbs ,目錄可以按照需要改動。

二:獲得ytht最新代碼

下載下傳ytht的源代碼,并放在/home/src目錄下,:

[root]# cvs -z9 co -d /home/src bbs  #這步可以省掉,但是你應該知道代碼放的位置

把代碼屬主更改成bbs:

[root]# chown -R 9999.99 /home/src

下面開始安裝telnet服務的安裝

三:配置編譯參數

現在不需要用root權限,換成bbs使用者吧。

[bbs]$ cd /home/src

[bbs]$ ./makedist.sh

[bbs]$ ./configure

注意 checking for xxx 資訊,如果出現 no,表明有的服務暫時不能使用。但不影響基本服務的安裝

然後出現:

Home directory of BBS --> [/home/bbs]

UID of BBS --> [9999]

GID of BBS --> [99]

USER of BBS --> [bbs]

The ID of your site --> [YTHT]

The name of your site --> [一塌糊塗 BBS]

The domain name of your site --> [ytht.net]

The ip address of your site --> [162.105.31.222]

The location of your site --> [北京大學]

Email of your bbs administrator --> [[email protected]]

Maximum number of users --> [250000]

Maximum number of boards --> [1000]

Maximum number of on-line users --> [30000]

Runtime Maximum number of on-line users --> [30000]

BBS listen port --> [23]

BBS listen port(BIG5) --> [2300]

MySQL DATABASE NAME --> [test]

MySQL USER NAME --> [test]

MySQL USER PASSWORD --> [test]

cgi install directory --> [/home/httpd/cgi-bin]

html install directory --> [/home/httpd/html/2001]

the initial mark string for webpage --> [Ytht.Net]

上面的資訊,按照實際情況填寫,如果不滿意,可以重新運作 ./configure ,再次填寫。

更多内容,請參閱 bbsconfig 檔案。

四:編譯源代碼并安裝telnet服務

[bbs]$ make

這一步會自動編譯安裝 /home/src/ythtlib 和 /home/src/libythtbbs 下的内容,并編譯

/home/src/src 和 /home/src/local_utl 下的内容。編譯通過後, 繼續運作:

[bbs]$ make install

這一步會建立 bbs 的目錄系統,并安裝 /home/src/local_utl 和 /home/src/src 下的可

執行程式到 bbs 的 bin 目錄。

如果已經存在/home/bbs目錄,會出現提示: Warning: /home/bbs already exists, overwrite whole bbs

輸入 y 繼續,請特别注意,如果以前安裝過bbs, 會覆寫很多東西,比如 .BOARDS 檔案,導緻新開的版丢失;

.PASSWDS檔案,導緻所有的使用者資料丢失;就這兩樣你就知道這個操作的危險性了。

是以,隻有在首次安裝bbs 或者完全重新安裝時,才可以在/home/src 目錄下使用 make install。

為了更高效的運作telnet服務,加入下面工作:

[root]# mount none /home/bbs/bbstmpfs -t tmpfs -o size=128m

[bbs]$  cd /home/bbs

[bbs]$  ln -s /home/bbs/bbstmpfs/tmp tmpfast

[bbs]$  ln -s /home/bbs/bbstmpfs/dynamic dynamic

初始化 shm:

[bbs]$ /home/bbs/bin/shminit

運作bbsd 守護程式:

[root]# /home/bbs/bin/bbsd

到此,telnet 服務基本安裝完成!

五:登入注冊 SYSOP 和 guest 賬号

注意 SYSOP 賬号的大小寫。

到此,就可以輕松一下了。

六:配置web服務

确認安裝了apache,如果沒有,可以用redhat9帶的rpm包安裝;也可以用ytht帶的源代碼安裝,詳情參閱補充說明,此處以rehdat9的預設安裝為例。

修改配置檔案 httpd.conf

本文使用ytht預設參數,故

user 和 group 屬性就是 bbs

cgi-bin目錄的路徑是: /home/httpd/cgi-bin

html目錄路徑是:/home/httpd/html/2001

SMAGIC ,即the initial mark string ,設定的是 Ytht.Net

按照上面的參數修改配置檔案(隻列出修改過的地方),您在設定的時候,請使用正确的參數。:

1. 修改user 和 group 屬性

 User bbs

 Group bbs

2. 修改cgi-bin的目錄的路徑

 ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin"

 <Directory "/home/httpd/cgi-bin">

3. 修改html目錄的路徑

 DocumentRoot "/home/httpd/html/2001"

 <Directory "/home/httpd/html/2001">

4. 加上url重寫規則,在配置檔案最後添加上

 RewriteEngine on

 RewriteRule ^/Ytht.Net(.*)/bbschat(.*) /cgi-bin/www/bbschat [PT]

 RewriteRule ^/Ytht.Net(.*)$ /cgi-bin/www [PT]

 RewriteRule  ^/$        /cgi-bin/www [PT]

七:運作web服務

[root]# /etc/init.d/httpd start

用浏覽器登入,終于看到糊塗的白菜了......

并且能正常登入

發表一下文章看看......正常

到此,想必你已經精疲力盡了。該好好休息一下。

八:補充說明

安裝bbs,沒有不出問題的。是以,必須要有良好的心理素質。

下面的問題,都是經典。不得不看。

1. nobody的組号也是99

把/etc/group中的nobody改成bbs;或者把nobody的組号換成一個其他數,比如98,再建立bbs組,或者不改也可以。

順便說一下, bbs的uid和gid沒有固定的數值,可以是任意的;也沒有固定的id,用sbb也可以。

隻需要在 configure 時候填寫正确的 bbsusername uid gid 即可

2. 運作./makedist.sh時出現下面的錯誤:

cp: cannot stat `/usr/share/automake/config.sub': No such file or directory

cp: cannot stat `/usr/share/automake/config.guess': No such file or directory

cp: cannot stat `/usr/share/automake/install-sh': No such file or directory

在/usr/share目錄下,可能有 automake-1.4 automake-1.5 automake-1.6 ,但沒有 automake 目錄,

是以,修改一下makedist.sh檔案,把/usr/share/automake換成/usr/share/automake-1.6,

或者用下面指令:

[root]# ln -s /usr/share/automake-1.6 /usr/share/automake

此處選擇了版本較高的automake,沒有特别的原因。

3. 運作./configure指令時出現 checking for xxxxxxx   no

如果不影響下一步,可以暫時不管。在完善系統時再安裝。當然,現在安裝上更好。具體安裝方法參閱其他文章。(如過還沒有,請到ytht的bbsdev版查找)

4. the initial mark string for webpage是什麼意思?

看個執行個體: http://www.ytht.net/Ytht.NetBNLAAACWVZHCONHFTJTZHNCXDGEEFBVRCWZWP_B/?t=1080891866

                              ~~~~~就是這個

在bbsconfig 檔案中是 LAST_SMAGIC

5. 不想每次運作./configure 時都重新填寫一遍

修改/home/bbs/bbsconfig 檔案 。

6. 關于mount指令

因為tmpfs每次重新開機機器都要mount,于是在/etc/fstab的最後加一行

/home/bbs/bbstmpfs      /home/bbs/bbstmpfs      tmpfs   size=8M 0 0

大小的選擇:一般來說,18000人的站點,tmpfs 尺寸在512M比較合适,

一般的站點,根據自己的記憶體規模和上站人數适當調整即可,

由于核心的配置設定特點,這裡如果配置設定大了,實際上不會浪費記憶體的

7. 為什麼不能把 bbsd 綁定在 23号端口

使用 root 賬号

8. 錯誤提示: please init shm first

沒有運作 bin/shminit 程式

沒有這個程式?忘了在 local_utl目錄下運作 make install 了。

9. 注冊了 sysop 賬号,但不是 SYSOP(注意全是大寫),怎麼辦

重新注冊! 把賬号檔案 /home/bbs/.PASSWDS 删了,或者把檔案中的sysop改成其他賬号名,然後重新注冊。

10. 怎麼配置 httpd.conf 都不能成

運作下面的指令,看看輸出:

export SCRIPT_URL=/

/home/httpd/cgi-bin/www

如果正确,應該是 ytht 的首頁

11. 什麼是“沒有實作的功能”

輸入了不正确的參數給www,比如把login 輸入為 logni ,或者其他一些不知名的原因。

12. 不能看圖   

上面的安裝說明中沒有安裝這個附件:atthttpd

到 /home/bbs/src/atthttpd 目錄下運作:

  make

  [bbs] ./atthttpd

注意:不要 用root賬号,而 是 bbs 賬号

13. 尋找錯誤的蛛絲馬迹

stdout stderr --标準輸出,标準錯誤輸出,其實是指螢幕資訊,大部分的問題都在螢幕上

/home/bbs/deverrlog -- bbs 常見錯誤

/var/log/httpd/*  --httpd 服務不正常,就趕緊到這裡來看原因,有的系統可能不在這裡,而在其他地方。

gdb --自己調試吧

14. 怎麼安裝 software 目錄下的軟體

太複雜,這兒提供不了,得在其他文檔中說明。

15. 怎麼安裝 xxx ?

請參閱《安裝xxx》(可能還沒有寫呢,别急,會有的)。

本文參考:

littleflypig的《今天cvs安裝ytht的筆記》

小椰子的《2003.01.10 ythtbbs代碼的安裝步驟》

lepton的《關于BBS代碼安裝使用修改的幾個tips》

繼續閱讀