最新apache+svn+reviewboard實現在線代碼評審

本文重點說reviewboard的安裝

作用,在線代碼評審工具。

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

mysql安裝

yum -y install gcc gcc-c++ make cmake autoconf automake ncurses* bison* zlib* expat* 

openssl* apr* neon* 

yum -y install mysql-server 

可以選擇yum安裝mysql 或者編譯安裝mysql

注,編譯安裝的mysql,90%運維會裝在/usr/local/mysql 下 如果默認安裝在/usr/local/mysql下

,等裝好ReviewBoard生成站點的時候會選擇支持使用的數據庫的時候沒有識別mysql只有sqlite3

,此時,如果你數據庫不是sqlite3,繼續往下執行自動生成的站點訪問將會出現bad reqest 400

錯誤。對於編譯安裝的mysql,解決辦法如下 yum安裝的mysql命令將在/usr/local/bin/下,不需要軟連。

* What database type will you be using?

  You can type either the name or the number from the list below.

  (1) sqlite3 (not supported for production use)

  Database Type: 1

對於編譯安裝的mysql,解決辦法如下 做相應的軟連接

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18

ln -s /usr/local/mysql/bin/* /usr/local/bin/

mysql安裝此處不再介紹 編譯也好,yum也好,看需求及使用mysql的級別。

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

Apache和SVN

yum -y install httpd httpd-devel  mod_dav_svn  subversion subversion-devel 

apache 安裝好之後可直接啓動

svn 的安裝於配置,倉庫的創建,用戶的管理,權限的配置,網上文檔一大堆。

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

安裝reviewboard

reviewboard是有python開發,使用python-setuptools安裝

1,yum -y install python-setuptools

easy_install -U setuptools,

2,安裝python組件

yum -y install python python-devel python版本要2.6以上纔可以支持reviewboard

3、 安裝patch

yum -y install patch 

4、 安裝pysvn

wget http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.6.tar.gz

tar zxvf pysvn-1.7.6.tar.gz

cd pysvn-1.7.6/Source

python setup.py backport 驗證與python的兼容

python setup.py configure

make pysvn的編譯安裝需要subversion-devel的支持,沒有裝devel報此處報錯,yum安裝之後將解

決。

mkdir /usr/lib64/python2.6/site-packages/pysvn

cp pysvn/__init__.py /usr/lib64/python2.6/site-packages/pysvn

cp pysvn/_pysvn*.so /usr/lib64/python2.6/site-packages/pysvn

5、 安裝mod_wsgi

yum -y install mod_wsgi 是支持webpy的一個模塊

6、 安裝mencache

yum -y install memcached

easy_install python-memcached reviewboard需要memcxched的支持,之前沒打開11211端口,訪

問很慢。

7、 安裝Review Board

easy_install ReviewBoard

# 如果安裝過程中 Django 1.6.5一直因爲網絡問題安裝失敗的話,可以手動下載安裝 偉大的天朝

已經屏蔽的google,此處提供一個openerdns 42.120.21.30 添加到/etc/resolv.cof 裏。成功的

機率大大提高,以爲此dns可以代理到google,https://code.google.com/p/openerdns/ 

wget https://pypi.python.org/packages/source/D/Django/Django-

1.6.5.tar.gz#md5=e4c5b2d35ecb3807317713afa70a0c77

cd Django-1.6.5

python setup.py build

python setup.py install

# 或者使用pip在線安裝

pip --default-timeout=2000 install Django==1.6.5

8、 安裝mysql組件

easy_install mysql-python

創建reviewboard站點

創建reviewboard存放數據的數據庫reviewboard並賦予權限和密碼

mysql> create database reviewboard default charset utf8 collate utf8_general_ci;

mysql> grant all on reviewboard.* to 'reviewboard'@'localhost' identified by 


'reviewboard';

mysql> FLUSH PRIVILEGES; 

創建reviewboard站點

rb-site install /reviewboard  rb-site命令是裝reviewboard自動生成的

之後會有一系列類似安裝嚮導的步驟,需要你做出選擇,儘量選擇默認值吧

     Domain = rb.XXX.com 自己隨意,本地做個hosts綁定就行

     Root Path = 回車

     Database Type = mysql 

     Database Name = reviewboard

     Database server = 回車

     Database username = 'reviewboard'

     Database password = 'reviewboard'

     Memcache Server = 回車

      Username [admin]: admin

     E-Mail Address = 郵箱自己填


ok之後需要修改下列文件的屬主屬組

[root@localhost bin]# chown -R apache /reviewboard/htdocs/media/uploaded

[root@localhost bin]# chown -R apache /reviewboard/htdocs/media/ext

[root@localhost bin]# chown -R apache /reviewboard/htdocs/static/ext

[root@localhost bin]# chown -R apache /reviewboard/data/

cp /reviewboard/conf/apache-wsgi.conf  到/etc/httpd/conf.d/  apache爲yum安裝,編譯安裝

自己定位目錄。80端口被佔用,我使用了8081 修改了下端口,使用80端口將不用任何修改。

重啓apache,http://http://rb.xxx.com/ 就可以訪問。

wKioL1PY6QShdRHXAAGjClXwIMU964.jpg

如果出現400錯誤,就是在創建reviewboard站點出現錯誤,站點沒有生成好,之前就是沒有顯示mysql選擇了sqlite3,也ok了,訪問就是顯示400錯誤,以爲是apache-wsgi.conf中

 WSGIPassAuthorization On

 WSGIScriptAlias "/" "/reviewboard/htdocs/reviewboard.wsgi/" 這兩行的問題,寫了個html,試驗了虛擬主機,註釋這兩行就ok,打開就400, 查了半天的mode_wsgi,還是400,最終又重新檢查一遍,支持了mysql,終於解決。

500錯誤解決有可能是數據庫的問題,重啓數據庫(慎重)或者drop reviewboard庫重新創建,並重新生成reviewboard站點。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章