ReviewBoard安装和配置摘要

来源:互联网 发布:php中字符串截取 编辑:程序博客网 时间:2024/05/20 04:28

经过好几天的折腾,终于安装上了reviewboard。安装环境ubuntu14.04。
reviewboard linux下安装帮助文档如下:
Installing on Linux
Creating a Review Board Site

备注:reviewboard上推荐使用mod_wsgi,以下是其原文摘要。

We recommend mod_wsgi and memcached

If you’re using Apache, we highly recommend using mod_wsgi. fastcgi
has been known to have several issues (including memory leaks and
problems when using the LDAP authentication backend), and mod_python
is no longer developed or shipped with Apache.

We also strongly recommend installing and using memcached. This will
greatly improve performance of your Review Board installation. If
possible, put this on a server with a lot of RAM.

具体安装可以参见Installing on Linux ,以下是简明安装摘要(请用root权限运行或者增加sudo):
1、安装Setuptools和Python Development Headers

apt-get install -y python-setuptools python-dev;

2、安装mysql和Database Bindings

apt-get install -y mysql-server python-mysqldbeasy_install mysql-python

3、安装apache2和mod_wsgi

apt-get install -y apache2 libapache2-mod-wsgi

4、安装memcached和python-memcached Python bindings

apt-get install -y memcachedeasy_install python-memcached

5、安装patch

apt-get install -y patch

6、安装Review Board

easy_install ReviewBoard

7、安装svn和 python-svn

apt-get install -y subversion python-svn##(备份用,用python-svn就可以了,不要安装) apt-get install python-subvertpy

8、配置mysql

如果出问题,重启数据库。Ubuntu下service mysql restart 才有效, /etc/init.d/mysql restart 和 mysqladmin shutdown 没啥效果

创建数据库、数据库用户for ReviewBoard(这块要注意数据库的字符集设置,默认是UTF-8,官网上有配置utf8,我们这里配置下my.cnf这个文件)

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8

创建和配置数据库

mysql -u root -p  /* 用root用户登录 */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

9、创建你的reviewboard站点

rb-site install /var/www/reviewboard   /* 之后会有一系列类似安装向导的步骤,需要你做出选择,尽量选择默认值吧 */

Domain = localhost
Root Path = /
Database Type = mysql
Database server = localhost
Database username = ‘reviewboard’
Database password = ‘reviewboard’
Cache Type = memcache
Memcache Server = memcached://localhost:11211/
Webserver = apache

10、配置站点,启动Apache2

/* 让webserver拥有对uploaded目录的修改权限 */chown -R www-data /var/www/reviewboard/htdocs/media/uploaded chown -R www-data /var/www/reviewboard/datachown -R www-data /var/www/reviewboard/htdocs/static/extchown -R www-data /var/www/reviewboard/htdocs/media/extcd /etc/apache2/sites-availablecp /var/www/reviewboard/conf/apache-wsgi.conf reviewboard.confcd ../sites-enabledln -s ../sites-available/reviewboard.conf .a2ensite reviewboard/etc/init.d/apache2 restart

在你的浏览器里敲入:http://localhost:80,ReviewBoard的登录界面就会出现在你的面前。

后记:
创建rb site的时候要把Domain指定成你的dns name 或者ip,否则无法从外部访问。
如果你的apahcer server host不是固定IP,那么在ip变化之后,
需要修改/etc/apache2/sites-enabled目录下的站点文件,把ip手动更新为新的ip。
需要修改/var/www/reviewboard/conf下面的apache-wsgi.conf。
需要修改/var/www/reviewboard/conf下面的settings_local.py,替换其中的ip。rm settings_local.pyc,重新编译生成该pyc文件。
编译脚本如下:

import compileallcompileall.compile_dir(r'/var/www/reviewboard/conf')

出现问题解决手段及方法(打开调试模式):

更改/www_rb/conf/settings_local.py文件,将DEBUG = False改为DEBUG = True。这样就可以在报500错误时得到错误信息

一个配置参考:

# Site-specific configuration settings for Review Board# Definitions of these settings can be found at# http://docs.djangoproject.com/en/dev/ref/settings/# Database configurationDATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',        'NAME': 'reviewboard',        'USER': 'reviewboard',        'PASSWORD': 'reviewboard',        'HOST': 'localhost',        'PORT': '',    },}# Unique secret key. Don't share this with anybody.SECRET_KEY = '@8ja(9f7gqb%ik0iad(e_=6lxn30%=@5q%8who2=f@eqb@)@!!'# Cache backend settings.CACHES = {    'default': {        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',        'LOCATION': '172.21.6.251:11211',    },}# Extra site information.SITE_ID = 1SITE_ROOT = '/'FORCE_SCRIPT_NAME = ''DEBUG = TrueALLOWED_HOSTS = ['172.21.6.251']
0 0