1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
這篇文件說明快速安裝的方法, 文章的版號及最後編修時間是:
$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. 自從 2004/12開始, PttBBS 分成兩個開發線, 您需要先決定要使用哪個版本:
a.置於 https://OpenSVN.csie.org/pttbbs/trunk/
這是目前主要開發的版本, 也是批踢踢實業坊和批踢踢兔兩個站台
所使用的版本. 在這個版本中含有最新的程式, 但是可能會不穩定,
有 bug, 甚至和之前的版本不相容. 除非您有很多時間, 有自己撰
寫以及修改程式的能力, 否則我們不建議您使用這個版本. 若您使
用這個版本, 請隨時注意在 telnet://ptt.cc的 PttCurrent 看板
的最新公告. 取得這個版本的方式:
a)至 ftp://ptt2.cc 抓得每日自動製作的 snapshot ,
通常檔名長的會像是 pttbbs-DATE-SNAP.tar.gz
再解開該檔即可: tar zxvf pttbbs-DATE-SNAP.tar.gz
b)直接抓取 http://OpenSVN.csie.org/pttbbs/trunk/pttbbs下的所有資料.
如 wget -r -np http://OpenSVN.csie.org/pttbbs/trunk/pttbbs
c)透過 subversion 聯繫 pttbbs version control repository(註4)
再執行 svn checkout http://OpenSVN.csie.org/pttbbs/trunk/pttbbs
b.置於 https://OpenSVN.csie.org/pttbbs/stable/
這是經過一陣子測試結果的程式, 我們大約每個月會將 trunk/ 的
程式整合進來一次, 這個版本相較於 trunk/ 會比較穩定. 同時,
如果程式有重大更新 (尤其是和之前版本不相容, 如檔案的結構修
改或是 SHM結構修改) 會明列於 UPDATING 這個檔案內. 您應該可
以每個月更新到 stable/的最新版本, 同時, 我們建議您在更新程
式碼後安裝前, 先閱讀 UPDATING 這個檔案.
取得這個版本的方式有:
d)直接抓取 http://OpenSVN.csie.org/pttbbs/stable/pttbbs下的所有資料.
如 wget -r -np http://OpenSVN.csie.org/pttbbs/stable/pttbbs
e)透過 subversion 聯繫 pttbbs version control repository(註4)
再執行 svn checkout http://OpenSVN.csie.org/pttbbs/stable/pttbbs
其中不論您以方式 a, c 或 e取得源碼, 您都可以在該目錄下直接透過 svn update
更新至 pttbbs 最新的源碼. 如:
cd /home/bbs/pttbbs; svn update
(須先安裝 subversion, 見註4)
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.在編譯 pttbbs 之前, 您需要先裝好 libiconv, libhz, pgp
如果您使用的是 FreeBSD, 可以直接透過 ports安裝:
cd /usr/ports/converters/libiconv; make install
cd /usr/ports/chinese/autoconvert; make install
cd /usr/ports/security/pgp; make install
12. (在 ~bbs/pttbbs 下) 執行 make BBSHOME=/home/bbs all install
13.如果是新架起來的站, 請執行 cd sample; make install
14.執行 cd /home/bbs; bin/initbbs -DoIt
其中第 13 以及 14 步是給第一次安裝的時候使用的,
如果您的 BBS中已經有資料了, 請務必不要執行這兩個步驟.
假如一切都很順利的話, 這樣子大概就安裝完了, 接下來是啟動 bbs 的部份.
15.執行 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.
4. 您必須先安裝 subversion (請參考官方網站 http://subversion.tigris.org/ )
在 FreeBSD底下, 直接使用 ports 安裝即可:
cd /usr/ports/devel/subversion/; make all install
其他作業系統請參考 http://subversion.tigris.org/project_packages.html
或相關文件.
|