summaryrefslogtreecommitdiffstats
path: root/web/blog/INSTALL
blob: 1f216292bc21e3a2c47bb2f1ed03dbd1aa52e8ea (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
這篇文章在描述怎麼架設 PttBlog, 最後的編修及版號是:
$Id$

請注意,  PttBlog本來主要是設計給 Ptt2 站台使用, 目前正在開發階段,
並未接受嚴密的測試, 可能還缺少很多功能, 以及可能有許多的 bug.

您可以按照下列的步驟安裝好 PttBlog.
1.安裝好下列的東西, 我們並同時列上 FreeBSD ports內的目錄:
    apache      /usr/ports/www/apache13/
    perl        /usr/ports/lang/perl5.8/
    mod_perl    /usr/ports/www/mod_perl/
    mysql       /usr/ports/databases/mysql323-server/

  以及下列的 module
    Template    /usr/ports/www/p5-Template-Toolkit/
    Date::Calc  /usr/ports/devel/p5-Date-Calc/
    DBI     /usr/ports/databases/p5-DBI/
    DBD::mysql  /usr/ports/databases/p5-DBD-mysql/
    MD5     /usr/ports/security/p5-MD5/
    Mail::Sender    /usr/ports/mail/p5-Mail-Sender/
    OurNet::FuzzyIndex (還沒有進 ports, 請用 cpan 裝)

2.設定 apache 可以直接透過 mod_perl 來跑 perl script .
  在您的 apache.conf (or httpd.conf)中, 應該會有:
    LoadModule perl_module        libexec/apache/libperl.so
    AddModule mod_perl.c
  在<IfModule mod_mime.c></IfModule>中間, 加上這兩行:
    AddHandler perl-script .pl
    PerlHandler Apache::Registry

3.設定好 blog 的 web目錄. 裡面至少要有 index.pl, blog.pl, LocalVars.pm
   (其中 LocalVars.pm 建議用 symbolic link 到 /home/bbs/bin/的那一份)
  其中 *.pl 的權限要是可以執行的 (ex: chmod 755 *.pl)

4.設定 apache 指到 blog 的目錄. 並將該目錄開始 ExecCGI的 option.
  例如使用 Virtual Host :
    NameVirtualHost *
    <VirtualHost *>
        ServerName  blog.ptt2.cc
        DocumentRoot    /home/bbs/blog/web
        <Directory "/home/bbs/blog/web">
            Options ExecCGI
        </Directory>
    </VirtualHost>

5.將 builddb.pl, BBSFileHeader.pm 拷貝進 ~bbs/bin
  您可以嘗試用 perl -c ~bbs/bin/builddb.pl  測試看看能不能過.
  若不行的話, 通常是 LocalVars.pm 裡面少東西,
  請參考 pttbbs/sample/LocalVars.pm 的 blog 區.

6.參考 pttbbs/sample/pttbbs.conf中, 在您的 pttbbs.conf中加入
  BLOGDB_HOST, BLOGDB_USER, BLOGDB_PASSWD, BLOGDB_DB, BLOGDB_PORT, BLOGDB_SOCK
  並且重新 compile mbbsd, 在 make 時加入 WITH_BLOG=yes .
  然後 install 並且 restart

7.關於 Mysql共須要下面兩個 table (可以直接複製過去跑)
    CREATE TABLE `comment` (
      `brdname` varchar(13) NOT NULL default '',
      `artid` int(11) NOT NULL default '0',
      `name` varchar(32) NOT NULL default '',
      `mail` varchar(64) NOT NULL default '',
      `content` text NOT NULL,
      `mtime` int(11) NOT NULL default '0',
      `hash` varchar(32) NOT NULL default ''
    ) TYPE=MyISAM;

    CREATE TABLE `counter` (
      `k` char(32) NOT NULL default '',
      `v` int(11) NOT NULL default '0',
      `mtime` int(11) NOT NULL default '0',
      PRIMARY KEY  (`k`)
    ) TYPE=MyISAM;

    CREATE TABLE `wcounter` (
      `k` char(32) NOT NULL default '',
      `v` int(11) NOT NULL default '0',
      `mtime` int(11) NOT NULL default '0',
      PRIMARY KEY  (`k`)
    ) TYPE=MyISAM;