SVN搭建及使用(CentOS7)

一、SVN简介

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

二、安装SVN

[root@localhost ~]# yum install -y subversion

在这里插入图片描述

查看安装了哪些文件

[root@localhost ~]# rpm -ql subversion

一大堆
在这里插入图片描述

三、建立版本库

subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。
在这里插入图片描述
然后使用svnadmin建立版本库

[root@localhost ~]# mkdir -p /data/svn
[root@localhost ~]# svnadmin create /data/svn
[root@localhost ~]#  ll /data/svn -d
drwxr-xr-x 6 root root 86 65 23:40 /data/svn
[root@localhost ~]#  ll /data/svn
总用量 8
drwxr-xr-x 2 root root  54 65 23:40 conf
drwxr-sr-x 6 root root 233 65 23:40 db
-r--r--r-- 1 root root   2 65 23:40 format
drwxr-xr-x 2 root root 231 65 23:40 hooks
drwxr-xr-x 2 root root  41 65 23:40 locks
-rw-r--r-- 1 root root 229 65 23:40 README.txt
[root@localhost ~]# 

在这里插入图片描述

在这里插入图片描述

四、配置

4.1 编辑passwd,添加两个用户:xuyuhan,test

[root@localhost ~]# cd /data/svn/
[root@localhost svn]# ls
conf  db  format  hooks  locks  README.txt
[root@localhost svn]# cd conf/
[root@localhost conf]# ls
authz  passwd  svnserve.conf
[root@localhost conf]# vim passwd 

在这里插入图片描述
4.2 编辑权限文件authz,设置chen可读可写权限,test可读

[root@localhost conf]# ls
authz  passwd  svnserve.conf
[root@localhost conf]# vim authz 

在这里插入图片描述

4.3编辑svnserver.conf (注意:配置的前面不能有空格,一定要顶格写)

[root@localhost conf]# vim svnserve.conf    

在这里插入图片描述
anon-access = none:表示禁止匿名用户访问。

auth-access = write:表示授权用户拥有读写权限。

password-db = passswd:指定用户名口令文件,即 passwd 文件。

authz-db = authz:指定权限配置文件,即 authz 文件。

realm = /data/svn :指定认证域,我这里设置的 /data/svn 目录。

五、防火墙开启

这里以iptable防火墻为例 (centos6)

多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题【注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则】

vi /etc/sysconfig/iptables
添加配置信息

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
保存退出

systemctl restart iptables.service #重启防火墙使配置生效

六、启动svn服务器

svnserve -d -r /data/svn       #无报错提示

启动成功后,可用ps -aux查看服务启动是否成功

ps -ef | grep svnserve

在这里插入图片描述

七、客户端访问svn服务器

装个Windows客户端,鼠标右键检出,在版本库下栏输入地址:svn://ip地址:3690/xxxx (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)
在这里插入图片描述
也可点后边的…输入账号密码进入版本目录选择,我输入我刚才创建的xuyuhan可读写用户,点确定,进行检出~
在这里插入图片描述
由于我没有设置版本目录名称,所以检出一个空目录~
在这里插入图片描述

我试着放了个Django目录进去,选择全部文件后进行提交~
在这里插入图片描述
在这里插入图片描述
此时我删掉该目录后,重新重新检出
在这里插入图片描述
在这里插入图片描述
八、关闭SVN 方法
这里采取linux杀死进程的方式处理的

[root@localhost conf]# ps -ef | grep svnserve 
root      11336      1  0 22:47 ?        00:00:00 svnserve -d -r /data/svn
root      11338   1432  0 22:47 pts/0    00:00:00 grep --color=auto svnserve
[root@localhost conf]# kill -9 11336
[root@localhost conf]# ps -ef | grep svnserve 
root      11340   1432  0 22:48 pts/0    00:00:00 grep --color=auto svnserve

发现客户端对服务端的操作都失败了~
在这里插入图片描述

[root@localhost conf]# svnserve -d -r /data/svn     #重新启动svn服务

在这里插入图片描述

九、上传的文件放在SVN服务器的哪个目录下

SVN服务器版本库有两种格式,一种为FSFS,一种为BDB

把文件上传到SVN版本库后,上传的文件不再以文件原来的格式存储,而是被svn以它自定义的格式压缩成版本库数据,存放在版本库中。

如果是FSFS格式,这些数据存放在版本库的db目录中,里面的revs和revprops分别存放着每次提交的差异数据和日志等信息
在这里插入图片描述

十、未解决的问题

这里我发现我明明是yum安装的,但是却无法使用systemctl命令来进行启动跟加入开机自启,查看状态也是关闭的,但是能用,奇怪,有知道麻烦帮我解答下哈~不胜感激!
在这里插入图片描述
文章摘自csdn各位大佬,还需要继续学习~

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 要在CentOS上离线搭建SVN服务器,需要按照以下步骤进行操作: 1. 首先,在CentOS服务器上安装必要的软件包和依赖项。由于是离线环境,需要先将相关的软件包下载到一个可访问的计算机上,然后通过U盘或其他外部介质将它们传输到CentOS服务器上。在CentOS服务器上使用以下命令安装软件包: ``` rpm -ivh svn-server-rpm包 ``` 2. 创建一个用于存储SVN仓库的目录,并为其分配合适的权限: ``` mkdir /svn-repo chown -R apache.apache /svn-repo ``` 3. 初始化SVN仓库: ``` svnadmin create /svn-repo/myrepo ``` 4. 配置SVN服务。在`/etc/httpd/conf.d/`目录下创建一个新的配置文件,例如`svn.conf`,并添加以下内容: ``` # SVN 配置 <Location /svn> DAV svn SVNPath /svn-repo/myrepo </Location> ``` 5. 重启Apache服务以应用配置更改: ``` systemctl restart httpd ``` 6. 确保防火墙允许通过HTTP访问SVN服务。可以使用以下命令开放端口80: ``` firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload ``` 7. 完成上述步骤后,即可通过浏览器或相应的SVN客户端从其他计算机访问SVN仓库了。 请注意,这只是一个简单的离线搭建SVN服务器的示例步骤。实际操作中可能涉及到更多的细节和配置,具体的步骤可能会有所不同。建议根据自己的实际情况和需求进行相应的调整。 ### 回答2: 要离线搭建CentOS下的SVN服务器,需要以下步骤: 1. 下载SVN软件包:在网络连接正常的环境中,下载最新版本的Subversion软件包,并将其保存到本地或移动存储设备中。 2. 安装CentOS系统:在目标服务器上安装CentOS操作系统,确保操作系统的版本和架构与下载的软件包相匹配。 3. 安装Subversion:将下载的SVN软件包复制到目标服务器,解压并安装。执行相关的安装命令,如使用yum命令安装:sudo yum install subversion。 4. 创建SVN仓库:使用命令行工具,创建一个SVN仓库。在指定的目录中执行命令:svnadmin create /path/to/repository。 5. 配置访问权限:为SVN仓库设置访问权限,确保只有授权的用户可以访问。创建一个authz文件,用于配置用户和组的权限。编辑文件并添加相应的权限规则。 6. 配置SVN服务器:编辑svnserve.conf文件,配置SVN服务器的各项参数。例如,设置SVN服务器监听的端口、启用身份验证等。 7. 启动SVN服务器:执行启动命令,启动SVN服务器。例如,通过命令svnserve -d -r /path/to/repository启动并使其在后台运行。 8. 测试SVN服务器:使用SVN客户端工具,例如TortoiseSVN等,在另一台计算机上测试连接SVN服务器。尝试进行检出、更新和提交等操作,验证服务器是否正常工作。 通过以上步骤,就可以在CentOS服务器上离线搭建一个SVN版本控制系统。 ### 回答3: 要在CentOS上离线搭建SVN服务器,您需要按照以下步骤进行操作: 1. 安装CentOS:首先,确保您已经在离线环境中安装了CentOS操作系统。您可以使用官方的CentOS ISO镜像进行安装。 2. 安装SVN服务器软件:在离线环境中,您需要将SVN服务器软件的安装包下载到离线机器上。您可以从Subversion官方网站或其他可信的软件下载站点下载最新版本的SVN服务器软件安装包。将安装包复制到离线机器上,并使用命令行工具(如yum)安装。 3. 配置SVN服务器:一旦安装了SVN服务器软件,您需要进行相关配置。在离线环境中,您可以编辑SVN服务器的配置文件,通常是在/etc/httpd/conf.d目录下的svn.conf文件。您可以根据实际需求进行配置,如指定版本库的存储位置、访问控制等。 4. 创建SVN版本库:在SVN服务器上创建版本库以存储项目代码。您可以使用svnadmin命令创建版本库,如在命令行中运行"svnadmin create /path/to/repository"来创建名为repository的版本库。 5. 配置访问权限:为了保护SVN版本库中的代码,您需要为其设置访问权限。在离线环境中,您可以在每个项目的conf目录中的svnserve.conf文件中进行配置。通过编辑该文件,您可以控制用户及其对版本库的访问权限。 6. 启动SVN服务器:在离线环境中,您可以启动SVN服务器以便用户可以访问版本库。在命令行中运行"svnserve -d -r /path/to/repository"命令来启动SVN服务器,并将其绑定到指定的版本库路径。 这些步骤将帮助您在CentOS上离线搭建SVN服务器。需要注意的是,在离线环境中,您需要提前准备好所需的软件包及其依赖关系,并保存在本地供安装使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且听风吟tmj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值