一. 先安装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.so
LoadModule 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 = read
auth-access = write
password-db = passwd
authz-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文件夹的权限哦