review board 2.0.5

ubuntu ubuntu-12.04.1-desktop-amd64

基本上基于这个教程:http://alephnullplex.appspot.com/blog/view/2009/07/09/tutorial-installing-review-board-on-ubuntu

Notes:

1. 我没能成功安装mod-python。作为替代,我安装了mod_wsgi:

sudo apt-get install libapache2-mod-wsgi
sudo a2enmod wsgi
sudo service apache2 restart
因此

sudo cp /var/www/reviewboard/conf/apache-modpython.conf /etc/apache2/sites-available/reviewboard
这一步就变成了
sudo cp /var/www/reviewboard/conf/apache-wsgi.conf /etc/apache2/sites-available/reviewboard

2. 创建rb site的时候要把Domain指定成你的dns name 或者ip,否则无法从外部访问。如果你设置成了localhost,那么就算是从本机127.0.0.1也无法访问

3. 如果你的apahcer server host不是固定IP,那么在ip变化之后,
3.1 需要修改/etc/apache2/sites-enabled目录下的站点文件,把ip手动更新为新的ip。
3.2 需要修改/var/www/reviewboard/conf下面的apache-wsgi.conf。
3.3 需要修改/var/www/reviewboard/conf下面的settings_local.py,替换其中的ip。rm settings_local.pyc,重新编译生成该pyc文件。
import compileall
compileall.compile_dir(r'/var/www/reviewboard/conf')

-----------------------------------------

09
Jul

Tags:

Review Board is an open source tool that allows you to conduct code reviews in an easy informal yet structured manner.

It does away with 'over-the-shoulder' reviews and makes email review hell a thing of the past. Each review has its own set of comments and patches in one place, which all developers on the project can see.

I have just finished installing Review Board on Ubuntu Jaunty and thought it might be useful to set out.

This is a step-by-step nothing missing tutorial from a clean Ubuntu install to your first review request.

1. Setting up a Server

I chose to use Apache2 with mod_python, as advised by the Review Board team. Apparently there are some issues with running it as fastcgi. To get an apache install capable of serving python pages:

sudo apt-get install apache2
sudo apt-get install libapache2-mod-python
sudo a2enmod python

2. Setting up storage

First we need to get MySQL and the python bindings for MySQL

sudo apt-get install mysql-server
sudo apt-get install python-mysqldb

For faster responses, we are going to install memcache and its python bindings.

sudo apt-get install memcached
sudo apt-get install memcached-dev
sudo apt-get install python-memcache

You will need to create a database and a database user for Review Board using the following.

mysql -uroot -p
mysql> create database reviewboard;
Query OK, 1 row affected (0.00 sec)
mysql> create user 'rb'@'localhost' identified by 'rb_password';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on reviewboard.* to 'rb'@'localhost'
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

3. Setting up Subversion

Review Board requires a Subversion client and python bindings, as well as the patch tool.

sudo apt-get install patch
sudo apt-get install subversion
sudo apt-get install python-svn

4. Getting Review Board

Review Board is installed using easy_install. If you don't already have setup tools installed you will need to install it first.

sudo apt-get install python-setuptools
sudo easy_install reviewboard

5. Creating your site

In this tutorial I am assuming that you are creating a dedicated server for Review Board. This means that Review Board will be default site. Installing as a subdomain is readily supported but I have not tested it.

Start the site creator with:

sudo rb-site install /var/www/reviewboard

To serve Review Board as the root site, use the following settings:

  • Domain = localhost
  • Root Path = /
  • Media URL = media/
  • Database Type = mysql
  • Database Name = reviewboard
  • Database server = localhost
  • Database username = 'rb' & password = 'rb_password' or whatever you used earlier in step 2
  • Cache Type = memcache
  • Memcache Server = memcached://localhost:11211/ (This should be the default)
  • Webserver = apache
  • Python loader = modpython
  • Admin account - enter your details here

Then wait for all the little green ticks to appear.

6. Configuring your site

First you need to allow the apache server to manage the uploads directory with:

sudo chown -R www-data /var/www/reviewboard/htdocs/media/uploads

Then you need to copy the site configuration into apache and enable. We are also going to disable the default site and then restart the apache server.

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

7. Creating your Repository settings

It's time to fire up your browser and head to http://localhost/ and log in with the administrator credentials.

Head to Admin -> Repositories -> Add Repository and fill in the details and hit save.

8. post-review

post-review is a little tool that makes it easy to send review requests to Review Board. Withoutpost-review you have to manually create the diff file and upload it.

Installation is via easy_install:

sudo easy_install RBTools

On windows you will have to do a few extra steps to get post-review working nicely.

At the top of your subversion checkout create a file called .reviewboardrc and add this line to it:

REVIEWBOARD_URL = "http://localhost"

If your checkout is not on the same machine as the Review Board server you will need to changelocalhost to either the servers IP address or domain name.

9. Your first Review Request

Go make some changes in your code and save them. On the command line cd into the directory that contains your checkout and .reviewboardrc file and run post-review or post-review.py if you are using windows.

The first time you will be asked to enter your Review Board login username and password.

Go to http://localhost and click on 'Outgoing Reviews'. There will one item with a title of [Draft]. Click on [Draft] to complete the Review Request. Fill in all the necessary fields and then click on publish.

All done

By now you should have a running install of Review Board with your first Review Request. At this point you will need to get others to sign up and start submitting and reviewing.

There is a comprehensive User Guide available.

在ubuntu上搭建reviewboard的更多相关文章

  1. Ubuntu上搭建Watir-Webdriver与Cucumber环境

    本文主要演示如何在Ubuntu上搭建Watir-Webdriver与Cucumber环境,用于自动化测试. 1. Ubuntu环境 A. 安装 因为我的工作机是Windows,所以采用虚拟机的方式使用 ...

  2. Ubuntu上搭建Git服务器

    下面我们就看看,如何在Ubuntu上搭建Git服务器.我们使用VMware虚拟机安装两台Ubantu系统,分别命名为gitServer和gitClient_01. 1.安装OpenSSH并配置SSH无 ...

  3. Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

    首先要了解一下Hadoop的运行模式: 单机模式(standalone)        单机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选 ...

  4. 在ubuntu上搭建交叉编译环境---arm-none-eabi-gcc

    最近要开始搞新项目,基于arm的高通方案的项目. 那么,如何在ubuntu上搭建这个编译环境呢? 1.找到相关的安装包:http://download.csdn.net/download/storea ...

  5. 在Ubuntu上搭建kindle gtk开发环境

    某个角度上说,kindle很类似android,同样的Linux内核,同样的Java用户层.不过kindle更注重简单.节能.稳定.Amazon一向认为,功能过多会分散人们阅读时候的注意力. Kind ...

  6. Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) (转载)

    Hadoop在处理海量数据分析方面具有独天优势.今天花了在自己的Linux上搭建了伪分布模式,期间经历很多曲折,现在将经验总结如下. 首先,了解Hadoop的三种安装模式: 1. 单机模式. 单机模式 ...

  7. Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)【转】

    [转自:]http://blog.csdn.net/hitwengqi/article/details/8008203 最近一直在自学Hadoop,今天花点时间搭建一个开发环境,并整理成文. 首先要了 ...

  8. Ubuntu上搭建GPU服务器

    1.安装显卡驱动 2.安装CUDA 3.安装cuDNN 下载: 根据显卡类型以及操作系统,选定CUDA版本和语言设置,下载对应的显卡驱动. 驱动下载地址 安装 $ sudo ./NVIDIA-Linu ...

  9. 在ubuntu上搭建开发环境3---解决Y470一键系统重装之后恢复ubuntu引导启动的方法

    2015/08/18 将知识.常用的操作整理出来一定要完整,注意细节. 就像下面是再2015.04.27时候整理的,当时确实实验成功了,但是可能忘记记下具体的细节,尤其是3.4.5.6步骤中的关于盘符 ...

随机推荐

  1. .Net 内存泄露

    一.事件引起的内存泄露 1.不手动注销事件也不发生内存泄露的情况 我们经常会写EventHandler += AFunction; 如果没有手动注销这个Event handler类似:EventHan ...

  2. asp.net mvc 用Redis实现分布式集群共享Session。

    1.这两天研究Redis搞分布式session问题,网上找的资料都是用ServiceStack.Redis来实现的,但是在做性能测试的时候发现最新的v4版本有限制每小时候最多请求6000次,因为官网开 ...

  3. tomcat 配置文件下载目录

    tomcat可提供文件的直接下载.有两种方式. 第1种 放到ROOT 目录下 然后在网址中访问: http://ip:8080/download.zip 便可下载 第2种 希望使用自己的文件路径. 在 ...

  4. PHP学习之路 (2)

    我们如果坚持用windows做PHP开发,就会错误不断,所以,无论如何都要学习Linux的使用和安装.说实话<鸟哥的linux私房菜>是一本非常不错的书,但是如果你想照着书上面一步一步安装 ...

  5. linux安装至少有哪两个分区,各自作用是什么?

    1.至少有/代表根分区,/swap代表的意思是交换分区. 2.swap相当于缓存的作用:

  6. python SocketServer 源码分析

    附上原文链接: http://beginman.cn/python/2015/04/06/python-SocketServer/

  7. python Django 学习笔记(六)—— 写一个简单blog做增删改练手

    简单效果图 1,创建一个项目myblog 可参考这里 myblog/ manage.py myblog/ __init__.py settings.py urls.py wsgi.py 2,创建blo ...

  8. java和python根据对象某一个属性排序

    最近在学习java,目前看到java如何对一个对象列表进行排序. 我有一个Member类: public Member(String name,Calendar birthday,Sex gender ...

  9. Python学习教程(learning Python)--2.3.5 Python返回多个值问题

    本节主要学习Python的函数是如何同时返回多个值的问题. 在学习Python的时候惊奇的发现,Python的函数可以同时返回多个值,很有意思. #define function sum def su ...

  10. RAP开发入门-开发笔记

    一.发布/运行 每次项目发布时需要在MANIFEST.MF->bulid中勾选依赖包.文件.代码等,避免报错 部署时项目可能会报一个baseline的错误,window->preferen ...