PttBBS

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索

PttBBS是一套BBS系統。

相依性套件

sudo apt install -y build-essential libboost-dev libgflags-dev libgrpc++-dev pmake protobuf-compiler protobuf-compiler-grpc; sudo apt clean

環境設定

依照官方的Wiki建立bbs、bbsadm、bbsu(UTF-8環境用)三個帳號。

sudo groupadd -g 99 bbs
sudo useradd -g bbs -r -s /home/bbs/bin/bbsrf -u 9999 bbs
sudo useradd -g bbs -r -s /bin/bash -u 9999 bbsadm
sudo useradd -g bbs -r -s /home/bbs/bin/utf8 -u 9999 bbsu

下載

先切到bbsadm權限下:

sudo su - bbsadm

然後拉官方版本,並且使用innbbsd的patch:

cd ~; git clone https://github.com/ptt/pttbbs.git; cd pttbbs; wget -O - https://raw.githubusercontent.com/clamtestbbs/innptt/master/0001-Revert-Remove-innbbsd.patch | git apply -

設定

先將pttbbs/sample/pttbbs.conf複製到pttbbs/pttbbs.conf

cd ~/pttbbs; cp sample/pttbbs.conf .

照官方提供的說明修改pttbbs.conf(站名、IP等資訊),然後開啟64bits平台與piaip所寫的兩個功能:

cd ~/pttbbs; sed -i -e '/^\/\/#define USE_PMORE/ a #define USE_PMORE\n#define USE_PFTERM' -e '/^\/\/#define SHMALIGNEDSIZE/ a #define SHMALIGNEDSIZE (1048576*4) // 4MB for x86_64' -e '/^\/\/#define TIMET64/ a #define TIMET64' pttbbs.conf

編譯

修改完後先清除再編譯會比較好(尤其是.conf或是.h這些會改變很多地方的檔案):

pmake clean all

安裝

第一次安裝:

pmake install; cd ~; bin/initbbs -DoIt; cp ~/src/sample/etc/*.help ~/etc; cd ~/bin; ln -s bbsrf utf8

前製作業

在連入PttBBS前,要先處理好shared memory:

~/bin/shmctl init

並且設定開機時會自動執行:

echo "@reboot ~/bin/shmctl init > /tmp/shmctl.log 2>&1" > ~/crontab.bbsadm; crontab ~/crontab.bbsadm

相關連結

外部連結