CentOS 7.2 安装Subversion(SVN)

CentOS 7.2 安装Subversion(SVN)

subversion 简介

  • Subversion是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。 
    Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
  • subversion 官网:http://subversion.apache.org/

subversion 安装

  • 安装subversion
[[email protected]~]# yum -y install subversion 11
  • 创建源仓库,以“/var/svn/repos/project”为例
[[email protected] ~]# mkdir -p /var/svn/repos/project[[email protected] ~]# svnadmin create /var/svn/repos/project   # 创建源仓库[[email protected] ~]# svn mkdir file:///var/svn/repos/project/trunk -m "create" Committed revision 1.[[email protected] ~]# svn mkdir file:///var/svn/repos/project/branches -m "create" # 创建分支Committed revision 2.[[email protected] ~]# svn mkdir file:///var/svn/repos/project/tags -m "create" # 创建标签 Committed revision 3.1234567812345678
  • 导入已存在的代码文件到SVN仓库,导入/home/project目录的文件
[[email protected] ~]# ll /home/project/total 0-rw-r--r-- 1 root root 0 Nov  1 11:57 index.go-rw-r--r-- 1 root root 0 Nov  1 11:57 index.html-rw-r--r-- 1 root root 0 Nov  1 11:57 index.php-rw-r--r-- 1 root root 0 Nov  1 11:58 index.py-rw-r--r-- 1 root root 0 Nov  1 11:58 info.php[[email protected] ~]# svn import /home/project file:///var/svn/repos/project/trunk -m "initial import"Adding         /home/project/index.htmlAdding         /home/project/index.goAdding         /home/project/index.phpAdding         /home/project/index.pyAdding         /home/project/info.phpCommitted revision 4.# 确认[[email protected] ~]# svn list file:///var/svn/repos/project/trunkindex.goindex.htmlindex.phpindex.pyinfo.php123456789101112131415161718192021123456789101112131415161718192021
  • 启动svnserver,svnserve监听TCP 3690,防火墙开启端口通信
# svn server 端[[email protected] ~]# systemctl start svnserve# svn client 端[[email protected] ~]# yum -y install svn[[email protected] ~]# svn list svn://linuxprobe.org/repos/projectbranches/tags/trunk/# 导出代码到本地[[email protected] ~]# svn checkout svn://linuxprobe.org/repos/projectA    project/tagsA    project/trunkA    project/trunk/info.phpA    project/trunk/index.htmlA    project/trunk/index.goA    project/trunk/index.phpA    project/trunk/index.pyA    project/branchesChecked out revision 4.1234567891011121314151617181912345678910111213141516171819
  • 如果没有启动svnserve,通过端口无法连接到svn server,可以通过ssh的方式连接到svn server
# svn server 端[[email protected] ~]# systemctl stop svnserve# svn client端[[email protected] ~]# svn list svn+ssh://[email protected]/var/svn/repos/[email protected]‘s password: branches/tags/trunk/1234567812345678

subversion 访问控制

  • 设置访问控制“/var/svn/repos/project”
[[email protected] ~]# vi /var/svn/repos/project/conf/svnserve.conf# line 9: add (prohibit anonymous access)[general]anon-access = none# line 28: uncommentpassword-db = passwd# line 35: uncommentauthz-db = authz[[email protected] ~]# vi /var/svn/repos/project/conf/passwd# define username and password for this repository[users]shaon= passwordwang = passworddevops = password[[email protected] ~]# vi /var/svn/repos/project/conf/authz# define groups and users[groups]developer = devops,wang# allow read/write on document root for developer group[/]@developer = rw# allow read on trunk folder for fedora user[/trunk]shaon = r 123456789101112131415161718192021222324123456789101112131415161718192021222324
  • svn client 客户端测试
[[email protected] trunk]# svn --username shaon list svn://linuxprobe.org/repos/project/trunkAuthentication realm: <svn://linuxprobe.org:3690> LinuxProbe RepositoryPassword for ‘shaon‘: 

-----------------------------------------------------------------------ATTENTION!  Your password for authentication realm:

   <svn://linuxprobe.org:3690> LinuxProbe Repository  # 仓库名称can only be stored to disk unencrypted!  You are advised to configureyour system so that Subversion can store passwords encrypted, ifpossible.  See the documentation for details.

You can avoid future appearances of this warning by setting the valueof the ‘store-plaintext-passwords‘ option to either ‘yes‘ or ‘no‘ in‘/root/.subversion/servers‘.-----------------------------------------------------------------------Store password unencrypted (yes/no)? yes #记住密码index.goindex.htmlindex.phpindex.pyinfo.php12345678910111213141516171819202122231234567891011121314151617181920212223


Subversion : Windows 客户端

安装TortoiseSVN后,移动到一个工作文件夹,点击右键,选择“SVN Checkout”,指定存储库的URL,然后单击“确定” 
 
如果在存储库上设置访问控制,则需要进行身份验证,如下所示,继续使用有效的用户和密码。 
 
完成结帐后,单击确定按钮 
 
只是完成从存储库检出。它可以从这个应用程序操作存储库

Subversion HTTP Access

[[email protected]~]# yum -y install mod_dav_svn 11
  • 为HTTP访问配置Subversion,例如,为存储库“/var/svn/repos/project”
[r[email protected] run]#  vi /etc/httpd/conf.d/subversion.conf# create new<Location /project>    DAV svn    AuthType Basic    AuthName "DAV SVN"    AuthUserFile /var/svn/.svnpasswd    Require valid-user    SVNPath /var/svn/repos/project</Location> [[email protected] run]# htpasswd -c /var/svn/.svnpasswd wangNew password: Re-type new password: Adding password for user wang[[email protected] run]# chown -R apache. /var/svn/repos [[email protected] run]# systemctl restart httpd [[email protected] run]# systemctl status httpd12345678910111213141516171234567891011121314151617
  • 配置访问控制
[[email protected] ~]# vi /var/svn/repos/project/conf/authzsvn.conf # define group[groups]developer = wang,devopsoperator = shaon# everyone can Read access[/]* = r# only developer group can Read/Write under the trunk[project:/trunk]@developer = rw# only operator can Read/Write under the branches[project:/branches]@operator = rw# only operator can Read/Write under the tags[project:/tags]@operator = rw[[email protected]~]# vi /etc/httpd/conf.d/subversion.conf<Location /project>    DAV svn    AuthType Basic    AuthName "DAV SVN"    AuthUserFile /var/svn/.svnpasswd    Require valid-user    SVNPath /var/svn/repos/project    AuthzSVNAccessFile /var/svn/repos/project/conf/authzsvn.conf</Location> [[email protected] ~]# systemctl restart httpd 123456789101112131415161718192021222324252627282930123456789101112131415161718192021222324252627282930
  • 从客户端访问如下
[[email protected] ~]# svn --username wang list http://linuxprobe.org/projectAuthentication realm: <http://linuxprobe.org:80> DAV SVNPassword for ‘wang‘: 

-----------------------------------------------------------------------ATTENTION!  Your password for authentication realm:

   <http://linuxprobe.org:80> DAV SVNcan only be stored to disk unencrypted!  You are advised to configureyour system so that Subversion can store passwords encrypted, ifpossible.  See the documentation for details.

You can avoid future appearances of this warning by setting the valueof the ‘store-plaintext-passwords‘ option to either ‘yes‘ or ‘no‘ in‘/root/.subversion/servers‘.-----------------------------------------------------------------------Store password unencrypted (yes/no)? nobranches/tags/trunk/123456789101112131415161718192021123456789101112131415161718192021
  • 可以使用Web浏览读取访问 
     
  • 可以使用TortoiseSVN客户端指定我们设置的URL,如下所示 
时间: 2024-08-05 17:02:40

CentOS 7.2 安装Subversion(SVN)的相关文章

CentOS 6.5安装TortoiseSVN svn 客户端

TortoiseSVN: TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器.你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改.这就是为什么许多人将 Subversion 和版本控制系统看作一种"时间机器". 环境说明: 系统版本:CentOS 6.5,内核(uname -r):2.6.32-431.el

linux-centos下源代码安装subversion (svn)

1.svn的源代码 1.1 可以在官方下载,官方地址 :svn 1.6.17源码包  http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74 这里选择subversion-1.6.17.tar.gz 和subversion-deps-1.6.17.tar.gz下载 注意:版本号必须一致. 1.2 或者在我的百度网盘下载 subversion-1.6.17.tar.bz2 和 su

Centos6.5安装Subversion(svn)

centos6.5安装svn操作流程1.#查看是否安装了低版本的SVN rpm -qa subversion 2.#卸载旧版本SVN yum remove subversion 3.#安装SVN yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql 4.#确认已安装了SVN模块 ]# cd /etc/httpd/modules ]# ls | grep svn mod_authz_svn.so mod_dav_sv

Linux centos 下安装配置SVN服务器

centos服务器上安装配置SVN(subversion),其实是很简单的,只是有些时候在配置的过程中有个别细节如果不注意,会容易造成访问不了的情况. 网上这类的讲解很多,下面的步骤整体上都是不变的,会加一点自己遇到的问题的解决过程和方法. ------------------------------------------------------------------------------------- 在线安装方法: 1,查看当前是否已经安装了SVN: #rpm -qa | grep s

CentOS 7下搭建配置SVN服务器

CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录: $ which svnserve /bin/svnserve 检查一下subversion是否安装成功. $ svnserve --versionsvnserve, version 1.7.14 (r1542130)  compiled Nov 20 2015, 19:25:09 Copyrig

centos 6.5源码编译安装subversion 1.8.10

一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网:http://svn.apache.org/repos/asf/subversion/trunk/INSTALL 源码下载:http://archive.apache.org/dist/subversion/ 源码编译subversion依赖许多别的工具,比如:apr.apr-util.libto

Centos 6.4安装配置apache平台的svn服务器

一.安装apache.subversion服务 #yum install httpd subversion subversion-devel mod_dav_svn -y 二.配置apache服务器 # sed '{/^$/d;/#/d}' /etc/httpd/conf/httpd.conf ServerTokens OS ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 60 KeepAlive Off MaxKeepAli

CentOS安装TortoiseSVN svn 客户端

CentOS安装TortoiseSVN svn 客户端 一.CentOS安装TortoiseSVN yum install -y subversion 二.SVN客户端命令 1.查看帮助 命令:svn help 启动服务 使用命令svnserve启动服务 svnserve -d  -r /srv/svn/repos 也可以加端口号 svnserve -d --listen-port 9999 -r /srv/svn/repos 注意:后面的路径必须是一个svnadmin创建的仓库路径,否则会报错

centos 6.2下的svn服务器的配置(YUM安装)

安装了一下SVN服务器,本文没有与Apache整合,过程如下: 检查已安装版本 #检查是否安装了低版本的SVN [[email protected] /]# rpm -qa subversion #如果存储旧版本,卸载旧版本SVN [[email protected] modules]# yum remove subversion 安装SVN [[email protected] modules]# yum install subversion 验证安装 检验已经安装的SVN版本信息  [[em