阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

最新Apache+SVN+ReviewBoard实现在线代码评审

195次阅读
没有评论

共计 4273 个字符,预计需要花费 11 分钟才能阅读完成。

本文重点说 reviewboard 的安装

作用,在线代码评审工具。

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN 数据 http://www.linuxidc.com/Linux/2013-05/84695.htm

Ubuntu Server 搭建 svn 服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm

Ubuntu 下 ReviewBoard 安装全过程 http://www.linuxidc.com/Linux/2014-07/104089.htm

在 Ubuntu 上安装 ReviewBoard http://www.linuxidc.com/Linux/2014-05/101222.htm

在 CentOS 系统上搭建 Reviewboard http://www.linuxidc.com/Linux/2014-04/100220.htm

在 Ubuntu Server 上安装 ReviewBoard http://www.linuxidc.com/Linux/2009-06/20420.htm

—————————————————————————

mysql 安装

  1. yum y install gcc gccc++ make cmake autoconf automake ncurses* bison* zlib* expat*
  2. openssl* apr* neon*
  3. yum y install mysqlserver

可以选择 yum 安装 mysql 或者编译安装 mysql

注,编译安装的 mysql,90% 运维会装在 /usr/local/mysql 下 如果默认安装在 /usr/local/mysql 下,等装好 ReviewBoard 生成站点的时候会选择支持使用的数据库的时候没有识别 mysql 只有 sqlite3,此时,如果你数据库不是 sqlite3,继续往下执行自动生成的站点访问将会出现 bad reqest 400 错误。对于编译安装的 mysql,解决办法如下 yum 安装的 mysql 命令将在 /usr/local/bin/ 下,不需要软连。

对于编译安装的 mysql,解决办法如下 做相应的软连接

  1. ln s /usr/local/mysql/lib/libmysqlclient.so.18/usr/lib/libmysqlclient.so.18
  2. ln s /usr/local/mysql/lib/libmysqlclient.so.18/usr/lib64/libmysqlclient.so.18
  3. ln s /usr/local/mysql/bin/* /usr/local/bin/

mysql 安装此处不再介绍 编译也好,yum 也好,看需求及使用 mysql 的级别。

—————————————————————————-

Apache 和 SVN

  1. yum y install httpd httpddevel mod_dav_svn subversion subversiondevel

apache 安装好之后可直接启动

svn 的安装于配置,仓库的创建,用户的管理,权限的配置,网上文档一大堆。

—————————————————————————-

安装 reviewboard

reviewboard 是由 python 开发,

1,使用 python-setuptools 安装

  1. yum y install pythonsetuptools
  2. easy_install U setuptools,

2,安装 python 组件

  1. yum y install python pythondevel python版本要 2.6 以上才可以支持reviewboard

3、安装 patch

  1. yum y install patch

4、安装 pysvn

  1. wget http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.6.tar.gz
  2. tar zxvf pysvn1.7.6.tar.gz
  3. cd pysvn1.7.6/Source
  4. python setup.py backport 验证与 python 的兼容
  5. python setup.py configure

make pysvn 的编译安装需要 subversion-devel 的支持,没有装 devel 报此处报错,yum 安装之后将解决。

  1. mkdir /usr/lib64/python2.6/sitepackages/pysvn
  2. cp pysvn/__init__.py /usr/lib64/python2.6/sitepackages/pysvn
  3. cp pysvn/_pysvn*.so /usr/lib64/python2.6/sitepackages/pysvn

5、安装 mod_wsgi

  1. yum y install mod_wsgi

mod_wsgi 是支持 webpy 的一个模块

6、安装 mencache

  1. yum y install memcached
  2. easy_install pythonmemcached

reviewboard 需要 memcxched 的支持,之前没打开 11211 端口,访问很慢。

7、安装 Review Board

  1. easy_install ReviewBoard

# 如果安装过程中 Django 1.6.5 一直因为网络问题安装失败的话,可以手动下载安装 伟大的天朝已经屏蔽的 google,此处提供一个 openerdns 42.120.21.30 添加到 /etc/resolv.cof 里。成功的几率大大提高,以为此 dns 可以代理到 google,https://code.google.com/p/openerdns/

  1. wget https://pypi.python.org/packages/source/D/Django/Django-1.6.5.tar.gz#md5=e4c5b2d35ecb3807317713afa70a0c77
  2. cd Django1.6.5
  3. python setup.py build
  4. python setup.py install

# 或者使用 pip 在线安装

  1. pip defaulttimeout=2000 install Django==1.6.5

8、安装 mysql 组件

  1. easy_install mysqlpython

创建 reviewboard 站点

创建 reviewboard 存放数据的数据库 reviewboard 并赋予权限和密码

  1. mysql> create database reviewboard default charset utf8 collate utf8_general_ci;
  2. mysql> grant all on reviewboard.* to ‘reviewboard’@‘localhost’ identified by‘reviewboard’;
  3. mysql> FLUSH PRIVILEGES;

创建 reviewboard 站点

  1. rbsite install /reviewboard

rb-site 命令是装 reviewboard 自动生成的

之后会有一系列类似安装向导的步骤,需要你做出选择,尽量选择默认值吧

  1. Domain= rb.XXX.com 自己随意,本地做个 hosts 绑定就行
  2. RootPath=回车
  3. DatabaseType= mysql
  4. DatabaseName= reviewboard
  5. Database server =回车
  6. Database username =‘reviewboard’
  7. Database password =‘reviewboard’
  8. MemcacheServer=回车
  9. Username[admin]: admin
  10. EMailAddress=邮箱自己填

ok 之后需要修改下列文件的属主属组

  1. [root@localhost bin]# chown R apache /reviewboard/htdocs/media/uploaded
  2. [root@localhost bin]# chown R apache /reviewboard/htdocs/media/ext
  3. [root@localhost bin]# chown R apache /reviewboard/htdocs/static/ext
  4. [root@localhost bin]# chown R apache /reviewboard/data/
  5. cp /reviewboard/conf/apachewsgi.conf 到 /etc/httpd/conf.d/

apache 为 yum 安装,编译安装

自己定位目录。80 端口被占用,我使用了 8081 修改了下端口,使用 80 端口将不用任何修改。

重启 apache,http://http://rb.xxx.com/ 就可以访问。

最新 Apache+SVN+ReviewBoard 实现在线代码评审

如果出现 400 错误,就是在创建 reviewboard 站点出现错误,站点没有生成好,之前就是没有显示 mysql 选择了 sqlite3,也 ok 了,访问就是显示 400 错误,以为是 apache-wsgi.conf 中

  1. WSGIPassAuthorizationOn
  2. WSGIScriptAlias“/”“/reviewboard/htdocs/reviewboard.wsgi/”

这两行的问题,写了个 html,试验了虚拟主机,注释这两行就 ok,打开就 400,查了半天的 mode_wsgi, 还是 400,最终又重新检查一遍,支持了 mysql,终于解决。

500 错误解决有可能是数据库的问题,重启数据库(慎重)或者 drop reviewboard 库重新创建,并重新生成 reviewboard 站点。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计4273字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中