svn的服务形式应该是有两种:
1 通过svnserve建立的 通过svn://ip:port 端口默认是3690,这种形式;
2 通过apache httpd或者其他的web服务器的扩展模块,进行svn管理
前提是:已装好svn 和 apche
第一步:创建用户和密码认证文件
输入如下命令,命令格式
htpasswd [-cmdpsD] passwordfile username
htpasswd -cm /home/svn/conf/http_passwd lisi (若第一次创建用户,我们必须使用参数“-c”来同时创建用户密码文件)
htpasswd -m /home/svn/conf/http_passwd zhangsan (创建第二或之后的用户时,一定不能用参数“ c ”,否则之前的用户就会被删除。)
根据提示输入2次密码即可设置。
注意:(不能用svn自己生成的passd文件中的用户和密码,被坑了很久,只能用命令)
/home/svn/conf/目录下面passwd文件是svnserve独立服务器使用的认证文件,密码没有加密,明文显示。
/home/svn/conf/目录下面http_passwd文件是Apache的http模式使用的认证文件,密码使用MD5加密。
passwd和http_passwd文件中,账号密码必须设置相同。
删除用户命令:
htpasswd -D passwd robert
第二步:设置Apache配置文件
命令=> vi /etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNParentPath /home/svn/repository/
AuthzSVNAccessFile /home/svn/conf/authz
AuthType Basic
AuthName "Subversion.zoneyump"
AuthUserFile /home/svn/conf/passwd
Require valid-user
</Location>
<Location /svn>
DAV svn
#SVNPath /home/svn
SVNParentPath /home/svn
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /home/svn/conf/authz
AuthUserFile /home/svn/conf/http_passwd
Require valid-user
# </LimitExcept>
</Location>
第三步:设置目录权限
chown apache:apache /home/svn -R #设置svn目录所有者为Apache服务运行账号apache
第四步:重启Apache服务
service httpd restart
最后就是访问了!