我是在ubuntu12.0.4 版本下安装的Reviewboard,Reviewboard的安装,安装过程如下:
1、安装easy_install
sudo apt-get install python-setuptools python-dev;
2、安装apache2和mod_python
sudo apt-get install apache2 libapache2-mod-python
sudo a2enmod python /* 修改apache2的配置,让python mod处于enable状态 */
3、安装mysql
sudo apt-get install mysql-server python-mysqldb libmemcache-dev
sudo easy_install http://gijsbert.org/downloads/cmemcache/cmemcache-0.95.tar.bz2
创建数据库、数据库用户for ReviewBoard(这块要注意数据库的字符集设置,默认是UTF-8,如果你要用其他中文字符编码标准,这里就需要显式指定,查查mysql的Manual吧)
mysql -u root -p /* 用root用户登录 */
mysql> create database reviewboard;
Query OK, 1 row affected (0.00 sec)
mysql> create user 'reviewboard'@'localhost' identified by 'reviewboard'; /* 前一个reviewboard是访问数据库的用户名,后一个reviewboard是密码 */
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on reviewboard.* to 'reviewboard'@'localhost'; /* 前一个reviewboard是数据库的名字,而后一个reviewboard则是访问数据库的用户名 */
Query OK, 0 rows affected (0.00 sec)
mysql> exit
4、安装subversion (目前大多数公司都用subversion)
sudo apt-get install patch subversion python-svn
5、安装reviewboard
sudo easy_install reviewboard
6、创建你的reviewboard站点
sudo rb-site install /var/www/reviewboard /* 之后会有一系列类似安装向导的步骤,需要你做出选择,尽量选择默认值吧 */
· 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 = modpython
7、配置站点,启动Apache2
sudo chown -R www-data /var/www/reviewboard/htdocs/media/uploaded /* 让webserver拥有对uploaded目录的修改权限 */
sudo cp /var/www/reviewboard/conf/apache-modpython.conf /etc/apache2/sites-available/reviewboard
sudo a2dissite default
sudo a2ensite reviewboard
sudo /etc/init.d/apache2 restart
在你的浏览器里敲入:http://localhost,ReviewBoard的登录界面就会出现在你的面前。
在安装过程中遇到的问题如下
1、 在安装mysql时需要安装cmemcache-0.95.tar.bz2缓存包,会遇见gcc的编译错误,遇到该问题时,是ubuntu12.0.4自带的gcc编译器版本过高了
换一个版本稍微低一些的gcc编译器版本 gcc4.4即可
2、 安装reviewboard安装包时,你可能会经常出现time out的情况,现在你可以不用考虑别的,是该设置代理的时候了,在网上搜索http代理
sudo -s
export http_proxy=url:port
重新运行 apt-get install reviewboard。 其中可能还会遇见 Error none退出的情况,不妨切换回你的普通用户,继续执行apt-get install reviewboard。
如此反复,一遇到安装不下去的情形就切换用户,直到安装完成。
3、 中文乱码问题解决
当我们安装完reviewboard并配置好之后,create patch,新建一个review请求,如果你的源码是GBK的话,这里你将看到你所review的代码中,中文全部是乱码。这是因为reviewboard采用的utf-8编码,GBK编码的文件自然会乱七八糟了。怎么办呢?
这里你最简单的事情就是首先
(1)关掉 apache
(2)修改源代码
找到reviewboard的安装目录,在/reviewboard/diffviewer/目录下存在一个diffutils.py脚本。点击你站点中的viewdiff按钮时,就会运行该脚本中的get_chunks函数。在该文件的607行有一个old 和new字符串变量。估计是reviewboard里面所显示的左右对比文件代码,在后面对其进行编码转换,将gbk编码转化为utf-8即可。代码如下
在文件开头到入库 : import chardet
在这里(607之后)加入如下代码:
(3) 重启apache,中文显示出来了,哈哈