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
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 等结束程序的命令
在你的本地项目文件夹或随便一个地方,右键空白处弹出菜单,选择 SVN。
而后,经过从SVN服务端获取的资源库URL+具体的项目文件夹名下载相应项目,并能够知道下载项目的保存位置
第一次登录须要输入密码,一切以passwd文件里面的帐户密码为主!
最后,成功登陆svn搭建成功
为何采用http方式登陆,由于上述在
/data/svndata/svnrepos/conf 中的passwd文件中,用户名和密码都是明文的的方式。
若是没有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安装成功
用来存放用户信息和密码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 表示其余用户只能读
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支持文件,svnpath为svn版本库目录,只有一个版本库时使用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