Centos7 搭建SVN服务器

安装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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值