「PttBBS」:修訂間差異
跳至導覽
跳至搜尋
(未顯示同一使用者於中間所作的 21 次修訂) | |||
第1行: | 第1行: | ||
'''PttBBS'''是一套[[BBS]]系統。 | '''PttBBS'''是一套[[BBS]]系統。 | ||
== 相依性套件 == | |||
<syntaxhighlight lang="bash"> | |||
sudo apt install -y build-essential libboost-dev libgflags-dev libgrpc++-dev pmake protobuf-compiler protobuf-compiler-grpc; sudo apt clean | |||
</syntaxhighlight> | |||
== 環境設定 == | == 環境設定 == | ||
第23行: | 第29行: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git clone https://github.com/ptt/pttbbs.git | 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 - | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== 設定 == | == 設定 == | ||
先將<code> | 先將<code>pttbbs/sample/pttbbs.conf</code>複製到<code>pttbbs/pttbbs.conf</code>: | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash"> | ||
cd ~/pttbbs; cp sample/pttbbs.conf . | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang=" | 照官方提供的說明修改<code>pttbbs.conf</code>(站名、IP等資訊),然後開啟64bits平台與piaip所寫的兩個功能: | ||
#define TIMET64 | |||
<syntaxhighlight lang="bash"> | |||
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 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang=" | == 編譯 == | ||
修改完後先清除再編譯會比較好(尤其是<code>.conf</code>或是<code>.h</code>這些會改變很多地方的檔案): | |||
<syntaxhighlight lang="bash"> | |||
pmake clean all | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang=" | == 安裝 == | ||
第一次安裝: | |||
<syntaxhighlight lang="bash"> | |||
pmake install; cd ~; bin/initbbs -DoIt; cp ~/src/sample/etc/*.help ~/etc; cd ~/bin; ln -s bbsrf utf8 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== 前製作業 == | |||
在連入PttBBS前,要先處理好shared memory: | |||
<syntaxhighlight lang="bash"> | |||
~/bin/shmctl init | |||
</syntaxhighlight> | |||
並且設定開機時會自動執行: | |||
<syntaxhighlight lang="bash"> | |||
echo "@reboot ~/bin/shmctl init > /tmp/shmctl.log 2>&1" > ~/crontab.bbsadm; crontab ~/crontab.bbsadm | |||
</syntaxhighlight> | |||
== 其他作業 == | |||
在開機時跑寄信的outmail: | |||
<syntaxhighlight lang="bash"> | |||
@reboot ~/bin/outmail > /tmp/outmail.log 2>&1 | |||
</syntaxhighlight> | |||
== 相關連結 == | |||
* [[PttWeb]] | |||
== 外部連結 == | == 外部連結 == |
於 2023年1月13日 (五) 16:39 的最新修訂
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