官網寫的步驟很詳細,所以安裝過程基本是安裝官網的步驟來的:
前提是已經安裝好mysql了。
1. 安裝Python Setuptools,執行:apt-get install python-setuptools
2. 安裝Python Development Headers,執行:apt-get install python-dev
3. 安裝memcached,執行:apt-get install memcached
4. 安裝python-memcached,執行:easy_install python-memcached
5. 安裝patch,執行:apt-get install patch
6. 安裝ReviewBoard,執行:easy_installReviewBoard
7. 安裝Database Bindings,執行easy_installmysql-python
pt-get install python-mysqldb
8. 接下來創建ReviewBoard站點,執行:rb-site install /usr/local/apache/htdocs/codereview(這個是我的apache根目錄)
9. 接下來會彈出一個窗口用來進行站點的配置,配置的內容如下:
· Domain =localhost
· Root Path = /
· Media URL = media/
· Database Type = mysql
· Database Name = reviewboard
· Database server = localhost
· Database username = 'reviewboard'
· Database password = 'reviewboard'
· Cache Type = memcache
· Memcache Server =memcached://localhost:11211/
· Webserver = apache
· Python loader = mod_wsgi
基本是按照默認的來的。
10. 安裝完後會提示修改文件屬主,這裏修改爲apache用戶,我的叫apache。
chown –R apache /usr/local/apache/htdocs/codereview/htdocs/media/uploaded
chown -R apache /usr/local/apache/htdocs/codereview/data
11. 修改apache配置。
在站點目錄codereview/conf下可以看到apache-wsgi.conf文件這是自動生成的配置文件,要把它加到apache的httpd.conf裏面,直接copy加到末尾就行。
12. 大功告成,重啓apache,訪問localhost/codereview可以看到ReviewBoard的頁面出來了。
接下來是reviewboard的配置:
1,用admin登陸,在Database->User表中,添加用戶
2,如果需要使用svn,需要在Database->Repository添加一個庫。
以下是安裝過程中遇到的錯誤和解決辦法:
1.第7步安裝mysql-python時報錯:nvironmentError:mysql_config not found,網上查了一下找到原因:
這是因爲缺少libmysqlclient-dev
mysql-config是在不同的模塊,並不在mysql裏面。
執行: apt-get install libmysqlclient-dev即可。
2. 最後一步重啓apache時
是因爲apache沒有加載mod_wsgi的原因。(配置ReviewBoard的時候選了mod_wsgi選項,以爲他會自動安裝好,結果沒有)
解決:
Ubuntu可以用命令來裝:sudo apt-getinstall libapache2-mod-wsgi
因爲我的apache是手動裝的,所以我是用源碼來裝的:
1. 先下載mod_wsgi (http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2)
2. 解壓後執行./config-with-apxs=/usr/local/apache/bin/apxs即指定好我的apache目錄
3. 執行make
4. 執行make install,就能看到apache/modules產生了一個mod_wsgi.so
5. 在httpd.conf中添加一行:LoadModulewsgi_module modules/mod_wsgi.so這下就可以加載這個包了。
3.reviewboard中文亂碼解決:
1)安裝完mysql後進行編碼設置,全部設置爲UTF8編碼。
2)reviewboard中文編碼bug解決:
找到文件:diffutils.py.
我的路徑是usr/local/lib/python2.7/dist-packages/ReviewBoard-1.6.11-py2.7.egg/reviewboard/diffviewer/diffutils.py
將第319行return s 改爲return u。
4.使用reviewboard上傳diff文件時的問題:
我用tortoiseSVN 1.7產生的patch文件上傳時會報一個500錯誤,未具體說明,後來在網上查到reviewboard不支持svn1.7產生的patch文件。所以客戶端需使用svn1.6版本。即便如此,我發現產生的patch文件還是不能上傳,發現原因是patch文件中包含中文,所以需要把中文修改一下,通過查資料找到,把patch文件上面的(版本 8)改爲(revision 8),(工作副本)直接刪掉就可以。附上樣本:
Index:acdef.txt
===================================================================
---acdef.txt (revision 8)
+++acdef.txt
@@ -0,0+1 @@
+asdfasdf
\ Nonewline at end of file
這個樣子的就可以正常上傳了。TortoiseSVN如何設置生成的patch文件的格式,目前還沒有找到,看樣子只能手動修改了。