linux安装配置SVN服务器debian系列
debian系列的linux安装软件源命令可以用apt-get,先安装svn服务端:
apt-get install subversion
创建svn仓库存放路径:mkdir /home/svn
进入目录: cd /home/svn
创建版本库:svnadmin create xfdata
清理所有svnserve进程:killall svnserve
启动服务端:svnserve -d -r /home/svn
查看svnserver是否已启动: netstat -ntlp,可看到svn对应的端口3690(如果没有看见,则证明服务未启动,还可以通过svnserve -d -r /home/svn/xfdata 来指定启动目录)
这是几个svn服务端的命令,启动之前先要配置几个文件,权限、角色等。
配置文件在/home/svn/xfdata/conf下面,分别是authz、passwd、svnserve.conf。
svnserve.conf主要设置整体的安全策略,passwd则设置用户名和密码,authz则是设置具体的用户有什么权限。
svnserve.conf 配置内容如下:
[general]
anon-access = none //去掉前面的#,拒绝匿名用户
auth-access = write // 有权限用户可读写
password-db = passwd // 指定密码配置文件的路径
authz-db = authz // 指定目录权限配置文件的路径
passwd配置内容如下:
xf=123465 //用户名=密码,自己指定
authz.conf 配置内容如下:
[groups] //开发组定义,后面是用户名,逗号分隔
g_manager = xf //管理组
j_dev=xf,sxy,zl //开发组
[/xfdata] //指定版本库,[/]表示所有版本库
@j_dev= rw //开发组可读写
#* =
注:[theyun:/]表示目录结构的相对根节点,@表示是一个组名,不是用户名,也可以换成单独的用户名,* 表示”除了g_manager里的人之外的其余所有人”,
* = r 表示”那些只能读,不能写”,* = 表示除了该部门开发者之外,任何人都被禁止访问本目录
版本控制的svn客户端命令就不说了,windows下都用右键菜单操作,哈哈。
github在国外比较慢,主要是开发的电脑经常要切换,要经常更换hosts。对于非开发人员用svn还是比git更方便直观,所以版本管理还是用svn,就搭了linux svn服务器。
客户端checkout,url怎么写?
svn可以分为单个或多个版本库,假设:
版本库目录为 /data/svndata/repos1
启动程序如果是:svnserve -d -r /data/svndata/repos1
这代表你当前svn只为repos1这个版本库工作,客户端访问直接svn://IP/ 就可以了,后面不跟目录
启动程序如果是:svnserve -d -r /data/svndata/
这代表你当前svn可以多版本库运行,客户端访问就需要加上 svn://IP/repos1 这样才能访问repos1版本库