当前位置: > CentOS > CentOS服务器 > 文件同步 >

Centos 6.4 搭建SVN服务器

时间:2015-08-07 20:23来源:51cto.com 作者:IT

Subversion是优秀的版本控制工具,其具体的的优点和详细介绍可以参考百科,

[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
[root@localhost ~]# lsb_release -a        #查看系统版本
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID:    CentOS
Description:    CentOS release 6.5 (Final)
Release:    6.5
Codename:    Final

修改本地YUM源

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-Vault.repo
[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Vault.repo CentOS-Vault.repo.ak
[root@localhost yum.repos.d]# mv CentOS-Vault.repo.ak CentOS-Vault.repo.bak
[root@localhost yum.repos.d]# vim CentOS-Media.repo
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=1
enabled=0
改成:
baseurl=file:///mnt/sr0
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=0
enabled=1

用:wq保存退出

[root@localhost yum.repos.d]# mkdir /mnt/sr0    #建立挂在源
[root@localhost yum.repos.d]# mount /dev/cdrom /mnt/sr0        #挂在光盘
[root@localhost yum.repos.d]# yum -y install subversion        #安装svn服务端
[root@localhost yum.repos.d]# rpm -ql subversion        #查看安装位置
/etc/bash_completion.d
/etc/bash_completion.d/subversion
/etc/rc.d/init.d/svnserve
/etc/subversion
/usr/bin/svn
/usr/bin/svnadmin
/usr/bin/svndumpfilter
/usr/bin/svnlook
.....................省略部分..............................
[root@localhost yum.repos.d]# ll /bin    #svn在bin目录下生成了几个二进制文件,
lrwxrwxrwx. 1 root root      4 8月   6 2015 awk -> gawk
lrwxrwxrwx. 1 root root      4 8月   7 2015 csh -> tcsh
lrwxrwxrwx. 1 root root      8 8月   6 2015 dnsdomainname -> hostname
lrwxrwxrwx. 1 root root      8 8月   6 2015 domainname -> hostname
lrwxrwxrwx. 1 root root      2 8月   6 2015 ex -> vi
lrwxrwxrwx. 1 root root      3 8月   6 2015 gtar -> tar
lrwxrwxrwx. 1 root root     41 8月   6 2015 iptables-xml -> /etc/alternatives/bin-iptables-xml.x86_64
lrwxrwxrwx. 1 root root     20 8月   6 2015 iptables-xml-1.4.7 -> /sbin/iptables-multi
lrwxrwxrwx. 1 root root     22 8月   6 2015 mail -> /etc/alternatives/mail
lrwxrwxrwx. 1 root root      8 8月   6 2015 nisdomainname -> hostname
lrwxrwxrwx. 1 root root      2 8月   6 2015 rvi -> vi
lrwxrwxrwx. 1 root root      2 8月   6 2015 rview -> vi
lrwxrwxrwx. 1 root root      4 8月   6 2015 sh -> bash
lrwxrwxrwx. 1 root root     10 8月   7 2015 traceroute6 -> traceroute
lrwxrwxrwx. 1 root root      2 8月   6 2015 view -> vi
lrwxrwxrwx. 1 root root      8 8月   6 2015 ypdomainname -> hostname

输入svn --help可以获取svn的帮助信息

[root@localhost ~]# svn --help
用法: svn <subcommand> [options] [args]
Subversion 命令行客户端,版本 1.6.11。
使用“svn help <subcommand>” 显示子命令的帮助信息。
使用“svn --version”查看程序的版本号和版本库访问模块,或者
使用“svn --version --quiet”只查看程序的版本号。
大多数的子命令可接受文件或目录参数,对目录进行递归处理。
如果没有指定参数,默认对当前目录(包含当前目录)递归处理。
可用的子命令: 
   add
   blame (praise, annotate, ann)
   cat
   changelist (cl)
   checkout (co)
   cleanup
   commit (ci)
   copy (cp)
   delete (del, remove, rm)
   diff (di)
   export
   help (?, h)
   import
   info
   list (ls)
   lock
   log
   merge
   mergeinfo
   mkdir
   move (mv, rename, ren)
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)
   resolve
   resolved
   revert
   status (stat, st)
   switch (sw)
   unlock
   update (up)
Subversion 是版本控制工具。
欲取得详细资料,请参阅 http://subversion.tigris.org/
创建svn版本目录
[root@localhost ~]# mkdir -p /var/svn/svnrepos
创建版本库
[root@localhost ~]# svnadmin create /var/svn/svnrepos/        #执行后会在/var/svn/svnrepos/下生成几个文件
[root@localhost ~]# ll /var/svn/svnrepos/
总用量 24
drwxr-xr-x. 2 root root 4096 8月   6 16:43 conf
drwxr-sr-x. 6 root root 4096 8月   6 16:43 db
-r--r--r--. 1 root root    2 8月   6 16:43 format
drwxr-xr-x. 2 root root 4096 8月   6 16:43 hooks
drwxr-xr-x. 2 root root 4096 8月   6 16:43 locks
-rw-r--r--. 1 root root  229 8月   6 16:43 README.txt
查看/var/svn/svnrepos/conf/目录下的所有文件
[root@localhost ~]# ll /var/svn/svnrepos/conf/
总用量 12
-rw-r--r--. 1 root root 1080 8月   6 16:43 authz    #权限控制文件
-rw-r--r--. 1 root root  309 8月   6 16:43 passwd    #账号密码文件
-rw-r--r--. 1 root root 2279 8月   6 16:43 svnserve.conf    #svn服务配置文件
[root@localhost ~]# vim /var/svn/svnrepos/conf/passwd    #添加访问账号和密码
[users]
wlr=wlr    #用户名=密码
[root@localhost ~]# vim /var/svn/svnrepos/conf/authz    #授权wlr有读写权限
[/]
wlr=rw
w=r
[root@localhost ~]# vim /var/svn/svnrepos/conf/svnserve.conf    #服务器配置
 anon-access = read        #匿名用户可读写
 auth-access = write    #授权用户可读
 password-db = passwd    #使用哪个文件作为账号文件
 authz-db = authz        #使用哪个文件作为权限文件
 realm = My First Repository改成realm = /var/svn/svnrepos
 #认证空间名,版本库所在目录
 注:以上注释前不能留空格,不然会报错/var/svn/svnrepos/conf/svnserve.conf:12: Option expected
 启用svn版本库
 [root@localhost ~]# svnserve -d -r /var/svn/svnrepos/

客户端测试,安装这里就不在说明,可以百度一下,一直下一步

安装好只有,在桌面空白处右键,把鼠标移动到TortoiseSVN右移

可以点击SVN Checkout,出现下图

点击ok出现下图,输入在文件中添加的用户wlr 密码wlr

点击ok,链接成功,可以尝试上传了。



(责任编辑:IT)
------分隔线----------------------------