安装subversion软件
yum install subversion #安装subversion软件
svn help #确认是否安装成功
建立SVN版本库
svnadmin create /usr/local/svn/repos
只建一个SVN库,通过文件夹方式管理项目,执行命令后会生成conf, db,format,hooks, locks, README.txt。
新建用户
找到/usr/local/svn/repos/conf/passwd文件,进行修改
[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用户名=密码
#设置权限
找到/usr/local/svn/repos/conf/authz文件,进行修改
[/]
hello= rw
意思是hello用户对所有的目录有读写权限,当然也可以限定。
如果是自己用,就直接是读写吧。
设定snvserv.conf
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz # 访问控制文件
realm = /usr/local/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
启动服务器
svnserve -d -r /usr/local/svn/repos
如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /usr/local/svn/repos --listen-port 3391
这样同一台服务器可以运行多个svnserver
好了,启动成功后,就可以使用了。
建议采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口 :端口号)
连接后可以上传本地的文件,有效的管理你的代码。
下面是http服务支持,与上面服务不冲突
环境配置
关闭selinux
vi /etc/selinux/config
将SELINUX=enforcing为SELINUX=disabled
setenforce 0
安装Apache
yum install httpd
yum install mod_dav_svn
修改配置文件
修改/etc/httpd/conf.d/subversion.conf(没有则新建),內容为
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /repo>
DAV svn
SVNListParentPath on
SVNParentPath /usr/local/svn/repos
AuthType Basic
Satisfy Any
AuthName "Subversion repos"
AuthUserFile /usr/local/svn/accesspwd
AuthzSVNAccessFile /usr/local/svn/authz
Require valid-user
</Location>
<Location />
DAV svn
SVNListParentPath on
SVNParentPath /usr/local/svn
AuthType Basic
Satisfy Any
AuthName "Subversion repos"
AuthUserFile /usr/local/svn/accesspwd
AuthzSVNAccessFile /usr/local/svn/authz
Require valid-user
</Location>
新增/usr/local/svn/authz文件,内容:
[groups]
testgroup = root
[/]
root=rw
[repo:/]
root=rw
新增/usr/local/svn/accesspwd文件,
htpasswd -c -m /usr/local/svn/accesspwd root
按提示输入两次密码,我们就创建了一个’root’
如果要在accesspwd文件里新增其他用户,可以用下面的命令
htpasswd -b -m /usr/local/svn/accesspwd one 123456
one是账号,123456是密码
权限配置
#将用户apache加入root组
usermod -a -G root apache
#让group对/home/svn/repo目录也有写权限
chmod -R g+w /usr/local/svn/repos
#查看apache用户属于的组
groups apache
修改端口
vi /etc/httpd/conf/httpd.conf
#Listen 12.34.56.78:80
#Listen 81
默认端口是80,可以改成其他端口也可以不该
启动与访问
systemctl start httpd
http://xxxxx:端口
HTTP服务部分参考:http://blog.csdn.net/pkufergus/article/details/50404648