CentOS下搭建SVN服务器
时间:2014-09-23 12:39 来源:linux.it.net.cn 作者:it
svn不仅仅可以用于程序开发,还可以做很多事情,例如备份文档。
目录
[隐藏]
-
1 安装
-
2 建立项目
-
3 配置SVN
-
3.1 添加用户
-
3.2 权限控制
-
4 启动
-
5 windows下测试
安装
CentOS下:
yum install -y subversion
Ubuntu下:
sudo apt-get install subversion
检查是否安装成功
svnserve --version
建立项目
mkdir -p ~/svn //建立svn根目录,用于存放多个项目,其中“~”表示home目录
新建项目proj1
mkdir -p ~/svn/proj1 //其中-p表示没有父目录则新建
svnadmin create ~/svn/proj1
命令完成后,会在proj1目录下生成相应的文件和文件夹:
再建立1个项目proj2
mkdir -p ~/svn/proj2
svnadmin create ~/svn/proj2
配置SVN
将proj1/conf下的authz、passwd拷贝至~/svn/根目录下,结果如下所示:
添加用户
vi ~/svn/passwd,添加形如“username=password”的条目即可
权限控制
用于设置哪些用户可以访问哪些目录
vi ~/svn/authz,添加
[groups]
admin=test1
devteam1=test2,test3 //开发组一
devteam2=test4
[/]
@admin=rw
*=
[proj1:/]
@devteam1=rw
[proj2:/]
@devteam2=rw
注: 此处的用户名必须是“passwd”文件中已经定义的用户名
1个用户组可以包含1个或多个用户,用户间以逗号分隔
*=表示除了有权限的用户之外,其他任何人都禁止访问本目录。
进入proj1/conf,配置svnserve.conf(左侧不能留空格),让用户和权限控制策略生效
[general]
anon-access=none # 使非授权用户无法访问
auth-access=write#使授权用户有写权限
password-db=~/svn/passwd #密码文件
authz-db=~/svn/authz#访问控制文件
以后建立的其它项目可以直接使用此配置,如:
cp ~/svn/proj1/conf/svnserve.conf ~/svn/proj2/conf/svnserve.conf
启动
svnserve -d -r ~/svn (注意不是~/svn/proj1)
-d表示以守护模式运行
svn默认监听3690端口,如果已经有svn在运行了,可以使用“--listen-port=”指定其它端口
svnserve -d -r ~/svn/ --listen-port 3391
这样同一台服务器便可以运行多个svnserver了
检查端口
netstat -ntlp|grep 3690
注:如果修改了svn配置,需要重启svn服务
# ps -aux|grep svnserve
# kill -9 ID号 // -9表示强制终止
# svnserve -d -r ~/svn
开启3690端口
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
/etc/init.d/iptables save //保存
service iptables restart //重启防火墙
可通过cat /etc/sysconfig/iptables查看是否将3690端口添加成功
windows下测试
需要安装TortoiseSVN
32位下载:艺搜下载
64位下载:艺搜下载
安装完成后,鼠标右击要导入的项目。选择SVN>Import
导入成功后:
(责任编辑:IT)
svn不仅仅可以用于程序开发,还可以做很多事情,例如备份文档。
安装CentOS下: yum install -y subversion Ubuntu下: sudo apt-get install subversion 检查是否安装成功 svnserve --version 建立项目mkdir -p ~/svn //建立svn根目录,用于存放多个项目,其中“~”表示home目录 新建项目proj1 mkdir -p ~/svn/proj1 //其中-p表示没有父目录则新建 svnadmin create ~/svn/proj1 命令完成后,会在proj1目录下生成相应的文件和文件夹:
再建立1个项目proj2 mkdir -p ~/svn/proj2 svnadmin create ~/svn/proj2 配置SVN将proj1/conf下的authz、passwd拷贝至~/svn/根目录下,结果如下所示:
添加用户vi ~/svn/passwd,添加形如“username=password”的条目即可
权限控制用于设置哪些用户可以访问哪些目录 vi ~/svn/authz,添加 [groups] admin=test1 devteam1=test2,test3 //开发组一 devteam2=test4 [/] @admin=rw *= [proj1:/] @devteam1=rw [proj2:/] @devteam2=rw 注: 此处的用户名必须是“passwd”文件中已经定义的用户名 1个用户组可以包含1个或多个用户,用户间以逗号分隔 *=表示除了有权限的用户之外,其他任何人都禁止访问本目录。 进入proj1/conf,配置svnserve.conf(左侧不能留空格),让用户和权限控制策略生效 [general] anon-access=none # 使非授权用户无法访问 auth-access=write#使授权用户有写权限 password-db=~/svn/passwd #密码文件 authz-db=~/svn/authz#访问控制文件 以后建立的其它项目可以直接使用此配置,如: cp ~/svn/proj1/conf/svnserve.conf ~/svn/proj2/conf/svnserve.conf 启动svnserve -d -r ~/svn (注意不是~/svn/proj1) -d表示以守护模式运行 svn默认监听3690端口,如果已经有svn在运行了,可以使用“--listen-port=”指定其它端口 svnserve -d -r ~/svn/ --listen-port 3391 这样同一台服务器便可以运行多个svnserver了 检查端口 netstat -ntlp|grep 3690 注:如果修改了svn配置,需要重启svn服务 # ps -aux|grep svnserve # kill -9 ID号 // -9表示强制终止 # svnserve -d -r ~/svn 开启3690端口 /sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT /etc/init.d/iptables save //保存 service iptables restart //重启防火墙 可通过cat /etc/sysconfig/iptables查看是否将3690端口添加成功 windows下测试需要安装TortoiseSVN 32位下载:艺搜下载 64位下载:艺搜下载 安装完成后,鼠标右击要导入的项目。选择SVN>Import
导入成功后:
(责任编辑:IT) |