前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一、Linux下的SVN服务器搭建

一、Linux下的SVN服务器搭建

作者头像
全栈程序员站长
发布2022-09-09 10:22:43
1.9K0
发布2022-09-09 10:22:43
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

这里自己做个总结。

环境: contos7,百度云服务

  1. 下载svn服务器,必须是联网情况下。

yum -y install subversion

  1. 查看下载后的信息,安装位置及详细信息。

rpm -ql subversion

3.创建版本库目录,可以再chenjy目录上放置多个项目,不必为每个项目创建一个版本库。下面是我的版本库

mkdir /opt/svn/svnrepos/chenjy 创建版本库 svnadmin create /opt/svn/svnrepos/chenjy (chenjy 就是我的版本库)

4.进入conf配置修改,设置账号、权限。。。

cd /opt/svn/svnrepos/chenjy 查看版本库下面都有什么 [root@instance-45oh6r0z chenjy]# ll total 24 drwxr-xr-x 2 root root 4096 Feb 21 18:02 conf drwxr-sr-x 6 root root 4096 Feb 21 18:22 db -r–r–r– 1 root root 2 Feb 20 17:49 format drwxr-xr-x 2 root root 4096 Feb 20 17:49 hooks drwxr-xr-x 2 root root 4096 Feb 20 17:49 locks -rw-r–r– 1 root root 229 Feb 20 17:49 README.txt [root@instance-45oh6r0z chenjy]# 注释: conf :存放版本库所使用的配置文件的目录 db :存放存储版本数据的数据库文件的目录 hooks :存放版本库钩子程序的目录 locks :存放库锁目录,用来跟踪库的访问者 format:存储一个整数的文件,此整数代表库层次结构版本 README.txt:版本库自述文件

4.2设置账号

[root@instance-45oh6r0z chenjy]# cd conf [root@instance-45oh6r0z conf]# ll total 12 -rw-r–r– 1 root root 1080 Feb 20 17:49 authz -rw-r–r– 1 root root 309 Feb 20 17:49 passwd -rw-r–r– 1 root root 3090 Feb 20 17:49 svnserve.conf 注释: authz:负责账号权限的管理,控制账号是否读写权限 passwd:负责账号和密码的用户名单管理 svnserve.conf:svn服务器配置文件

代码语言:javascript
复制
[root@instance-45oh6r0z chenjy]# cd conf
[root@instance-45oh6r0z conf]# ll
total 12
-rw-r--r-- 1 root root 1100 Feb 20 18:05 authz
-rw-r--r-- 1 root root  331 Feb 21 18:02 passwd
-rw-r--r-- 1 root root 3082 Feb 20 18:10 svnserve.conf
[root@instance-45oh6r0z conf]# vim authz


---------------------------以下是authz文件内容
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
###  - a single user,
###  - a group of users defined in a special [groups] section,
###  - an alias defined in a special [aliases] section,
###  - all authenticated users, using the '$authenticated' token,
###  - only anonymous users, using the '$anonymous' token,
###  - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').

[aliases] 
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
          
[groups] 
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
             
# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[\] 	
cjy = rw
zb = r   

只需在末尾添加,无需在文件其他部分修改和添加任何东西末尾内容如下:[\] 然后设置 账号 = 权限 r:读 w:写 :wq 保存退出即可

4.3修改密码

代码语言:javascript
复制
 [root@instance-45oh6r0z conf]# vim passwd

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
cjy = 123456
zb = 123456
~                                                                                                                                                                                              
~                                                                                                                                                                                              
~                                                                                                                                                                                              
~                                                                                                                                                                                              
~                                                                                                                                                                                                                                                                                                                                                                                        

为刚才设置的账号设置密码: 账号 = 密码 cjy = 123456

4.4修改svnserve.conf(重要)

代码语言:javascript
复制
 [root@instance-45oh6r0z conf]# vim svnserve.conf

大多数网络资料,都会让大家将authz-db = authz这条给去掉注释,经过我本人多次被坑经验,此条去掉后,虽然svn服务器可以连接,但一直会提示“认证失败”,注释掉即可正常。还有多数资料会让大家在realm = My First Repository处填写服务器ip,经过测试,填写后并无什么用处,所以大家去掉注释即可,无需做任何修改到此,配置已经全部完成,账号信息已经添加成功

注意下面:开启防火墙的状态下需要开放 svn 端口:3690,怎么添加对外端口contos6与7是不一样的,根据自己情况查一下 我这里直接关闭了防火墙。

5.启动svn服务器

svnserve -d -r /opt/svn/svnrepos

启动成功后,可用ps -aux查看服务启动是否成功,这个是显示所有的运行进程

[root@instance-45oh6r0z conf]# ps -ef |grep svn root 77711 1 0 Feb20 ? 00:00:00 svnserve -d -r /opt/svn/svnrepos root 87594 87147 0 10:48 pts/0 00:00:00 grep –color=auto svn

pid=77711就是svn服务器,至于关闭,kill -9 pid 即可

6:客户端访问svn服务器,上传检出文件

在windows客户端,输入地址:svn://ip地址:3690/chenjy (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口) 弹出输入用户名和密码,输入即可访问

7.myeclipse链接svn服务器 svn插件的下载,放置位置不在本篇讲解中,自行百度,我这里已经安装了svn插件

7.1 点击myeclipse添加资源库

7.2.finish完成,上面是下面这个就是刚才搭建的。

7.3.从myecelipse上传工程至svn服务器 点击需要上传的项目,右键–>Team–>share Project–svn–选择svn服务器地址–上传工程至svn服务器什么路径下,项目名称修改等。

右键–>Team–>share Project–选择svn

7.4 选择刚才添加的svn服务器地址库

7.5 设置项目存放目录,finish 完成即可

7.6 输入账号密码。(我这里没做过多权限配置)

7.7 这时会在svn服务器的chenjy版本库下创建你指定的文件目录,但是是一个空文件加。需要回到myecelipse页面,重新提交项目至svn服务器即可

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161746.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档