PttBBS
跳转到导航
跳转到搜索
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
其他作业
在开机时跑寄信的outmail:
@reboot ~/bin/outmail > /tmp/outmail.log 2>&1