ytht bbs 安裝手冊

來源:互聯網
上載者:User
本文由 ytht系統維護組負責維護。
在參閱多人文章後整理得到。
您認為在本文中發現了懷疑有錯的地方,或是不通的語句、錯字別字,請與sofire@ytht.net聯絡。

準備工作:
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 --> [sysop@ytht.org]
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》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.