Debain8安装ReviewBoard

1、安装需要的软件及软件包

#更新apt软件列表
apt-get update

#安装mysql
apt-get install mysql-server

#安装apache2
apt-get install apache2

#安装mod_wsgi
apt-get install libapache2-mod-wsgi

#安装memcached
apt-get install memcached

#安装patch
apt-get install patch

#安排subversion
apt-get install subversion

2、配置MySQL

#修改配置文件
vi /etc/mysql/my.cnf
#添加下面内容
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8


#重启mysql
/etc/init.d/mysql restart


#新建数据库、用户并授权
mysql -u root -p
mysql> CREATE DATABASE reviewboard CHARACTER SET utf8;
mysql> CREATE USER 'reviewboard'@'localhost' IDENTIFIED BY 'reviewboard';
mysql> GRANT ALL PRIVILEGES ON reviewboard.* to 'reviewboard'@'localhost';

3、配置svn(我的svn和reviewboard不是在一台机器上的,不需要重新配置)

4、配置Python2.7环境

#安装python-setuptools
apt-get install python-setuptools

#安装python-dev
apt-get install python-dev

#安装python-mysqldb
apt-get install python-mysqldb
#替代方案
#easy_install mysql-python

#安装python-svn
apt-get install python-svn

#安装 libffi-dev
apt-get install libffi-dev

#安装ReviewBoard
easy_install ReviewBoard

#你可以用pip安装
#eays_install pip
#pip install pipdeptree
#pip install ReviewBoard

5、安装网站

#这句话会报错,因为依赖的Django版本冲突所导致的
rb-site install /var/www/reviewboard

#查看插件依赖
pipdeptree

#可以看到
#ReviewBoard依赖Django [required: <1.7,>=1.6.11, installed: 1.8]
#django-haystack依赖Django [required: >=1.8, installed: 1.8]
argparse==1.2.1
chardet==2.3.0
lxml==3.4.0
MySQL-python==1.2.3
numpy==1.8.2
pycups==1.9.63
pycurl==7.19.5
pygobject==3.14.0
pysmbc==1.0.15.3
python-apt==0.9.3.11
python-debian==0.1.27
  - six [required: None, installed: 1.8.0]
python-debianbts==1.11
pyxdg==0.25
reportbug==6.6.3
ReviewBoard==2.5.1
  - Django [required: <1.7,>=1.6.11, installed: 1.8]
  - django-evolution [required: <=0.7.999,>=0.7.5, installed: 0.7.6]
    - Django [required: <1.7.0,>=1.4.10, installed: 1.8]
  - django-haystack [required: >=2.3.1, installed: 2.5.0]
    - Django [required: >=1.8, installed: 1.8]
    - Django [required: <1.10, installed: 1.8]
  - django-multiselectfield [required: None, installed: 0.1.4]
    - django [required: >=1.4, installed: 1.8]
  - Djblets [required: <=0.9.999,>=0.9, installed: 0.9.3]
    - Django [required: >=1.6.11,<1.8.999, installed: 1.8]
    - django-pipeline [required: <1.3.9999,>=1.3.23, installed: 1.3.27]
      - futures [required: >=2.1.3, installed: 3.0.5]
    - feedparser [required: >=5.1.2, installed: 5.2.1]
    - pillowfight [required: None, installed: 0.2]
      - Pillow [required: None, installed: 2.6.1]
    - pytz [required: None, installed: 2016.7]
  - docutils [required: None, installed: 0.12]
  - markdown [required: <2.4.999,>=2.4.0, installed: 2.4.1]
  - mimeparse [required: >=0.1.3, installed: 0.1.3]
  - paramiko [required: >=1.12, installed: 2.0.2]
    - cryptography [required: >=1.1, installed: 1.5.2]
      - cffi [required: >=1.4.1, installed: 1.8.3]
        - pycparser [required: None, installed: 2.14]
      - enum34 [required: None, installed: 1.1.6]
      - idna [required: >=2.0, installed: 2.1]
      - ipaddress [required: None, installed: 1.0.17]
      - pyasn1 [required: >=0.1.8, installed: 0.1.9]
      - setuptools [required: >=11.3, installed: 28.6.0]
      - six [required: >=1.4.1, installed: 1.8.0]
    - pyasn1 [required: >=0.1.7, installed: 0.1.9]
  - pycrypto [required: >=2.6, installed: 2.6.1]
  - Pygments [required: >=1.6, installed: 2.0.1]
  - python-dateutil [required: ==1.5, installed: 1.5]
  - python-memcached [required: None, installed: 1.58]
    - six [required: >=1.4.0, installed: 1.8.0]
  - pytz [required: None, installed: 2016.7]
  - recaptcha-client [required: None, installed: 1.0.6]
  - Whoosh [required: >=2.6, installed: 2.7.4]
roman==2.0.0
SOAPpy==0.12.22
  - defusedxml [required: None, installed: 0.4.1]
  - wstools [required: None, installed: 0.4.3]
    - docutils [required: None, installed: 0.12]
wsgiref==0.1.2

#所以降级django-haystack就好了
easy_install -m django
easy_install -m django-haystack
easy_install django-haystack==2.3.1
easy_install reviewboard

6、安装网站,并修改网站权限

#安装网站,按提示输入
rb-site install /var/www/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/logs
chown -R www-data /var/www/reviewboard/htdocs/media/ext
chown -R www-data /var/www/reviewboard/htdocs/static/ext

7、配置访问权限

#配置访问权限
vi /var/www/reviewboard/conf/settings_local.py

#修改下面一行,这是不限制任何访问
ALLOW_HOSTS=['*']

8、配置apache2虚拟目录

cp /var/www/reviewboard/conf/apache-wsgi.conf /etc/apache2/sites-available/reviewboard.conf
#按实际需要的部署情况,编辑reviewboard.conf
cd /etc/apache2/sites-enabled
ln -s ../sites-avaiable/reviewboard.conf

9、重启apache2

/etc/init.d/apache2 restart

10、打开浏览器就可以登录啦

11、另外,我是在虚拟机中部署的reviewboard,我尝试了用nginx反向代理reviewboard,但没有成功。
用firebug看到,json中的ip地址没有改写,最后发现是因为django没有正确的处理absolute_path。
好像增加一些django的配置就好了,但实在是没时间处理了。
最后用bridege方式将虚拟机映射出来,完成部署。

Leave a Reply

Your email address will not be published. Required fields are marked *

*