summaryrefslogtreecommitdiffstats
path: root/docs/INSTALL
blob: 83f87c2fe223aa8c0e853f8c122b2090d3889b24 (plain) (blame)
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
這篇文件說明快速安裝的方法, 文章的版號及最後編修時間是:
$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. 您可以透過下列方式下載到本站的原始程式碼:
    a.置於 https://OpenSVN.csie.org/pttbbs/trunk/
      這是目前主要開發的版本, 也是批踢踢實業坊和批踢踢兔兩個站台
      所使用的版本. 在這個版本中含有最新的程式, 但是可能會不穩定,
      有 bug, 甚至和之前的版本不相容. 建議您有基礎的程式能力, 並
      隨時注意 PttCurrent 看板 (在 telnet://ptt.cc中, 或可以使用
      網頁版本 http://www.ptt.cc/bbs/PttCurrent/index.html) , 尤
      其當您在更新程式的時候.
      a)至 http://fs.ptt.cc 抓得每日自動製作的 snapshot ,
        通常檔名長的會像是 pttbbs-DATE.tar.gz
        再解開該檔即可: tar zxvf pttbbs-DATE.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

    其中不論您以方式 a, b 取得源碼, 您都可以在該目錄下直接透過 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/
    IO::All     /usr/ports/devel/p5-IO-All/
 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
   或相關文件.