svn 服务器搭建 ,采用http的方式加密用户。

1.1安装svn

1.环境mysql

centos6.5sql

本地ip:192.168.2.154apache

2.安装vim

yum install subversion

  

查看版本windows

svnserve --version

  

 

3.建立版本库centos

 先建立目录,再建立版本库svn

 

 #建立目录
mkdir -p /data/svndata       

#建立版本库
cd /data/svndata
svnadmin create /data/svndata/svnrepos

  

1.2 svbversion目录以及相关配置文件介绍

1.2.1目录结构以下

 

db目录:就是全部版本控制的数据存放文件。测试

hooks目录:放置hook脚本文件的目录。ui

locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。加密

format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

conf目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)。

进入conf目录(该svn版本库配置文件)
cd conf/ authz文件是权限控制文件 passwd是账号密码文件 svnserve.conf SVN服务配置文件

  

1.svn登陆测试帐号

设置账号密码 vim passwd

 

 在[users]块中添加用户和密码,格式:账号=密码,如xixi = 123456

 

 2.设置权限

 设置权限 vim authz

 

在末尾添加以下代码:

[/]

xixi=rw   #(r:读,w:写)

3.修改svnserve.conf

vim svnserve.conf

打开下面的几个注释:

anon-access = read #匿名用户可读

auth-access = write #受权用户可写

password-db = passwd #使用哪一个文件做为帐号文件

authz-db = authz #使用哪一个文件做为权限文件

realm =/data/svndata/svnrepos # 认证空间名,版本库所在目录

 

4.启动svn

svnserve -d -r /data/svndata/svnrepos/
chkconfig svnserve on  #开机自启

  

 

5.中止svn

 kill 或者 killall 等结束程序的命令

 

2.1 windows测试svn

在你的本地项目文件夹或随便一个地方,右键空白处弹出菜单,选择 SVN。

而后,经过从SVN服务端获取的资源库URL+具体的项目文件夹名下载相应项目,并能够知道下载项目的保存位置

 

第一次登录须要输入密码,一切以passwd文件里面的帐户密码为主!

 

最后,成功登陆svn搭建成功

 

 

3.1 采用http方式登陆,建立加密用户

为何采用http方式登陆,由于上述在

/data/svndata/svnrepos/conf  中的passwd文件中,用户名和密码都是明文的的方式。

若是没有httpd应用

3.1.1 安装httpd

1  安装Apache
         yum install httpd 
         设置开机启动
         chkcofing httpd on
         启动Apache
         service httpd start
         查看Apache版本
         httpd -version

2 安装Apache支持服务
         yum install mod_dav_svn mod_auth_mysql

  

查看是否安装成功
cd /etc/httpd/modules/

若是有mod_dav_svn.so 和 mod_authz_svn.so模块,若是有,则说明mod_dav_svn安装成功

3.1.2  建立相应的http受权目录

用来存放用户信息和密码passwd,权限控制是authz。

 

cd /data/svndata/svnrepos/conf
mkdir http-auth

进入http-auth

  

1.建立用户信息文件用htpasswd方式

htpasswd -c /data/svndata/svnrepos/conf/http-auth/passwd  hehe

  

注意:/var/svn/svntest是个人数据仓库目录,http-auth/passwd是我建立的用户认证文件名称。hehe是我建立的第一 个用户.
由于是第一个用户,因此须要加-c,之后建立帐户不须要加-c命令。
修改密码和建立的方式都是:htpasswd  svn目录    用户

 

 

2.设置相应用户权限控制权限

vim  authz

[groups]

sa = hehe

[/]
@sa = rw
* = r


#sa 是一个组,hehe是用户 若是还要添加用户 :hehe,user1,user2
#[/]  是svn根目录
#@sa  表示是一个组
#rw 表示可读可写
#*=r 表示其余用户只能读

  

 

3.1.3设置Apache配置关于svn认证的文件

vim /etc/httpd/conf/httpd.conf
#在最下面添加以下内容
<Location /svn>
DAV svn
SVNParentPath /data/svndata/
#SVNPath /data/svndata/
AuthType Basic
AuthName "svn 1.6.9"
AuthUserFile /data/svndata/svnrepos/conf/http-auth/passwd
AuthzSVNAccessFile /data/svndata/svnrepos/conf/http-auth/authz
Require valid-user
</Location>

  

说明:DAV为svn支持文件,svnpathsvn版本库目录,只有一个版本库时使用svnpath;

若是有多个版本时使用   svnparentpath和svnlistparentpath配合使用;

AuthaSVNAccessFile为权限文件目录,跟svn协议共同使用一个  权限文件便可;

AuthUserFile为用户认证文件,填入第3步配置的认证文件目录;

Require为用户是否须要验证。

修改svn权限配置文件的目录

 修改为以下内容

 

 为Apache设置数据仓库的全部者权限

 

chown -R apache:apache /data/svndata/svnrepos/

  

最后重启apache  和 重启svn

service httpd restart
service svnserve restart

  

windows测试验证

http://192.168.2.154/svn/svnrepos

相关文章
相关标签/搜索