官网写的步骤很详细,所以安装过程基本是安装官网的步骤来的:
前提是已经安装好mysql了。
1.安装Python Setuptools,执行:apt-get install python-setuptools
2.安装Python Development Headers,执行:apt-get install python-dev
3.安装memcached,执行:apt-get install memcached
4.安装python-memcached,执行:easy_install python-memcached
5.安装patch,执行:apt-get install patch
6.安装ReviewBoard,执行:easy_installReviewBoard
7.安装Database Bindings,执行easy_installmysql-python
pt-get install python-mysqldb
8.接下来创建ReviewBoard站点,执行:rb-site install /usr/local/apache/htdocs/codereview(这个是我的apache根目录)
9.接下来会弹出一个窗口用来进行站点的配置,配置的内容如下:
· Domain =localhost
· Root Path = /
· Media URL = media/
· Database Type = mysql
· Database Name = reviewboard
· Database server = localhost
· Database username = 'reviewboard'
· Database password = 'reviewboard'
· Cache Type = memcache
· Memcache Server =memcached://localhost:11211/
· Webserver = apache
· Python loader = mod_wsgi
基本是按照默认的来的。
10. 安装完后会提示修改文件属主,这里修改为apache用户,我的叫apache。
chown –R apache /usr/local/apache/htdocs/codereview/htdocs/media/uploaded
chown -R apache /usr/local/apache/htdocs/codereview/data
11. 修改apache配置。
在站点目录codereview/conf下可以看到apache-wsgi.conf文件这是自动生成的配置文件,要把它加到apache的httpd.conf里面,直接copy加到末尾就行。
12. 大功告成,重启apache,访问localhost/codereview可以看到ReviewBoard的页面出来了。
接下来是reviewboard的配置:
1,用admin登陆,在Database->User表中,添加用户
2,如果需要使用svn,需要在Database->Repository添加一个库。
以下是安装过程中遇到的错误和解决办法:
1.第7步安装mysql-python时报错:nvironmentError:mysql_config not found,网上查了一下找到原因:
这是因为缺少libmysqlclient-dev
mysql-config是在不同的模块,并不在mysql里面。
执行: apt-get install libmysqlclient-dev即可。
2. 最后一步重启apache时
是因为apache没有加载mod_wsgi的原因。(配置ReviewBoard的时候选了mod_wsgi选项,以为他会自动安装好,结果没有)
解决:
Ubuntu可以用命令来装:sudo apt-getinstall libapache2-mod-wsgi
因为我的apache是手动装的,所以我是用源码来装的:
1.先下载mod_wsgi (http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2)
2.解压后执行./config-with-apxs=/usr/local/apache/bin/apxs即指定好我的apache目录
3.执行make
4.执行make install,就能看到apache/modules产生了一个mod_wsgi.so
5.在httpd.conf中添加一行:LoadModulewsgi_module modules/mod_wsgi.so这下就可以加载这个包了。
3.reviewboard中文乱码解决:
1)安装完mysql后进行编码设置,全部设置为UTF8编码。
2)reviewboard中文编码bug解决:
找到文件:diffutils.py.
我的路径是usr/local/lib/python2.7/dist-packages/ReviewBoard-1.6.11-py2.7.egg/reviewboard/diffviewer/diffutils.py
将第319行return s 改为return u。
4.使用reviewboard上传diff文件时的问题:
我用tortoiseSVN 1.7产生的patch文件上传时会报一个500错误,未具体说明,后来在网上查到reviewboard不支持svn1.7产生的patch文件。所以客户端需使用svn1.6版本。即便如此,我发现产生的patch文件还是不能上传,发现原因是patch文件中包含中文,所以需要把中文修改一下,通过查资料找到,把patch文件上面的(版本 8)改为(revision 8),(工作副本)直接删掉就可以。附上样本:
Index:acdef.txt
===================================================================
---acdef.txt (revision 8)
+++acdef.txt
@@ -0,0+1 @@
+asdfasdf
\ Nonewline at end of file
这个样子的就可以正常上传了。TortoiseSVN如何设置生成的patch文件的格式,目前还没有找到,看样子只能手动修改了。