文章目录
一、SVN基本操作1、软件安装2、创建版本库目录3、针对不同版本库修改配置文件4、配置用户和密码及认证权限5、服务SVN启动及创建测试代码6、代码添加
二、SVN+Apache1、查看apache对svn模块的支持2、配置apache支持svn3、创建用户passwd文件4、创建权限authz文件5、启动服务测试
一、SVN基本操作
1、软件安装
[root@localhost ~
]
[root@localhost ~
]
svn 3690/tcp
svn 3690/udp
svnetworks 2973/tcp
svnetworks 2973/udp
svnet 3413/tcp
svnet 3413/udp
ml-svnet 4171/tcp
2、创建版本库目录
[root@localhost ~
]
[root@localhost ~
]
[root@localhost ~
]
[root@localhost ~
]
conf db
format hooks locks README.txt
目录说明
dav目录提供apache与mod_dav_svn使用的目录db目录所有版本控制的数据存放文件hooks目录放置hook脚本文件locks目录放置subversion监控锁定数据的目录,用来追踪存取文件库的客户端format文件是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号conf目录是这个仓库的配置文件(仓库的用户访问账号、权限等)
[root@localhost ~
]
authz
passwd svnserve.conf //authz:认证权限相关;passwd:用户名和密码;svnserve.conf:服务器配置文件
3、针对不同版本库修改配置文件
[root@localhost ~
]
anon-access
= read //匿名用户可以读(none:匿名用户不可以访问)
auth-access
= write //认证用户可以写(read,write,none)
password-db
= passwd //密码库文件,默认使用的是同一目录下的passwd文件作为用户密码库
authz-db
= authz //认证权限文件
realm
= www.backup01.com //登陆提示信息
注意:此配置文件的所有内容必须顶格,否则会报错
4、配置用户和密码及认证权限
[root@localhost ~
]
[users
]
zhangsan
= 123456
lisi
= 123456
wangwu
= 123456
[root@localhost ~
]
[groups
]
Check
= zhangsan,lisi //定义组,在
[groups
]下面添加
[/
] ///表示我当前所在版本库目录,这里代表www.backup01.com
wangwu
= rw
@Check
= r //@Check表示这个组的权限
*
= //除了上面的有赋予权限成员之外,其他的成员都没有权限
5、服务SVN启动及创建测试代码
[root@localhost ~
]
[root@localhost ~
]
root 11731 0.0 0.0 197812 1040 ? Ss 16:19 0:00 svnserve -d -r /webdept/
root 11739 0.0 0.0 112824 980 pts/0 S+ 16:19 0:00
grep --color
=auto svn
[root@localhost ~
]
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 11731/svnserve
[root@localhost ~
]
[root@localhost ~
]
[root@localhost localsvn
]
[root@localhost localsvn
]
[root@localhost ~
]
正在增加 localsvn/1.html
正在增加 localsvn/2.html
提交后的版本为 1。
[root@localhost ~
]
认证领域:
<svn://192.168.1.10:3690
> www.backup01.com
“root”的密码:
认证领域:
<svn://192.168.1.10:3690
> www.backup01.com
用户名: zhangsan
“zhangsan”的密码:
-----------------------------------------------------------------------
注意
! 你的密码,对于认证域:
<svn://192.168.1.10:3690
> www.backup01.com
只能明文保存在磁盘上
! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码
(yes/no
)?n
A downsource/1.html
A downsource/2.html
取出版本 1。
6、代码添加
[root@localhost ~
]
[root@localhost downsource
]
[root@localhost downsource
]
A 5.html
[root@localhost downsource
]
认证领域:
<svn://192.168.1.10:3690
> www.backup01.com
“wangwu”的密码: //只有wangwu拥有上传权限
-----------------------------------------------------------------------
注意
! 你的密码,对于认证域:
<svn://192.168.1.10:3690
> www.backup01.com
只能明文保存在磁盘上
! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码
(yes/no
)?n
正在增加 5.html
传输文件数据.
提交后的版本为 2。
二、SVN+Apache
1、查看apache对svn模块的支持
[root@localhost ~
]
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dontdothat_module modules/mod_dontdothat.so
[root@localhost ~
]
/etc/httpd/modules/mod_dav_svn.so
[root@localhost ~
]
/etc/httpd/modules/mod_authz_svn.so
2、配置apache支持svn
[root@localhost ~
]
<Location /webdept
>
DAV svn
SVNParentPath /webdept //svn根目录
AuthType Basic //Basic认证方式
AuthName
"www.backup01.com website Dept" //认证显示信息,提示信息
AuthUserFile /webdept/svn/passwd //用户密码文件
AuthzSVNAccessFile /webdept/svn/authz //访问控制权限文件
Require valid-user //要求正式用户,不能匿名
</Location
>
3、创建用户passwd文件
[root@localhost ~
]
[root@localhost ~
]
New password:
Re-type new password:
Adding password
for user user1
[root@localhost ~
]
New password:
Re-type new password:
Adding password
for user user2
[root@localhost ~
]
New password:
Re-type new password:
Adding password
for user user3
[root@localhost ~
]
user1:
$apr1$rHOgr4Lq$x5nvEOB.E2k0HVajJcS9o1
user2:
$apr1$gSr.NbdB
$nUt8uXM6RpCeBntI0lMfD0
user3:
$apr1$TA1A9HXo$JFQ2E2pBT5Y.vqE74iA8C0
4、创建权限authz文件
[root@localhost ~
]
[groups
]
all
= user1,user2
[/
] //“/”表示所有仓库的根目录下
[www.backup01.com:/
] //第一个仓库,user1和user2可以读写
@all
= rw
[www.backup02.com:/
] //第二个仓库目录,user2和user3可以读写
User2
= rw
User3
= rw
5、启动服务测试
[root@localhost ~
]