Linux上建立svn服务器

本文涉及的产品
云防火墙,500元 1000GB
简介:

其实网络上有不少人都分享过用linux建立svn服务器的过程,整套步骤看起来恶心,做起来更恶心,特别多的细节和特别多的错误可能互相的交织起来,排错过程可能就要长达2~3个小时。而且linux要求要尽可能的在非图形状态下操作,这个设定就很反人类的,在我这只菜鸟看来简直就是技术的退步。但是没招,谁叫这是服务器操作的正统呢?

Task1:           

目标:完成SVN服务器的搭建。

意义:运维常见的工作就是日常软件的安装和维护,SVN虽然被Git侵占了市场份额,但是仍然是高效简捷的源码管理工具。从日常软件的安装部署开始,熟悉一些Linux的常用命令。
步骤:1.安装CentOS或者Ubuntu系统。
          2.下载SVN服务器,安装后完成配置。
         3.启动SVN服务,配置好权限,用户名  aiqingcheng 密码 aiqingcheng 。                       

          4.本地下载SVN客户端,提交一个简单的Txt文本。在另一个文件夹里Update,如果能看到数据,就说明SVN安装成功。
要求:1.普通用户有浏览权限,并没有读写权限
          2.SVN服务器可以外网访问,如果本地没有外网IP,使用花生壳。推荐使用金山云服务器做测试。

掌握技能:   1.Linux的基本命令 2.软件的下载与安装 3.SVN的配置  4.花生壳的使用

==================================分割线=========================================

言归正传,第一步先安装svn的软件

# yum install subversion:

然后建立一个专门用来装SVN东西的目录

#mkdir /svn/

使用svn自己带的命令来在这个目录下面再做一个目录

#svnadmin create /svn/project   

#ls /svn/project/   

#conf db format hooks locks README.txt   

这里有四个文件夹,都是有用的。

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

locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

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

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

而我们要做的就是深入conf目录里,把里面所有的文件都要一一翻新一下。

 配置svn服务的配置文件svnserver.conf文件

# vi /svn/project/conf/svnserve.conf   
[general]      #注意这里,一定要保留!!!#
anon-access = none     #这里是顶头的,没有#啦#
auth-access = write   
password-db = /svn/project/conf/passwd   
authz-db = /svn/project/conf/authz   
realm = Chris Test Repository #这是个提示信息

然后:x保存一下。

添加两个访问用户及口令

# vi /svn/project/conf/passwd   进入passwd文件
[users]   #同上,这个要保留滴!!!#
chen = 123456   
james = 123456   
allen = 123456

我们建立了三个用户名以及他们对应的密码,保存。


配置新用户的授权文件

# vi /svn/project/conf/authz   
[groups]   
admin = chen,james     #建立了一个叫admin的组,组员有chen,james#
user = allen           #又建立了一个叫user的组,组员有allen#
[/]                    #这些人可以访问根目录以下的东西#
@admin = rw            #admin组员的权限是可读和可写#
@user = r              #user组员的权限是可读#
* =                    #不是以上两个组的用户,滚犊子~#

* = 这句话很重要,一定要加!

  启动svn服务

svnserve -d -r /svn/project/   其中,默认svn服务器端口是3690。

然后在虚拟机上先联网,然后ifconfig一下,查看自己的IP,我的机器是192.168.157.128.那么返回终端,使用svn checkout svn://192.168.157.128/project (注意!这里直接是project,不是/svn/project.)


如果这里命令写错了,写成了svn checkout svn://192.168.157.128,那么将会报出

svn:No repository found in "svn://192.168.157.128" 的错误,所以要注意后面的仓库路径。

wKiom1aTzlPjipl6AACJSa1v48A506.png这个时候,你的屏幕应该是这样的,大胆输入yes,反馈你取出版本0。至于为什么是版本0,我也不知道,而且这个问题在百度上找不到。

这个时候,在主机端下载好TortoiseSVN和他的中文汉化包,一路next安装完毕,然后需要重启一下方可正式使用。

TortoiseSVN他跟以往普通的软件不同,他没有桌面快捷方式,他的安装路径里也没有.exe这样的可执行文件,他就是一个壳文件,寄生在别的文件夹里使用。

重启完毕之后,在文件上点击鼠标的右键就发现多了“SVN检出”和“Tortoise SVN”这俩东西,在“Tortoise SVN”里,找到setting,在语言栏选择“简体中文”,这样就完成了汉化。

然后打开TortoiseSVN Repository Brower工具,在地址栏里输入“svn://192.168.157.128/project/”,就应该弹出来输入用户名和密码。

但是如果显示连接超时,那么需要用主机和虚拟机互ping,必须要求双方能ping通,我的虚拟机采用的是默认的nat,没有使用桥接。直接ping通,而且主机和虚拟机是不用在同一个网段里的。这里不用telnet,没有用的,这个思路是错的,我在这个思路上纠结了很长的时间。而且也不用在后面加上端口号3690。

如果双方能互相的ping通,但是TSVN的浏览器还是不能发现虚拟机里的服务器,提示“积极拒绝,无法连接”,那么果断的把虚拟机的防火墙STOP掉,或者把默认的3690端口加入到虚拟机的防火墙里。

stop防火墙的命令:/etc/init.d/iptables stop

防火墙加入3690端口的命令:/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

然后/etc/init.d/iptables restart 重启一下生效。

这样应该能链接到虚拟机的服务器端了。如图所示

wKiom1aT0WPxwjzOAADDoaTCk7Q419.png

这样,就算彻底的安装成功了。

如果想要关闭SVN server,那可以使用kill命令,如下例子

# ps -ef|grep svn

root      4642     1  0 16:08 ?        00:00:00 svnserve -d -r /svn/project/

root      4692  3676  0 16:13 pts/2    00:00:00 grep svn

# kill -9 4642


参考资料如下:

http://www.cnblogs.com/see7di/archive/2013/08/03/3234048.html

http://my.oschina.net/lionel45/blog/298305

http://blog.csdn.net/a649518776/article/details/39433883

http://blog.csdn.net/wwww1988600/article/details/24182919



 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1733987

相关文章
|
12天前
|
运维 监控 安全
盘点Linux服务器运维管理面板
随着云计算和大数据技术的迅猛发展,Linux服务器在运维管理中扮演着越来越重要的角色。传统的Linux服务器管理方式已经无法满足现代企业的需求,因此,高效、安全、易用的运维管理面板应运而生。
|
12天前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
21天前
|
安全 算法 Linux
Linux 服务器还有漏洞?建议使用 OpenVAS 日常检查!
在数字化时代,Linux 服务器的安全至关重要。OpenVAS 是一款优秀的开源漏洞扫描工具,可以帮助及时发现并修复服务器中的安全隐患。本文将介绍 OpenVAS 的主要功能、使用方法及应对漏洞的措施,帮助用户加强服务器安全管理,确保企业数字化安全。
44 7
|
23天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
26天前
|
缓存 Unix Linux
服务器linux!!!
本文介绍了计算机的演变历史、硬件基础知识及服务器相关知识。从电子管时代的ENIAC到冯-诺伊曼架构,再到现代计算机系统组成,详细讲解了计算机的发展历程。此外,文章还介绍了服务器的分类、品牌、硬件组成以及IDC机房的上架流程,为读者提供了全面的技术背景知识。
39 0
服务器linux!!!
|
28天前
|
人工智能 安全 Linux
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
156 3
|
28天前
|
Linux
Linux 修改服务器时间
【10月更文挑战第27天】Linux 修改服务器时间
66 0
|
16天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
105 6
|
17天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
58 3