Linux下SVN的安装

踩坑、注意


比如 password-db = passwd 这个密码数据库的配置后面不能加任何注释,并且要去掉"="附近的所有空格下面举一个正确和错误的例子来
错误的例子: password-db = passwd #这里是注释
正确例子:password-db=passwd

 

否则会报 认证失败错误。另外端口就用默认的 3690 不用理会pid

1.安装

确保linux上没有安装subversion

find / -name subversion

如果没有安装的话是空白的,有安装的话就可以新建版本库了

svn使用的端口默认是3690,windows下可以再cmd命令

方式一、telnet 1.117.23.51 3690

svn使用的端口默认是3690,windows下可以再cmd命令使用tcping.exe命令对服务器的端口查看是否可以访问的到,tcping.exe需要下载,下载地址:download.elifulkerson.com//files/tcpi…

方式二、tcping 1.117.23.51 3690

如果端口没有开放,使用防火墙去打开端口,再次进行验证端口是否已经开放。

使用yum安装命令

yum install subversion

2.创建仓库及配置

2.1创建仓库

在/home目录下创建一个svn的仓库的根目录,在svn的下一层创建一个仓库如repository

mkdir -p /home/svn/repository

创建repository仓库

svnadmin create /home/svn/repository

进入仓库

cd /home/svn/repository ls

可以看到仓库下有以下内容

conf文件是用来存放配置文件的,可以看到此文件夹下有以下文件

其中:

authz:是权限控制文件

passwd:是账号密码文件

svnserve.conf:是svn服务配置文件

2.2修改配置文件

接下来要修改这三个文件

修改passwd文件,创建两个用户,一个test1,一个test2

vim passwd

配置authz文件

vim authz

在文本末尾添加以下内容

以后所有的项目版本库代码都放在这个下面

[/]:代表仓库下所有文件

test1 = rw :test1用户可读可写

test2 = rw :test2只读

*=:其他用户无任何权限

2.3使用分组

使用分组可以更加方便的用户和仓库管理

vim authz

group1 = test1

group2 = test2

[/]

@group1 = rw

@group2 = r

*=

以上配置了两个分组,分组1的用户可读可写,分组2的用户只读

格式说明:

 

版本库目录格式:

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

2.4配置svnserve.conf

 

vim svnserve.conf

打开一下配置的注释,并填写仓库路径

anon-access = none #匿名用户可读,如果值为read的话会造成Log Message无法显示,把值设为none可读message

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /home/svn #认证空间名,版本库所在目录

**注意:**最后一行的realm要改成svn目录 打开注释时前面不要留有空格,否则可能会报错

3启动

启动

svnserve -d -r /home/svn

语法:

svnserve -d -r svn仓库目录

查看是否启动起来

lsof -i:3690

出现以下情况表示启动成功

image-20211020135242795

重启

杀死svnserver

killall svnserve

重新启动

svnserve -d -r /home/svn

查看svn进程

ps -ef|grep svn

使用kill -9 pid杀死进程

4客户端连接

首先要安装TortoiseSVN工具,工具安装好以后右键

TortoiseSVN,输入地址svn://你的IP 即可,不出意外输入用户名和密码就能连接成功了。

默认端口3690,如果修改了端口,要记得加上端口号。

认证时输入设置的用户名和密码即可

点击确定以后,仓库拉取成功

5出现问题

问题1:checkout时,提示:URL ‘svn://39.101.220.235/svnrepos’ doesn’t exist

如果svn的路径为:/home/svn/repository

启动时不能使用命令

svnserve -d -r /home/svn/repository

要用以下命令

svnserve -d -r /home/svn

### 回答1: 您好,关于在Linux安装和使用SVN的教程,可以在网上搜索相关资料或者参考SVN官方文档进行学习。一般来说,步骤大致为安装SVN软件包、创建仓库、配置访问权限等。具体操作可根据实际需求进行调整和完善。 ### 回答2: 在Linux系统下安装和使用SVN(Subversion)需要以下几个步骤: 1. 安装SVN 可以使用系统自带的包管理器(如apt、yum、zypper等)进行安装,也可以从Apache的官网上下载并安装。 例如,使用Ubuntu系统可以运行以下命令进行安装: ``` sudo apt-get install subversion ``` 2. 创建SVN仓库 在一台服务器上设置SVN服务器时,需要创建SVN仓库以存储代码。 首先,选择一个目录来存储SVN仓库。然后,使用以下命令创建一个仓库: ``` svnadmin create /path/to/repo ``` 其中,/path/to/repo表示存储仓库的目录路径。 3. 配置SVN 通过编辑SVN服务器的配置文件来配置SVN服务器。 OpenSSH和https都可以用来访问SVN服务器。以下是一些常用配置示例: ``` [general] anon-access = none ; 不允许任何人匿名访问 auth-access = write ; 允许有了正确的用户名和密码才能写入 password-db = passwd ; 使用密码文件作为认证源 realm = My Repositories ; SVN服务器名称 [users] # 如果是hsts,用户名和密码为hsts # 密码格式如下,username = password hsts = somerandompassword ``` 以上是使用简单用户名和密码认证的例子。如果选择使用SSL/TLS证书认证,需要添加以下配置: ``` ssl-cert-file = /path/to/server.crt ssl-cert-password = your_password ssl-protocols = TLSv1.2 ``` 4. 创建用户和密码 使用passwd文件来存储SVN用户的用户名和密码。将用户名和密码按以下格式添加到passwd文件中: ``` username = password ``` 例如,创建名为hsts的用户可以使用以下命令: ``` htpasswd -c /path/to/repos/passwd hsts ``` 在第一次运行htpasswd时,需要使用-c标志创建新的passwd文件。之后的操作不需要-c标志。 5. 检出代码 现在可以从SVN服务器上检出代码了,首先需要确定检出代码的路径和存储路径: ``` svn co svn://hostname/path/to/repo /path/to/local/location ``` 例如: ``` svn co svn://localhost/my-repo/ /home/hsts/svn/my-repo ``` 以上命令将My Repositories仓库中的代码存储到/home/hsts/svn/my-repo目录中。 6. 提交和更新代码 在成功检出代码后,可以开始提交和更新代码。 要提交代码,请在代码目录内键入以下命令: ``` svn add filename svn commit -m "message" ``` 以上命令将文件添加到代码仓库中,并将更改提交到SVN仓库。要更新本地仓库中的代码,请输入以下命令: ``` svn update ``` 以上就是在Linux系统下安装和使用SVN的步骤及示例。 ### 回答3: svn是一款版本控制软件,它可以帮助开发者对代码进行管理和追踪,是软件开发过程中必备的工具之一。在Linux系统下,svn安装和使用也非常方便,下面就来介绍一下具体的步骤。 一、安装svn客户端 在Linux系统下,svn客户端可以通过包管理器安装,我们可以使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install subversion ``` 安装完成后,我们可以使用以下命令来验证svn是否安装成功: ``` svn --version ``` 如果显示了svn版本信息,说明安装成功。 二、创建svn仓库 svn仓库用于存储代码,我们可以在Linux系统上创建svn仓库。首先,我们需要创建一个空的目录,例如我们在/opt目录下创建svn仓库: ``` sudo mkdir /opt/svn ``` 然后,使用以下命令初始化svn仓库: ``` sudo svnadmin create /opt/svn/myproject ``` 这将在/opt/svn目录下创建一个名为myproject的svn仓库。 三、为svn仓库设置权限 由于svn仓库中存储了代码的敏感信息,所以我们需要为svn仓库设置权限控制,以保证仅有授权的用户才能访问。 首先,我们需要创建一个svn用户组: ``` sudo groupadd svn ``` 然后,将svn仓库所在目录的所有者改为svn用户组: ``` sudo chgrp -R svn /opt/svn ``` 接着,将svn用户组赋予读写权限: ``` sudo chmod -R g+rw /opt/svn ``` 最后,将需要访问svn仓库的用户添加到svn用户组中: ``` sudo usermod -a -G svn username ``` 四、使用svn 要使用svn,我们需要使用svn checkout命令将svn仓库中的代码下载到本地。例如,我们需要将myproject仓库中的代码下载到本地/home/username/myproject目录下: ``` svn checkout file:///opt/svn/myproject /home/username/myproject ``` 下载完成后,我们可以使用svn add、svn commit等命令对代码进行操作。例如,要将修改后的代码提交到svn仓库中: ``` svn add . svn commit -m "update" ``` 以上就是在Linux系统中安装和使用svn的基本步骤,如果您遇到了问题,可以参考svn的官方文档或者查找相关的论坛和教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值