经过长达一个半月的研究探索,终于在Ubuntu下搭建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)
前几次的安装都没有之一字符集的问题,导致网页上中文显示乱码。按照默认的步骤安装和配置后,输入和保存英文均没有问题,但是一旦输入中文,保存后页面显示的都是乱 码,甚至某些时候在保存中文数据时Review Board还提示错误。我的Ubuntu的locale是"zh_CN.UTF-8",输入法输 入后的中文内码应该是UTF-8。Review Board本身按理来说其内核也应该是内置支持的UTF-8编码的,问题出在哪呢?答案是MySQL
在命令行模式进入MySQL,敲入status命令:Server characterset:latin1
Dbcharacterset:latin1
Client characterset:latin1
Conn. characterset:latin1
修改MySQL默认字符集的方法很简单,先停止MySQL Server(sudo /etc/init.d/mysqlstop),之后打开/etc/mysql/my.cnf,分别在[client]和[mysqld]两个section下,增加一个key-value(这个方法会导致mysql不能重启)
正确的做法是:
找到[client] 添加:
default-character-set=utf8 //默认字符集为utf8
找到[mysqld] 添加:
//默认字符集为utf8
default-character-set=utf8
//设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行
init_connect='SET NAMES utf8'
可是我根据这样修改后启动mysql服务报错,启动不了
在网上试了多种解决办法,都没有解决,
最后找到一个方法,可以解决,如下:
其他的还跟上面一样,只有在[mysqld]下面添加的
default-character-set=utf8
改为
character-set-server = utf8
重新启动mysql,启动成功
查看下结果是:Server characterset:utf8
Dbcharacterset:utf8
Client characterset:utf8
Conn. characterset:utf8,代表测试成功。
接下来配置是数据库用户: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
sudo apt-get install patch subversion python-svn
(系统是Ubuntu12.04,默认安装的是1.6.6的版本,需要将SVN 升到1.7)
apt-get remove subversion
apt-add-repository ppa:dominik-stadler/subversion-1.7 (apt-add-repository需要安装一下依赖包)
apt-get install python-software-properties
apt-get software-properties-common
svn --version 验证下版本
5.安装reviewboard
试着使用过2.01的版本还有些小问题,结果还是用1.7.25这个版本
a.先在egg包
b.使用easy_install 安装egg包,在安装中会失败几次,重复几次就可以了
6 创建reviewboard站点
sudo rb-site install /var/www/reviewboard /* 之后会有一系列类似安装向导的步骤,需要你做出选择,尽量选择默认值吧 */
·Domain = localhost
·Root Path = /
·Media URL = media/
·Database Type = mysql
·Database Name = reviewboard_utf8
·Database server = localhost
·Database username = 'root'
·Database password = '123456'
·Cache Type = memcache
·Memcache Server = memcached://localhost:11211/
·Webserver = apache
·Python loader = modpython
7 配置站点,启动Apache2
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:80,ReviewBoard的登录界面就会出现在你的面前
至此Reviewboard搭建完成!