ReviewBoard安装与使用
ReviewBoard是什么?
ReviewBoard是个开源的、可扩展的、友好的基于Web的代码评审工具,是用Python框架Django开发的。
ReviewBoard是通过Python setuptools提供的可下载软件包。支持数据库服务器有:MySql v5.0.31或更高版本,PostgreSQL,sqlite v3;支持的web服务器有:Apache + mod_wsgi,fastcgi或mod_pytho,ighttpd + fastcgi。
ubuntu安装ReviewBoard
安装python setuptools 0.6c9或更高版本
apt install python-setuptools
安装python开发包
apt install python-dev
安装memcached
Memcached是ReviewBoard使用的高性能缓存服务器。虽然是可选的,但强烈建议使用快速响应的服务器。与memcached一起,我们需要python-memcached。
apt install memcached
easy_install python-memcached
注:安装中可能或因网络原因导致失败,可多次尝试
出现如下信息则表示安装成功:
安装apache2和mod_python
sudo apt install apache2 libapache2-mod-wsgi
sudo a2enmod wsgi /* 修改apache2的配置,让python mod处于enable状态 */
安装patch
apt install patch
安装mysql数据库
apt install mysql-server python-mysqldb libmemcache-dev
安装完成之后进入mysql创建数据库:
create database reviewboard default charset utf8 collate utf8_general_ci;
create user ‘reviewboard’@’localhost’ identified by '密码';
-- 其中reviewboard为用户名
grant all on reviewboard.* to ‘reviewboard’@’localhost’;
-- 前一个reviewboard为数据库名,后一个reviewboard为用户名
安装subversion
sudo apt install patch subversion python-svn
安装ReviewBoard
easy_install reviewboard
最终显示如下则表示安装成功:
注:在安装过程中可能出现错误,可自行百度解决(网路原因或缺少依赖包):
以下是我安装时遇到的问题:
Q1:No package ‘libffi’ found
解决方案:
apt install libffi-dev
之后重新执行easy_install reviewboard
Q2:如下
解决方案:
sudo apt install libssl-dev
Q3:安装pillow出错
安装如下库文件:
sudo apt install libjpeg8-dev
sudo apt install libpng12-dev
sudo apt install libfreetype6-dev
sudo apt install zlib1g-dev
sudo apt install libwebp-dev
sudo apt install libtiff5-dev
sudo apt install libopenjpeg-dev
sudo apt install libzip-dev
之后重新安装pillow
pip install pillow
有问题继续处理,直到成功为止。
安装成功后开始建立ReviewBoard站点:
rb-site install /var/www/reviewboard
根据提示逐步填写信息:
Domain = localhost
Root Path = / (默认)
Database Type = mysql
Database Name = reviewboard
Database server = localhost
Database username = 用户名
Database password = 密码
Confirm password =密码
Memcached Server = localhost:11211 (默认)
Username = admin (默认)
Password = 密码
Confirm Password = 密码
E-mail = xxx@qq.com
Company/Organization = 随意
Allow us to collect support data = n
看到如下信息则设置完成:
拷贝配置文件:
cd /etc/apache2/sites-available
cp /var/www/reviewboard/conf/apache-wsgi.conf reviewboard.conf
cd ../sites-enabled
ln -s ../sites-available/reviewboard.conf .
a2ensite reviewboard
修改相应文件的目录权限:
chown -R www-data /var/www/reviewboard/htdocs/media/uploaded
chown -R www-data /var/www/reviewboard/data
chown -R www-data /var/www/reviewboard/htdocs/media/ext
chown -R www-data /var/www/reviewboard/htdocs/static/ext
让apache加载ReviewBoard:
sudo a2dissite 000-default
sudo a2ensite reviewboard
sudo /etc/init.d/apache2 reload
sudo /etc/init.d/apache2 restart
说明:apache2相关文件在”/etc/apache2”目录下:
sites-available目录下是相关网页的配置文件,sites-enabled目录下是被解析的文件。sudo a2dissite 000-default则是删除了默认的链接文件,修改成了当前配置的reviewboard.conf。
接下来将”/var/www/reviewboard/conf/settings_local.py”文件中的
ALLOWED_HOSTS = ["localhost"] 修改成 ALLOWED_HOSTS = ["*"]
浏览器访问:http://127.0.0.1:80
ReviewBoard创建用户(管理员)
设置用户信息:
注:review用户可自行注册账号
ReviewBoard配置svn仓库
ReviewBoard设置用户权限
点击要设置权限的用户,找到”权限”,添加对应的权限: