CentOS 7.2 安装Subversion(SVN)
来源:互联网 发布:工业大数据市场规模 编辑:程序博客网 时间:2024/06/17 19:58
subversion 简介
- Subversion是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。
Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。 - subversion 官网:http://subversion.apache.org/
subversion 安装
- 安装subversion
[root@linuxprobe~]# yum -y install subversion
- 创建源仓库,以“/var/svn/repos/project”为例
[root@linuxprobe ~]# mkdir -p /var/svn/repos/project[root@linuxprobe ~]# svnadmin create /var/svn/repos/project # 创建源仓库[root@linuxprobe ~]# svn mkdir file:///var/svn/repos/project/trunk -m "create" Committed revision 1.[root@linuxprobe ~]# svn mkdir file:///var/svn/repos/project/branches -m "create" # 创建分支Committed revision 2.[root@linuxprobe ~]# svn mkdir file:///var/svn/repos/project/tags -m "create" # 创建标签 Committed revision 3.
- 导入已存在的代码文件到SVN仓库,导入/home/project目录的文件
[root@linuxprobe ~]# 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[root@linuxprobe ~]# 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.# 确认[root@linuxprobe ~]# svn list file:///var/svn/repos/project/trunkindex.goindex.htmlindex.phpindex.pyinfo.php
- 启动svnserver,svnserve监听TCP 3690,防火墙开启端口通信
# svn server 端[root@linuxprobe ~]# systemctl start svnserve# svn client 端[root@vdevops ~]# yum -y install svn[root@vdevops ~]# svn list svn://linuxprobe.org/repos/projectbranches/tags/trunk/# 导出代码到本地[root@vdevops ~]# 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.
- 如果没有启动svnserve,通过端口无法连接到svn server,可以通过ssh的方式连接到svn server
# svn server 端[root@linuxprobe ~]# systemctl stop svnserve# svn client端[root@vdevops ~]# svn list svn+ssh://root@linuxprobe.org/var/svn/repos/projectroot@linuxprobe.org's password: branches/tags/trunk/
subversion 访问控制
- 设置访问控制“/var/svn/repos/project”
[root@linuxprobe ~]# 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[root@linuxprobe ~]# vi /var/svn/repos/project/conf/passwd# define username and password for this repository[users]shaon= passwordwang = passworddevops = password[root@linuxprobe ~]# 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
- svn client 客户端测试
[root@vdevops 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.php
Subversion : Windows 客户端
- 在window10下安装TortoiseSVN ,TortoiseSVN 下载地址:http://tortoisesvn.net/downloads.html
安装TortoiseSVN后,移动到一个工作文件夹,点击右键,选择“SVN Checkout”,指定存储库的URL,然后单击“确定”
![]()
如果在存储库上设置访问控制,则需要进行身份验证,如下所示,继续使用有效的用户和密码。
![]()
完成结帐后,单击确定按钮
![]()
只是完成从存储库检出。它可以从这个应用程序操作存储库
Subversion HTTP Access
- 安装httpd参考:http://blog.csdn.net/wh211212/article/details/52982917
- 安装依赖包
[root@linuxprobe~]# yum -y install mod_dav_svn
- 为HTTP访问配置Subversion,例如,为存储库“/var/svn/repos/project”
[root@linuxprobe 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> [root@linuxprobe run]# htpasswd -c /var/svn/.svnpasswd wangNew password: Re-type new password: Adding password for user wang[root@linuxprobe run]# chown -R apache. /var/svn/repos [root@linuxprobe run]# systemctl restart httpd [root@linuxprobe run]# systemctl status httpd
- 配置访问控制
[root@linuxprobe ~]# 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[root@linuxprobe~]# 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> [root@linuxprobe ~]# systemctl restart httpd
- 从客户端访问如下
[root@vdevops ~]# 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/
可以使用Web浏览读取访问
可以使用TortoiseSVN客户端指定我们设置的URL,如下所示
0 0
- CentOS 7.2 安装Subversion(SVN)
- centos 6.5 安装svn subversion
- Centos 安装SVN服务器Subversion
- CentOS安装svn(subversion)版本管理
- Linux服务器(CentOS)安装SVN(subversion)教程
- CentOS搭建SVN(CollabNet Subversion)服务器
- 持续集成篇之SVN版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)
- CentOS中安装subversion,并使用svn+ssh访问
- Centos 6.3安装Subversion搭建SVN服务器 笔记
- CentOS 6.3 SVN subversion的安装与配置
- centos yum安装配置SVN subversion 并同步web目录
- svn版本管理系统的安装 centos+subversion+apache+jsvnadmin
- SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
- SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
- SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
- SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
- 在FreeBSD上安装SVN(Subversion)
- Subversion(SVN)安装使用指南
- opencv kmeans 算法例子
- 使用typedef语句定义数组类型
- Unity3D动态加载资源的2种方式
- python爬虫笔记 --------scrapy框架(3)
- 将毫秒转成时:分:秒
- CentOS 7.2 安装Subversion(SVN)
- ascii,ISO-8859-1,unicode, utf8,gb2312,big5,gbk,gb18030等几种常区别
- TCP与UDP在socket编程中的区别
- mysql load data infile
- 怎样自定义ie临时文件夹路径和名称
- 如何将pdf转换成word格式不会出现乱码
- 通过swizzle method分类已有方法扩展
- Elasticsearch搭建--适用每天增量为3亿的数据量
- eclipse生成可执行jar包