一、SVN相关介绍:
自由/开源的版本控制系统-
Unix的一个变种,Unix Like类Unix的操作系统
基本思想:一切都是文件(命令、硬盘设备、进程对于内核来说都是文件)
常用发行版本:RedHat、CentOS、Ubuntu
核心数据仓库-Repository
工作空间-WorkSpace
SVN=版本控制+备份服务器
二、服务端:CentOS下搭建SVN服务器:
1、yum install subversion
2、SVN的相关配置:
2.1、创建一个SVN仓库(所有项目存放与管理)
2.2、创建项目
2.3、对SLSaleSystem这个项目进行配置管理-->
2.3.1、/svndata/projects/MyDemo/conf/svnserve.conf
2.3.2、/svndata/projects/MyDemo/conf/passwd
2.3.3、/svndata/projects/MyDemo/conf/authz
3、启动和关闭服务:
启动:svnserve -d -r/svndata
停止:killall svnserve
三、客户端:TortoiseSVN -注:TortoisSVN在安装时,一点要勾选命令行功能
==================================================
在CentOS 里 配置SVN
示例配置SVN:
1、创建一个SVN仓库
--> mkdir -p /svndata/projects
2、创建项目(例如:创建MyDemo项目,创建后smbms下就会出conf db format hooks locks
README.txt)
--> svnadmin create /svndata/projects/MyDemo
3、对MyDemo这个项目进行配置管理(在conf目录:authz passwd svnserve.conf)
--> vi /svndata/projects/MyDemo/conf/svnserve.conf
修改:设置访问权限
anon-access = none|read
auth-access = write
password-db = passwd
authz-db = authz
-----------------------------------------------------------------------------------------------------------------
anon-access :(定义非授权用户的访问权限,有三种方式: none 、 read 、 write ,设置为none 限制访问,read 为只读, write 为具有读写权限,默认为 read。)
auth-access :(定义授权用户的访问权限,有三种方式: none 、 read 、 write ,设置为none 限制访问, read 为只读, write 为具有读写权限,默认为 write。)
password-db :(定义保存用户名和密码的文件名称,这里为 passwd ,和该文件位于同一目录。)
authz-db :(定义保存授权信息的文件名称,这里为 authz ,和该文件位于同一目录。)
-----------------------------------------------------------------------------------------------------------------
--> vi /svndata/projects/MyDemo/conf/passwd
修改:增加用户
[users]
# harry = harryssecret
# sally = sallyssecret
admin=admin
user01=123456
user02=123456
guest=123456
-----------------------------------------------------------------------------------------------------------------
--> vi /svndata/projects/MyDemo/conf/authz
设置authz:
[groups]
user=user01,user02[/]
@user=rwadmin=rw
guest=r
*=
[MyDemo:/]
@user=rw
[MyDemo:/test]
@user=r
-----------------------------------------------------------------------------------------------------------------
[groups]
groups中指出了按分组来管理用户,user组--user01,user02
*=
*=说明除了上述用户外,其他人都没权限
[/]
而[/] @user=rw admin=rw guest=r
中指出了这个项目的根版本库,对admin 以及 user组是可读,可写的
而 guest只有读权限
[MyDemo:/]
组user的用户 对库中所有资源具有 读和 写的权限。
[MyDemo:/test]
组user的用户 对库中所有资源只有 读,即回收了写权限
-----------------------------------------------------------------------------------------------------------------
4、开放3690端口
修改防火墙设置:
-->vim /etc/sysconfig/iptables
或直接用语句:
-->iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
-->service iptables save
-----------------------------------------------------------------------------------------------------------------
5、启动服务
启动:svnserve -d -r/svndata
==================================================