reviewBoard配合svn安裝過程,親測

官網寫的步驟很詳細,所以安裝過程基本是安裝官網的步驟來的:

前提是已經安裝好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文件的格式,目前還沒有找到,看樣子只能手動修改了。


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