一、安装svn

(1)安装svn服务器:

yum install subversion

(2)查看版本(随自己意愿):

svnserve --version

二、创建svn仓库并配置

(1)创建svn仓库

  在/home下创建svn目录并用svn管理员创建库:

[root@localhost /]# cd /home
[root@localhost home]# mkdir svn
[root@localhost home]# svnadmin create /home/svn

  查看svn仓库文件(一般是这几个文件):

[root@localhost home]# ls svn
conf db format hooks locks README.txt

  subversion目录说明

  conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。

  db目录:就是所有版本控制的数据存放文件。

  format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

  hooks目录:放置hook脚本文件的目录。

  locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。

(2)进入 conf 文件夹

[root@localhost home]# cd svn/conf
[root@localhost conf]# ls
authz passwd svnserve.conf

  authz文件是权限控制文件

  passwd是帐号密码文件

  svnserve.conf SVN服务配置文件

(2-1)设置账号密码 passwd

[root@localhost conf]# vi passwd 
[users]
root1=root1
root2=root2

  具体页面如下:

(2-2)设置权限 authz

[root@localhost conf]# vi authz
[/]
root1=rw
root2=rw
*=

  说明:

     r  为可读

    w 为可写

    rw为可读可写

*= 代表其他用户无任何权限

(2-2--)设置用户分组(相当于角色,这里可以不设置)

[root@localhost conf]# vi authz
[groups]
group1 = root1
group2 = root2
[/]
@group1 = rw
@group2 = r
* =

(2-3) 修改配置文件 svnserve.conf

[root@localhost conf]# vi svnserve.conf
打开下面的5个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录

  具体页面如下(删除原有的#,并且前面不要有空格):

  说明:anon-access = none 是为了在eclipse中可以通过svn查看资源历史记录

三、启动SVN

[root@localhost conf]# svnserve -d -r /home/svn

  查看SVN启动情况:ps -ef |grep svn

  

  停止SVN: kill -9 端口号

  

四、客户端测试:

TortoiseSVN,输入地址svn://IP :

弹出输入用户名和密码界面,把原来配置的root1或者root2填入:

然后OK就可以了。

测试可能出现的问题

  svn: E000113: Unable to connect to a repository at URL 'svn://IP/repos'无法连接主机“IP”: 由于连接方在一段时间后没有正确答复

  原因:CentOS 7 默认不对外开放3690端口

  解决方案:

  centos7 设置防火墙:

  1.开放3690端口:

  firewall-cmd –permanent –zone=public –add-port=3690/tcp

  2.重启防火墙:

  firewall-cmd –reload

  或者直接在腾讯云安全组中添加规则:开放3690端口

  首次上传项目:

  1.在你想放这个svn项目的目录下右击后,点击SVN Checkout,将你在服务器上面创建的目录checkout下来,如果第一次登录需要填写用户名密码登录

  2.然后将你在本地项目下的文件或目录复制到此目录中,然后选中要提交的文件或目录,右击,选择“Add”,会在文件或目录上面显示了“+”号

  3.然后右击,选择  “SVN  Commit”,到此完成。

  4.将需要上传svn的文件夹依次添加add再commit就可以了

参考文章: https://www.linuxidc.com/Linux/2017-12/149777.htm

参考文章: https://www.cnblogs.com/liuxianan/p/linux_install_svn_server.html

参考文章: https://blog.csdn.net/lianzhang861/article/details/84937246

参考文章: https://blog.csdn.net/pk490525/article/details/9091415

——与君歌一曲

linux服务器安装svn并上传项目的更多相关文章

  1. svn进行上传项目

    当svn的服务器搭建成功后,就可以进行上传项目了. 右键,选择客户端的repo-browser, 输入地址 然后就可以浏览所有项目: 然后在版本仓库上,右键,add folder, 添加对应的文件夹即 ...

  2. linux下使用SVN上传项目

    linux下使用SVN上传项目 摘自:https://blog.csdn.net/puppet_/article/details/78259591 2017年10月17日 13:51:33 puppe ...

  3. SVN上传项目步骤

    1.svn上传项目  首先选中父工程 ,右键选中Team的share project 2.share完再选中SVN 3.选中项目  一个一个share project 4.

  4. Eclipse添加SVN插件:导入项目+上传项目+更新项目

    首先在Eclipse中安装SVN插件,方法同安装Pydev相同 首先点击help,然后点击Install New Software 然后在弹出的窗口中点击Add,再在新弹出的窗口中的url栏输入如下内 ...

  5. linux下将文件上传到svn服务器

    linux下将文件上传到svn服务器 摘自:https://blog.csdn.net/sky_yangge/article/details/41544773 2014年11月27日 16:47:57 ...

  6. svn用Cornerstone上传项目丢失静态库.a问题的解决

    最近电脑重装系统后,装上Cornerstone上传项目后,发现又有丢失.a文件的问题,这里说一下解决办法,打开Preferences-->Subversion-->General,将Use ...

  7. IDEA使用SVN上传项目

    文章最后附上svn服务器和客户端下载地址 一.IDEA集成SVN 二.查看SVN仓库 调出svn视图: 连接svn服务器: 连接后效果如下: 忽略上传文件 忽略文件如下:可以选择按规则匹配 .idea ...

  8. GitHub教程--上传项目四步法 GitBash命令行下使用方法

    之前就用过GitHub,感觉用GitHub托管自己的代码非常不错.可是之前用的都是窗口化的TortoiseGit,省了很多命令行的操作,但是个人非常喜欢使用命令行,于是,今天就试着用了用GitBash ...

  9. Linux下SVN创建新的项目

    Linux下SVN创建新的项目   Linux环境下的SVN创建新的项目 一.前置条件: 1)有安装了linux系统的服务器,123.*.*.29 2)服务器上安装了svn,本人服务器的svn的数据安 ...

随机推荐

  1. GO标准库flag

    Go语言内置的flag包实现了命令行参数的解析. os.Args os.Args是一个[]string类型. 获取命令参数示例: func main() { if len(os.Args) > ...

  2. 利用pgAgent创建定时任务

    使用Postgresql自带的pgAgent,可以很方便地创建定时执行任务.现在网上的资料都比较旧,Postgresql版本更新得比较快,导致网上的一些教程都不合用了,现在我写分享一下自己的经验. P ...

  3. linux 查看gpu信息

  4. Understanding glibc malloc

    https://wooyun.js.org/drops/深入理解%20glibc%20malloc.html https://sploitfun.wordpress.com/2015/02/10/un ...

  5. MiniUI表单验证实践

    学习实践: <form id="form2"> <div id="update_pas" style="width:380px&qu ...

  6. Hive跨集群迁移

    Hive跨集群迁移数据工作是会出现的事情, 其中涉及到数据迁移, metastore迁移, hive版本升级等. 1. 迁移hdfs数据至新集群hadoop distcp -skipcrccheck ...

  7. Flutter StatefulWidget 有状态组件、页面上绑定数据、改变页面数据

    在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget. StatelessWidget 是无状态组件,状态不可变的 widget ...

  8. python制作简单excel统计报表1之with的简单用法

    # coding=utf-8 def open_file(): """使用with打开一个文件""" # 普通操作文件方法 # f = op ...

  9. RabbitMQ 清除全部队列及消息

    前言 安装RabbitMQ后可访问:http://{rabbitmq安装IP}:15672使用(默认的是帐号guest,密码guest.此账号只能在安装RabbitMQ的机器上登录,无法远程访问登录. ...

  10. k8s版jenkins--master/slave模式实现CI/CD---带solo开源博客项目--带maven、djk、git工具

    k8s环境: 192.168.0.91 master 192.168.0.92 node 192.168.0.96 gitlab 192.168.0.98 harbor k8s集群安装请参照:http ...