一. 先安裝SVN
二.SVN跟Apache整合
1.建立一個SVN版本庫
#cd /var/www/#mkdir svn#cd svn #svnadmin create test1 //SVN安裝完之後,建立SVN倉庫的根目錄為/var/www/svn,在裡面建立一個版本庫test1
2.Apache設定檔修改
#vi /usr/local/apache/conf/httpd.conf
在裡面加入如下內容
LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so<Location /svn> DAV svn SVNParentPath /var/www/svn SVNListParentPath on Order deny,allow Allow from all</Location>
3.SVN設定檔修改
#cd test1#vi config/authz
加入以下兩行
[/]harry = rw
#vi config/passwd
harry = harryssecret //將這行前面的#去掉
#vi config/svnserve.conf
將以下幾行前面的#去掉
anon-access = readauth-access = writepassword-db = passwdauthz-db = authz
三.redmine中SVN的配置
登入redmine後台,管理-》項目-》選擇某個項目-》選擇版本庫選項卡。在SCM中選擇Subversion,填入URL,填入登入名稱和密碼(登入名稱和密碼在此例中可以填寫為,使用者名稱:harry,密碼harrayssecret)。然後在前台查看這個項目,會有版本庫菜單,點擊即可顯示此項目對應的版本庫資訊。
以上的配置僅限於http的URL,如果你的SVN伺服器搭建的是https的,還需要做如下操作。
# vi /usr/local/redmine //進入你放redmine的檔案夾#svn ls --config-dir webserverRedmine --xml https://XX.XX.XXX.XXX/test1/
這時候會要求你輸入使用者名稱密碼,輸入正確的使用者名稱密碼,是否永久儲存ssl憑證,確認。此時會在redmine所在檔案夾下產生webserverRedmine目錄,目錄內容為該SVN的ssl憑證。
修改/usr/local/redmine/lib/redmine/scm/adapters/檔案夾下subversion_adapter.rb的內容。
找到:
def credentials_string str = '' str << " --username #{shell_quote(@login)}" unless @login.blank? str << " --password #{shell_quote(@password)}" unless @login.blank? || @password.blank? str << " --no-auth-cache --non-interactive " str end
將其修改為:
def credentials_string str = '' str << " --username #{shell_quote(@login)}" unless @login.blank? str << " --password #{shell_quote(@password)}" unless @login.blank? || @password.blank? str << " --trust-server-cert --no-auth-cache --non-interactive --config-dir /usr/local/redmine/ webserverRedmine”//(注意:路徑最後的檔案夾不要加斜杠) str end
然後重啟apache,版本庫就可以訪問了。//同時需要注意webserverRedmine檔案夾的許可權哦