linux SVN服务器创建版本库
1.安装服务
安装svn就简单化了,直接用yum解决了。
1
|
yum
install
-y subversion
|
2.创建版本库
1
2
|
mkidr
/svn/obj
svnadmin create
/svn/obj
|
3.配置
用svnadmin后,会在/svn/obj目录下生成conf目录,此目录下有三个文件,authz、passwd、svnserver.conf
authz 用户权限配置文件
passwd 用户密码配置文件
svnserver.conf 主配置文件
编辑svnserver.conf文件:
1
2
3
4
|
anon-access = none
#关闭匿名访问
auth-access = write
#验证用户可写
password-db =
passwd
#指向验证用户名密码的数据文件 passwd
auth-db=authz
#指向验证用户的权限配置文件 authz
|
编辑passwd文件:
1
2
|
[
users
]
admin=admin
#用户名在等号前面,密码在后面相对应,注意:前面不能有空格
|
编辑authz文件:
1
2
3
4
5
6
|
[
groups
]
admin=admin,admin2,admin3
user=user1,user2,user3
[/]
@admin=rw
#admin组内的用户有obj的读写权限
@user=rw
#user组内的用户有obj的读写权限
|
4.启动服务
1
|
svnserve -d -r
/svn/obj
|
现在用客户端TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi 工具就可以上传和下载使用了
1
|
地址是: svn:
//ip
|
5.使用多个版本库
1
2
3
4
|
mkdir /svn/book
mkdir /svn/sport
svnadmin create /svn/book
svnadmin create svn/sport
|
上面操作又创建了两个版本库 book和sport
把obj目录下的conf里的三个文件分别复制到book和sport的conf中
1
2
|
/bin/cp
/svn/obj/conf/
*
/svn/book/conf/
/bin/cp
/svn/obj/conf/
*
/svn/book/conf/
|
重新启动svn服务:
kill 'svn id' 先杀掉之前启动的
svnserve -d -r /svn
用客户端工具下载和上传时,写url的时候后面加上文件夹的名字即可分开,如:
svn://ip/obj
svn://ip/book
搭配apache登陆。
yum install httpd.
修改配置文件 vi /etc/httpd/conf/httpd.conf
最后添加:
<location />
DAV svn
SVNParentPath /opt/svndata (此处配置你的版本库根目录) --注意这里不要是svnpath,单库用此
AuthType Basic (连接类型设置 基本验证)
AuthName "Hello welcome to here" (此处字符串内容修改为提示对话框标题)
AuthUserFile /etc/httpd/conf/passwd (此处修改为访问版本库用户的文件,通过http访问的账号是Apache http验证的。通过svn://访问的账号是svn仓库conf目录下passwd指定的。两个是独立的认证方式。)
AuthzSVNAccessFile /opt/svndata/authz(此处修改为访问版本库权限的文件)
Require valid-user ("Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库)
</location>
保存文件退出!
注:通过http验证的用户文件生成方式:
1 . 添加用户:
# /usr/bin/htpasswd –c /etc/bin/conf/passwd user1
第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
第二次添加用户不需要带 –c 参数 如:
# /usr/bin/htpasswd/etc/httpd/conf/passwd user2
重启httpd:systemctl restart httpd,即可http://访问了。