• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • smthbbs安裝全攻略

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    折騰了一個月,水木的論壇終于裝得差不多了,在這期間居然讓我碰上了前所未有的事 件。慶幸自己在3月初把水木精華區關于安裝的文檔都保存了,否則真不知道要裝到什么時候 ?,F在趕快把安裝步驟寫下來,給想安裝的朋友留點參考。 我用的是FC3的系統,這里就以

         折騰了一個月,水木的論壇終于裝得差不多了,在這期間居然讓我碰上了前所未有的事

    件。慶幸自己在3月初把水木精華區關于安裝的文檔都保存了,否則真不知道要裝到什么時候

    ?,F在趕快把安裝步驟寫下來,給想安裝的朋友留點參考。
         我用的是FC3的系統,這里就以此為例。安裝前請用rpm -qa xxx命令檢查系統所需的軟

    件包是否已安裝。需要的軟件包有:zlib,autoconf,automake,libtool,libxml2,

    libiconv,libjpeg,libjpeg-devel, libpng,libpng-devel, freetype2,gd,gd-

    devel,openssl,gmp-4.X,這些系統盤就有,裝全就是了。
        下面安裝libesmtp,首先下載到源代碼包,然后執行如下命令:   
    tar xzvf libesmtp-1.0.tar.gz //解壓libesmtp
    cd libesmtp-1.0 //進入libesmtp源碼目錄
    ./configure --disable-pthreads
    make
    make install    
    這樣libesmtp就安裝成功了。
         安裝mysql沒有什么特別要求,按mysql文檔安裝即可。
         現在做一些約定:
    $(BBSHOME)         表示 bbs 的安裝目錄,缺省為 /home/bbs,在本文中指定

    為/usr/local/bbs
    $(WWWHOME)         表示 apache 的安裝目錄,在本文中指定為 /usr/local/www
    $(PHPHOME)         表示 php 的安裝目錄,在本文中按缺省的 /usr/local
          安裝apache和php:
    我下載到的是httpd-2.0.52和php4.3.10,以此為例。需要注意的是,apache直接編譯安裝后

    最大上線人數為256,修改httpd.conf也沒用,我經過查資料發現這個辦法,就是修改源代碼

    。修改源代碼目錄中的/include/httpd.h,加上下面的條件定義語句:
    #ifdef HARD_SERVER_LIMIT
    #define HARD_SERVER_LIMIT 10000
    #endif
    這樣就可以把限制提高到10000人。修改完畢就可以編譯了(直接用命令表示):
    cd httpd-2.0.52 //進入源代碼目錄
    ./configure --prefix=/usr/local/www --enable-module=so --enable-module=ssl
    make
    make install

    cd ../php4.3.10
    ./configure --with-apxs2=/usr/local/www/bin/apxs --disable-debug \
                 --enable-pic --disable-rpath --enable-inline-optimization \
                 --with-dom --with-gd --with-freetype-dir=/usr/lib \
                 --with-png-dir --with-iconv --with-jpeg-dir --with-zlib \
                 --enable-track-vars
              make
              make install
    OK!安裝前的準備終于做好了?。?!
          現在可以安裝smthbbs了。動手前還得修改站點定制文件,這里用的是fb2k-v2,在site

    目錄下,注意驗證fb2k-v2.h中BBSUID 和 BBSGID 與本地系統的 bbs 用戶的 uid gid 是否一

    致,如果不一致請調整到一致。其余的就是你的站點的一些參數,注意修改。
    下面開始編譯:
    ./configure --prefix=/usr/local/bbs --enable-site=fb2k-v2 --with-

    www=/usr/local/www --with-php=/usr/local/include/php --with-mysql --enable-ssl
    make
    make install
    make install-home
    chown -R bbs:bbs /usr/local/bbs
    如果一切順利,至此 smthbbs、apache 和 php 都已經安裝完畢。
          運行前配置:
    web方式:
        apache 的配置文件為 /usr/local/www/conf/httpd.conf,編輯該文件,加入
            AddType application/x-httpd-php .php

        修改 Port 參數為 80,把 User 和 Group 參數都修改為 bbs。
        請把 KeepAlive 參數設為 Off.

        將 smthbbs 源代碼目錄 bbs2www/xml 下的文件復制到 /usr/local/www/htdocs。

        php 的配置文件可以從 php 源代碼目錄得到,將 php.ini-dist 復制為
    /usr/local/lib/php.ini,然后編輯 php.ini 文件,將 short_open_tag 的值修改為
    Off。

        運行 smthbbs
              cd /usr/local/bbs/bin
              ./miscd daemon
              ./bbslogd
              ./bbsd -p 23
             
         然后 telnet localhost,注冊 SYSOP 和 guest 兩個帳號。
         guest的密碼隨便寫了.
         運行 apache
              /usr/local/www/bin/apachectl start

         到目前為止,論壇已經可以運行了,但還有許多工作要做!:(
    修改分類討論區:
    這里直接借用前輩的文檔了!:-)
    修改分類討論區

        修改站點的分類討論區一般來說有兩個步驟,一是需要修改站點的配置文件,二是需
    要改動代碼。配置文件的修改主要和用戶界面有關,而源代碼的修改主要和統計程序以及
    站務管理有關。

    6.1 修改站點配置文件

        需要改動的文件是 ~bbs/etc/menu.ini 和 web 主目錄下面的 site.php。下面是
    menu.ini 分類討論區子菜單的一個簡略形式,后面的講解將都以此為例:

    #------------------------------------------------------------------
    %menu M_EGROUP
    title        0, 0, "分類討論區選單"
    screen       3, 0, S_EGROUP
    @EGroups     10, 22, 0, "0BBS",      "(0) 本站系統   [本站]"
    @EGroups     0, 0, 0,   "1USA",      "(1) 人在美國   [校園][創業]"
    @EGroups     0, 0, 0,   "2GoAbroad", "(2) 大話西游   [留學][學校][團體]"
    @BoardsNew   0, 0, 0,   "New",       "(N) 閱讀新文章"
    !..          0, 0, 0,   "Exit",      "(E) 回到主選單"
    %
    EGROUP0 = "a"
    EGROUP1 = "b"
    EGROUP2 = "c"
    #------------------------------------------------------------------

    這里需要注意的地方是:分類討論區菜單的第 5 個參數的第一個字母是序列號,這個序
    列號通過下面的 EGROUP? 來定義分區代號(一般是一個字母或數字)。比如這里的第一
    個分類討論區“本站系統”,序列號是 0,分區代號是 a(由 EGROUP0 定義)。注意:
    序列號只是 menu.ini 內部引用使用,沒有任何別的用處!后面的修改,以及新建和修改
    討論區都只需要知道分區代號即可,在這個例子中,三個分區代號分別是 a b c。
        一般可以把序列號和分區代號設置成一樣。
        改完 menu.ini 參考 4.3 節使之生效。(站務在主菜單按~)
       
        另一個需要修改的配置文件是 site.php,上面的例子就需要在 site.php 內用下面
    的代碼:

    $section_nums = array("a", "b", "c");
    $section_names = array(
        array("本站系統", "[本站]"),
        array("人在美國", "[校園][創業]"),
        array("大話西游", "[留學][學校][團體]")
    );


    6.2 修改源代碼
        修改分類討論區需要修改站點的 site.c 和 site.h 文件。不推薦直接修改
    default.h 和 default.c 文件。
        smthbbs 系統有一個 ~bbs/0Announce/groups/ 目錄,這是版面精華區的總目錄,該
    目錄下存放所有版面的精華區。一般站點希望版面分區結構和精華區分區結構完全一致。
    以上面的例子為例,一共三個分類討論區,那么討論區精華的總目錄下應該有三個目錄,
    我們把它們分別取名為 GROUP_0 GROUP_1 GROUP_2。修改分類討論區往往會需要修改精華
    區結構,所以修改完分類討論區之后站務應該進入精華區調整,比如建立目錄,修改
    .Names 文件等。

        源代碼的修改首先是 site.h 里面的 SECNUM 常數,它應該定義為分類討論區數量:
    #define SECNUM 3

        剩下的修改都在 site.c 里面了,為此確保 site.h 沒有定義 USE_DEFAULT_SECODE。

        site.c 內一共有四個常量和分類討論區有關,請注意常量的類型定義絕不能改。

    const char seclearcase/" target="_blank" >ccode[SECNUM][5] = {"a", "b", "c"};
        這個是分區代號,部分統計程序需要用到。

    const char * const explain[] = {
        "本站系統",
        "人在美國",
        "大話西游",
        NULL
    };
        分類討論區的區名,web 下的站點管理會用到。最后的 NULL 不能漏!

    const char * const groups[] = {
        "GROUP_0",
        "GROUP_1",
        "GROUP_2",
        NULL
    };
        精華區總目錄下相應分區的目錄名,開版和修改版面設定的時候會用到。
        最后的 NULL 不能漏!

    const char secname[SECNUM][2][20] = {
        {"本站系統", "[本站]"},
        {"人在美國", "[校園][創業]"},
        {"大話西游", "[留學][學校][團體]"},
    };
        分類討論區說明,就按照這個格式依樣畫葫蘆好了。實際上只有 secname[i][0] 才
        真正在程序中用到,目的是開版和修改版面精華區位置的時候提示選擇用。
       
        另一個需要注意的問題是,每個版面的精華區目錄位置都是完全獨立儲存的,和上面
    的修改毫無關系。所以像上面的例子,如果我們決定把 GROUP_0 的目錄名改掉,那樣的
    話不但要進行類似上面所述的修改,而且精華區位于 GROUP_0 目錄內的版面都應該要進
    入系統管理菜單重新設定討論區,選擇移動精華區位置,指定新的目錄。

        修改源代碼之后需要重新編譯安裝 BBS 程序??梢钥吹皆创a的修改只和管理操作
    和統計程序相關,所以在實際操作中,如果是減少分區數目或者修改分類討論區說明,可
    以僅調整 menu.ini 和 site.php,而不修改源代碼。

    然后是生成首頁導讀必須的文件,繼續使用前輩的成果:
    為首頁導讀生成必要的xml文件

        3.4.1首頁導讀各元素和xml文件的對應關系簡表

        所有需要的xml文件都是保存在$(BBSHOME)/xml/目錄的,如果您的站臺沒有此目錄
        請以bbs帳號在$(BBSHOME)生成此目錄。

        所有生成xml需要執行的程序,都保存在$(BBSHOME)/bin,源文件在$(SRCDIR)/local_u
        tl

        以下為了描述方便,不再指明xml和程序的目錄。

     
    首頁導讀元素  需要的xml文件  mainpage.php當中相關函數  生成此xml需執行的程序
     
        推薦文章      commend.xml    gen_commend_html()          genhot
     
        本日熱點話題  day.xml        gen_hot_subjects_html()     poststat
     
        分類精彩討論區 day_sec*.xml  gen_sections_html           poststat
                                     gen_sec_hot_subjects_html()
                                  
        新開版面       newboards.xml gen_new_boards_html()       gennewboard
     
        推薦版面       rcmdbrd.xml   gen_recommend_boards_html() 手工寫的沒有程序
     
        人氣排名       board.xml     gen_board_rank_html()       usage
     
        今日祝福       bless.xml     gen_blessing_list_html()    poststat
     
        3.4.2 crontab當中有關首頁導讀的部分
     
        參考$(SRCDIR)contrib/cron.SMTH,在bbs帳號的crontab里面調用各程序生
        成以上xml的部分如下所示。請添加到您的bbs帳號的crontab里面。注意以
        下不是完整的bbs帳號的crontab,只是和首頁導讀相關部分的內容,完整的
        crontab列表請參考$(SRCDIR)/contrib/cron.SMTH。時間以及程序的完整路徑等
        內容請根據自己站臺的情況進行調整。
     
        # 定時更新推薦文章   
        0,10,20,30,40,50 * * * * /home/bbs/bin/genhot
        # 每小時 59 分執行熱門話題統計; 1 分 html 化    
        59 * * * * /home/bbs/bin/poststat /home/bbs
        # stiger:新的十大統計   
        59 23 * * * rm -f /home/bbs/tmp/Xpost/*
        # 每天早上 4:33 統計各版使用狀況0   
        33 4 * * * /home/bbs/bin/usage 0 >/dev/null 2>&1   
        36 4 * * * /home/bbs/bin/usage 1 >/dev/null 2>&1
     
      
        至于gennewboard,如果您的站臺經常開新版,那么把它加入crontab;如果不經
        常開新版,在bbs系統上開完新版之后,用bbs帳號手動執行一下也可以。
     
        推薦文章需要在站上開一個版,Recommend版,然后版主在版面上推薦的文章前面
        按;3,此文章進入Recommand版,站務在Recommend版需要推薦的文章前面按g就可
        以使得此文章出現在web首頁導讀的推薦文章了。
     
        3.4.3手工生成rcmdbrd.xml
     
        編輯,$(BBSHOME)/xml/rcmdbrd.xml,按照以下格式,感謝windinsn提供
        <?xml version="1.0" encoding="GBK"?>
        <RecommendBoards>
        <Board><EnglishName>這里寫版面的英文名</EnglishName></Board>
        <Board><EnglishName>...</EnglishName></Board>
        ...
        <Board><EnglishName>...</EnglishName></Board>
        </RecommendBoards>

     
        至此,所有的首頁導讀的元素都已經生成完畢,在瀏覽器打開
        http://yoursite./mainpage.php 應該可以得到看到首頁導讀的各元素。

        現在已經基本完成了,但為了簡化注冊過程,我取消了發激活郵件的過程,web填寫密碼

    并直接生成注冊單,謝謝前輩的文檔,我就偷懶了!:>
    bbs2www/html/bbsreg.html
    增加兩個<input
    <input type="password" name="pass1">
    <input type="password" name="pass2">

    bbs2www/html/bbsreg.php
    首先判斷$_POST["pass1"]和$_POST["pass2"]一不一樣,不一樣就直接html_error_quit
    另外我記得密碼的位數必須是5-39位(inclusive),這個最好限定一下。
    我不確定出了這個范圍會不會有問題

    $password=bbs_findpwd_check("","",""); 改成
    $password = $_POST["pass1"] 赫赫,bbs_findpwd_check是一個自動產生密碼的垃圾函數

    從$mailbody開始到那個發送郵件失敗的http_error_quit都不要了

    bbs_createregform函數調用的最后那個參數,改成FALSE,這個非常關鍵??!
    這樣做就會填完注冊單站務就可以在系統管理菜單->審批注冊單看到。

    后面的提示稍微改改,可能就差不多了。

    另外你的src/site.h最好是這樣的:
    #define REGISTER_WAIT_TIME      (0)
    #define REGISTER_WAIT_TIME_NAME "馬上"
    這兩個smth默認好像是48小時,比較bt。這樣改能保證telnet立即能填寫注冊單。

    我按上面的方法修改后還是有一點問題,就是被拒的用戶在web里重新填寫注冊單站務卻看不

    到,琢磨了半天,終于搞定。修改bbs2www/html/bbsfillform.php,把里面bbs_createregform

    函數最后一個參數也全改成FALSE,這樣就OK了。

        好了,終于安裝好了,累死我了!至于blog,我安裝后還是有問題,而現在沒法上水木提

    問了,只好先不要了。;(

        至于我裝的站臺,教育網用戶可以到http://202.195.144.15看一看,公網無法訪問,大家都知道原因的吧!

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>