SVN服务器
-
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
-
1、优点:
1)、管理方便,逻辑明确,符合一般人思维习惯。 2)、易于管理,集中式服务器更能保证安全性。 3)、代码一致性非常高。 4)、适合开发人数不多的项目开发。 5)、大部分软件配置管理的大学教材都是使用svn和vss。
-
2、缺点:
1)、服务器压力太大,数据库容量暴增。 2)、如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。 3)、不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。
安装配置SVN服务器
yum install subversion -y
svnserve --version
mkdir -p /opt/svn/repo #创建目录
svnadmin create /opt/svn/repo #创建一个新的仓库
vim /opt/svn/repo/conf/svnserve.conf #注意:配置项前不能有空格
anon-access = none #匿名用户没有任何权限
auth-access = write #认证用户具有写权限
password-db = /opt/svn/repo/conf/passwd #用户的密码文件
authz-db = /opt/svn/repo/conf/authz #用户信息文件
svnserve -d -r /opt/svn/repo/ #开启服务;-d:守护进程 -r:svn根目录
netstat -tunlp | grep svnserve #查看
vim /opt/svn/repo/conf/passwd #编辑账户密码文件
zhangsan = abc123 #用户和密码
sysadmin = abc123
vim /opt/svn/repo/conf/authz #编辑权限文件
[/]
zhangsan = r
sysadmin = r
[/webphp]
sysadmin = r #运维工程师账户具有的读权限,用于部署
zhangsan = rw #zhangsan用户对此目录有读写权限
mkdir /opt/svn/repo/webphp
svn import webphp/ file:///opt/svn/repo/webphp -m "初始化SVN目录" #导入webphp目录
验证
- 在两台win7虚拟机上安装SVN客户端,在第一台win7的webphp目录中创建文件并添加上传后,则在第二台win7中的webphp目录中刷新后也会出现文件;