這篇文件說明快速安裝的方法, 文章的版號及最後編修時間是: $Id$ ============== 以 root 的權限 ============== 1. 打 vipw, 加入底下兩行 bbs::9999:99::0:0:Ptt BBS:/home/bbs:/home/bbs/bin/bbsrf bbsadm::9999:99::0:0:Ptt BBS:/home/bbs:/bin/csh 2. 執行 passwd bbsadm 設 bbsadm的密碼 3. 在 /etc/group 中加入一行 bbs:*:99: 4. 執行 mkdir /home/bbs 5. 執行 chown bbs.bbs /home/bbs 6. 執行 chmod 700 /home/bbs ==================== 以下用 bbsadm 的身份 ==================== 7. 先切到所要放置源碼的目錄下 (一般在 /home/bbs) , 您可以透過下列任一方式取得 pttbbs 的源碼: 1)至 ftp://ptt2.cc 抓得每日自動製作的 snapshot , 通常檔名長的會像是 pttbbs-DATE-SNAP.tar.gz 再解開該檔即可: tar zxvf pttbbs-DATE-SNAP.tar.gz 2)直接抓取 http://OpenSVN.csie.org/pttbbs/trunk/pttbbs下的所有資料. 如 wget -r -np http://OpenSVN.csie.org/pttbbs/trunk/pttbbs 3)透過 subversion 聯繫 pttbbs version control repository 您必須先安裝 subversion (請參考官方網站 http://subversion.tigris.org/ ) 在 FreeBSD底下, 直接使用 ports 安裝即可: cd /usr/ports/devel/subversion/; make all install 其他作業系統請參考 http://subversion.tigris.org/project_packages.html 或相關文件. 再執行 svn checkout http://OpenSVN.csie.org/pttbbs/trunk/pttbbs 其中不論您以方式 1或 3取得源碼, 您都可以在該目錄下直接透過 svn update 更新至 pttbbs 最新的源碼. 如: cd /home/bbs/pttbbs; svn update (須先安裝 subversion) 8. 切換到 pttbbs 的目錄下 ( cd ~bbs/pttbbs ) 9. 如果您的 pttbbs.conf並不存在, 可以拷一份預設的來用: cp sample/pttbbs.conf pttbbs.conf 10.依據您的須求, 修改 pttbbs.conf 請注意, 預設的 pttbbs.conf是給相當大規模的 bbs用的. 通常您須要進行修改以符合您的須求. * 如果您是用 Linux系統, 請先安裝 pmake, 然後將 make alias 成 pmake * 11.執行 make BBSHOME=/home/bbs all install (如果出現 iconv.h找不到的話, 請見 FAQ 7 ) 12.如果是新架起來的站, 請執行 cd sample; make install 13.執行 cd /home/bbs; bin/initbbs 假如一切都很順利的話,這樣子大概就安裝完了 接下來是啟動 bbs 的部份 14.執行 bin/shmctl init (*註1, *註2) 16.用 root 執行 bin/mbbsd 23 (註2) 17.測試整個系統是否完成: telnet localhost 23 看看 new 一個帳號叫SYSOP, 然後 logout再 login, 這樣子就會擁有站長權限囉~ 再 new一個帳號叫 guest , 這樣子別人就可以用 guest 參觀你的站了 開板, 開群組, 以及搬動群組的方法請看 PttSrc 板的文摘 18.新功能請參考 ADVANCE 19.為了讓開機的時候會自己把 bbs (以及所須要的程式) 跑起來, 若您使用 FreeBSD, 您可以將 sample/pttbbs.sh 拷貝到 /usr/local/etc/rc.d/ 之後您可以重新開機試試看是不是在重開後可以正常運作 :) 20. pttbbs 須要定時執行一些小 tool 來維持系統正常運作, reload cache, 備份, 特殊外部程式等等. 請用 bbs的權限, 執行 crontab -e , 內容請參照 sample/crontab (在大部份的情況下, 直接將 sample/crontab 內容拷備進去即可) 21.在某些情況下, pttbbs會須要一些其他的程式來輔助. 下面列出所須要的程式, 預設的路徑, 以及在 FreeBSD ports內對映的路徑 tar /usr/bin/tar FreeBSD default install gzip /usr/bin/gzip FreeBSD default install rm /bin/rm FreeBSD default install perl /usr/bin/perl /usr/ports/lang/perl5.8/ mutt /usr/local/bin/mutt /usr/ports/mail/mutt/ lynx /usr/local/bin/lynx /usr/ports/www/lynx/ 我們大部份的 perl script會用到 LocalVars.pm , 該檔案內負責定義 各別機器的設定 (如外部程式的路徑) . 請將該檔拷份一份至 ~/bin/ 下, 並修正該檔以符合貴環境的設定. 另外列出我們 perl script會用到的 perl module, 以 FreeBSD ports相對目錄. Mail::Sender /usr/ports/mail/p5-Mail-Sender/ 22.若您有安裝 Blog 相關功能, 您需要先產生一個預設的 Blog 目錄 您可以參考批踢踢兔(telnet://ptt2.cc), Blog看板下的 Blog.Default 目錄, 並且拷貝一份或透過 symbolic link的方式放到 etc/Blog.Default. 同時將 sample/README.BLOG 拷貝到 etc/ 下. 註: 1. 這個程式是在 initial shared memory 用的, 只有開機後第一次執行, 或是 你手動清除 shm 後才需要執行 2. 如果您跑了 shmctl init 或 uhash_loader 並沒有看到 total XXXXX names loaded. 而是看到其他的錯誤訊息 (例如 [shmget error] key = 4cc, errno = 22: Invalid argument) 可能是您作業系統 shared-memory 上限不足, 請參考 FAQ中加大 shared-memory 部份的說明. 3. bin/mbbsd 23 是指定要 bind 23 port, 依照 UNIX 規定, 1024 以下的 port 須要有 root 權限, 所以如果要 bind 23 port 的話就要用 root 去執行, 3000 port 則不需要. 請參考 docs/ADVANCE , 安裝好 bbsctl , 之後您就可以透過 bbsctl 直接在其他權限下 (如 bbsadm ) 來啟動可以 bind port 23 的 mbbsd.