Ubuntu虚拟机下搭建reviewboard服务器
Ubuntu虚拟机下安装reviewboard
参考许多资料以及实际操作后,写下如下较为完整的reviewboard安装过程。
1.安装virtualbox
2.新建64位Ubuntu系统,并安装Ubuntu系统,注意,不要勾选下载时更新选项,否则会安装失败。
3.安装Python setuptools
sudo apt-get install python-setuptools
4.安装Python development headers
sudo apt-get install python-dev
5.安装Apache2和mod_python
sudo apt-get install apache2 libapache2-mod-python
sudo a2enmod python
6.安装memcached
sudo apt-get install memcached
sudo easy_install python-memcached
7.安装patch
sudo apt-get install patch
8.安装mysql
sudo easy_install mysql-python
sudo apt-get install python-mysqldb
(sudo apt-get install mysql-server python-mysqldb libmemcache-dev)
9.在命令行模式进入MySQL,敲入status命令检查字符集:
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
characterset: latin1
10.停止MySQL Server(sudo /etc/init.d/mysqlstop),打开/etc/mysql/my.cnf,添加[client] default-character-set=utf8,添加[mysqld] character-set-server = utf8
11.由于版本不同,默认情况为:
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
characterset: utf8
则只添加[mysqld] character-set-server = utf8
12.重新启动mysql,启动成功,查看下结果是:
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
characterset: utf8,代表测试成功。
13.创建数据库,用root用户登录:mysql -u root –p
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
14.安装SVN
sudo apt-get install python-subvertpy
sudo apt-get install subversion python-svn
15.如果SVN版本过低,需要将SVN升到1.7:
sudo apt-get install patch subversion python-svn
sudo apt-get remove subversion
sudo apt-add-repository ppa:dominik-stadler/subversion-1.7
apt-get install python-software-properties
apt-get software-properties-common
svn –version(验证版本)
16.安装reviewboard,新版本在建站会有问题,所以使用1.7.25版本。先在官网下载1.7.25的egg包,网址:http://downloads.reviewboard.org/releases/ReviewBoard/1.7/,使用easy_install 安装egg包,安装过程中会失败几次,重复几次就可以了。
17.创建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 = root
Database password = 123456
Cache Type = memcache
Memcache Server = localhost:11211
Webserver = apache
Python loader = modpython注意,在建站是会提示modpython不再更新了,推荐wsgi,但是还是要选modpython,否则与Apache不匹配,导致LSB启动失败。
如下图所示,表示建站成功:
18.修改目录权限:
sudo chown –R www-data /var/www/reivewboard/htdocs/media/uploaded
sudo chown –R www-data /var/www/reviewboard/htdocs/media/ext
sudo chown –R www-data /var/www/reviewboard/data
19.配置站点,启动Apache。
cd /etc/apache2/sites-available
sudo cp /var/www/reviewboad/conf/apache-modpython.conf /etc/apache2/sites-available/reviewboard.conf
cd ../sites-enabled
sudo a2ensite reviewboard.conf
sudo /etc/init.d/apache2 restart
20.在浏览器中输入http://localhost:80,出现reviewboard界面,可以注册账号使用了。
21.使用建站时创立的admin账号登录,管理员登陆成功后右上角菜单会看到Admin链接,点击后进入管理页面。可以添加group以及user。
22.在admin下,点开database项,添加repositories(SCMTOOLS下),选择SVN,并填写SVN根目录。填写svn用户名和密码,点击保存。
23.采用pre-commit review模式,进入普通用户模式,使用svn客户端,生成patch文件。
24.登录reviewboard,新建review request,在base directory输入相对目录位置,即在svn输入的根目录下,patch文件目录前的部分目录,并上传patch文件。点击create review request,填写summary等信息。最后点击public提交。
25.指定的reviewer进行review,点击view Diff,查看修改的文件与仓库中的文件对比。如果有问题,可以点击具体的代码某行,会弹出一个绿色对话框,填写your comment,同时,如果需要则勾选open an issue,save。点击review,可以填写review的最终意见,并确定是否勾选ship it(意味着review 通过,同意提交。不同意提交的话就不要ship it)全部填写完成后,在上方会看到一个提示,选择publish 结束review工作。
26.提交review request的账号可以看到相应的review信息。点击closed->submitted,或者discard,关闭review request。完成一个request,记下review id。
27.在svn提交修改后的代码,填写message信息,message信息中必须包含以下格式的内容:review:12,此处的12即是前面提到的review request的id,然后点击ok,才能完成commit。只有当前面的review通过时才能commit成功。
28.Window下的浏览器要连接Ubuntu虚拟机,需要设置一下网卡。在oracle vm virtualbox管理器界面,选中搭建了reviewboard的虚拟机,点击设置。在网络选项中的连接方式,选择桥接网卡,使用主机的网卡。
29.在Ubuntu系统的终端下输入ifconfig -a,查看Ubuntu虚拟机的ip,该IP地址与网卡的IP地址在一个网段,设置完成。
30.在window下的浏览器中输入http://Ubuntu虚拟机ip/localhost则可进入reviewboard。输入http://Ubuntu虚拟机ip /account/login/就可以看到登录界面了。
31.在登录界面下可以自行创建普通账户,进行code review。