Apache+SVN+Review Board代码审核服务器搭建流程

 

本博文基于原创 四京 (https://blog.51cto.com/12676522/1929856?utm_source=oschina-app)更新修改。 

一、简介

代码审查(CodeReview)不但可以提高质量,而且还是一个知识共享和指导的极好的手段。ReviewBoard是一款比较优秀的,开源的基于WEB的代码审查工具。

 

 

二、准备工作

2.1、安装依赖包

1
yum -y  install  gcc gcc-c++  make  cmake autoconfautomake libffi libffi-devel ncurses* bison* zlib* expat* openssl* apr* neon* bzip2-devel


2.2
、安装Apache

1
yum -y  install  httpd httpd-devel


2.3、安装MySQL

1
2
yum -y  install  mysql mysql-server mysql-devel MySQL-python

service mysqld start

chkconfig --add mysqld

chkconfig  mysqld on

 

登录MySQL创建reviewboard数据库和reviewboard用户


1
2
3
mysql –uroot –p
>create database reviewboard default charset utf8 collate utf8_general_ci;
>grant all on reviewboard.* to 'reviewboard' @ 'localhost'  identified by  'reviewboard' ;


2.4、安装memcached

1
2
yum -y  install  memcached python-memcached

service memcached start

chkconfig --add memcached 

chkconfig  memcached on


2.5、安装patch

1
yum -y  install  patch


2.6、安装Python

1

yum -y install python python-devel

reviewBoard 3.0以上要求python 2.7以上版本

升级Python 

wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tar.xz

tar xvf  Python-2.7.14.tar.xz

cd Python-2.7.14

./configure --enable-shared --prefix=/usr/local/python27

make && make install

vi /etc/ld.so.conf //加入/usr/local/python27/lib

rm /usr/bin/python

ln -s /usr/local/python27/bin/python2.7 /usr/bin/python

cp /usr/lib64/python2.6/lib-dynload/bz2.so /usr/local/lib/python2.7



2.7、安装python-subvertpy pysvn

如果python版本为2.6CentOS6.x),可以采用EPEL yum源进行下载

1
2
3
(1)、
rpm -ivh http: //dl .fedoraproject.org /pub/epel/6/x86_64/epel-release-6-8 .noarch.rpm
yum -y install python-subvertpy pysvn

(安装yumEPEL红帽企业库,centos默认yum源库中没有pysvn


1
2
(2)、
yum --enablerepo=epel  install  pysvnpython-subvertpy

(指定在EPEL yum源中,下载pysvnpython-subvertpy

 

CentOS7.x 安装EPEL

1

rpm -ivhhttp://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

三、开始安装

3.1、安装easy_install

distribute0.7版本后就和setuptools合并在一起了,所以先删除旧版(setuptoolseasy_install

第一步:删除easy_install

1
2
rm  -f  /usr/bin/easy_install *
rm  -f  /usr/local/bin/easy_install *

 

第二步:安装distribute

1
2
3

wget https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.py

vi distribute_setup.py  //将DEFAULT_URL中的"http"  改为"https"

python distribute_setup.py install

rm distribute_setup.py

ln -s /usr/local/python27/bin/easy_install-2.7 /usr/bin/easy_install

 

3.2、安装PIP

1
2

  wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9

  tar xvf pip-9.0.1.tar.gz  &&  cd pip-9.0.1


python setup.py  install

 

3.3、安装ReviewBoard

1
2

pip install reviewboard

pip install mysql-python

ln -s /usr/local/python27/bin/rb-site  /usr/bin/rb-site

rb-site install /var/www/html/reviewboard


根据情况配置以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Domain Name: 192.168.1.1
Root Path [/]:
Database Type: mysql
Database Name [reviewboard]:
Database Server [localhost]:
Database Username: reviewboard
Database Password: 
Confirm Database Password:
Memcache Server [localhost:11211]:
Username [admin]: admin
Password: 
Confirm Password: 
E-Mail Address: [email protected]
Company /Organization  Name (optional): domain
Allow us to collect support data? [Y /n ]:


3.3、配置reviewboard目录权限

1
2
chown  -R apache.apache /var/www/html/reviewboard/htdocs/
chown  -R apache.apache  /var/www/html/reviewboard/data


3.4、配置reviewboard

apache-wsgi.conf配置文件放到Apacheconf.d目录下

1

vi /var/www/html/reviewboard/conf/apache-wsgi.conf //Require all granted 注释掉

cp /var/www/html/reviewboard/conf/apache-wsgi.conf /etc/httpd/conf.d/



 

配置允许访问reviewboard的域名或IP

vi /var/www/html/reviewboard/conf/settings_local.py

1

ALLOWED_HOSTS =['192.168.1.1','reviewboard.domain.com']


 

重启Apache

1
service httpd restart


四、后台配置

登录:http://192.168.2.41/

输入刚才配置的admin密码

wKioL1kn1IyjMoaEAAB5dL8tMwk969.png-wh_50

4.1、进入管理员后台

wKioL1kn1JyT-1JLAABrM7UUsz0383.png-wh_50

 

4.2、配置发送邮件

wKioL1kn1KzRefidAAEhZiwcHMw787.png-wh_50

 

4.3、配置审核代码仓库

wKioL1kn1MChnq8NAAD_aLHE60Q480.png-wh_50


输入名称,SVN仓库地址,用户名密码。

wKiom1kn1O6BlxLrAACcnurQJNk106.png-wh_50

 

4.4、添加用户

wKiom1kn1QOh5tt0AAD4GDtMdf4482.png-wh_50

wKioL1kn1QPQQ8gHAAE-uTKmUPQ457.png-wh_50