搭建svn服务器

检查是否已安装

rpm -qa subversion

如果要卸载旧版本:

yum remove subversion

1、yum install subversion

查看Svn版本

svnserve --version

2、建立版本库

subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置。

vim /etc/sysconfig/svnserve

文件内容

OPTIONS="-r /var/svn"

使用svnadmin建立版本库svntest。

mkdir -p /var/svn/svntest //递归创建多个目录

svnadmin create /var/svn/svntest

----------目录介绍

conf目录:主要是配置文件、登录用户、密码认证;
            hooks目录:主要是svn的钩子脚本模板,使用时去掉.tmpl后缀即可,钩子脚本实际上就是代码提交前后,可以分别执行的脚本,脚本可用perl、shell、python等语言编写,该目录里面脚本文件名代表提交代码执行的不同时机,如提交代码前执行的脚本pre-commit,提交代码后执行的脚本post-commit,更多详情自行学习;

3、配置(所有配置需要顶格)

a、编辑用户文件passwd,新增两个用户:admin和guest。

vim conf/passwd

[users]

admin = admin

guest = guest

b、编辑权限文件authz,用户admin设置可读写权限,guest设置只读权限。

vim conf/authz

[/]

admin = rw

guest = r

c、编辑svnserve.conf:

vim conf/svnserve.conf

[general]

anon-access = none #控制非鉴权用户访问版本库的权限

auth-access = write #控制鉴权用户访问版本库的权限

password-db = passwd #指定用户名口令文件名

authz-db = authz #指定权限配置文件名

//realm = svntest #指定版本库的认证域,即在登录时提示的认证域名称 //测试不需要

---authz配置说明

其中,方括号内部分可有多种写法:
    [/]:表示根目录及以下,根目录是svnserve启动时指定的,[/]表示对全部版本库设置权限;

    [repos:/]:表示对版本库repos设置权限;

    [repos:/sadoc]:表示对版本库repos中的sadoc项目设置权限;

    [repos:/sadoc/oldboy]:表示对版本库repos中的sadoc项目的oldboy目录设置权限;

    权限主体可以是用户、用户组或*,用户组在前面加@,*表示全部用户;

    权限可以是w、r、wr和空,空表示没有任何权限;
    authz中每个参数都要顶格写,开头不能有空格;
    对于组,要以@开头,而用户不需要;

4. SVN服务

启动SVN服务。

systemctl start svnserve.service

检查服务是否启动成功。

ps aux | grep svn

通过netstat可以看到SVN打开了3690端口

netstat -tnlp

设置成开机启动。

systemctl enable svnserve.service

客户端测试 svn://ip:3690/svntest(因为/etc/sysconfig/svnserve中已经指定/var/svn,所以不需要带这个目录前缀)

subversion可通过多种方式访问--本地磁盘服务,或各种各样不同的网络协议,但一个版本库地址永远都是一个url,url方案反映了访问方法;

1.file:// 直接版本库服务(本地磁盘或访问方法;
       2. http:// 通过webdav协议服务支持subversion的apache服务器;
       3.https:// 与http://相似,但是用ssl加密;
       4.svn:// 通过未认证的tcp/ip自定义协议访问svnserve服务器;
       5. svn+ssh:// 通过认证并加密的tcp/ip自定义协议访问svnserve服务器

注意:阿里云3690设置入口出口

二、

项目目录

mkdir -p /var/www

svn checkout svn://localhost/svntest

cd /var/svn/svntest/hooks

 vim post-commit 

只留下第一行  #!/bin/sh 

在文件中写入 

export LANG=en_US.UTF-8
SVN_PATH=/usr/bin
WEB_PATH=/var/www/svntest #这里是设置的网站目录,我们以之前安装的nginx下的默认根目录
SVN_USER=admin #设置的svn用户名
SVN_PASS=admin #密码
LOG_PATH=/tmp/svn.log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
$SVN_PATH/svn update $WEB_PATH --username $SVN_USER --password $SVN_PASS --no-auth-cache >> $LOG_PATH

更改post-commit: 权限 chmod 777 post-commit 

 

把版本库里的项目 在域名所在的目录中检出

svn checkout svn://locahost/svntest
 

三、svn客户端 执行命令 svn log 显示no author,no date的解决

/var/svn/svntest/conf/svnserve

把anon-access=read改为anon-access=none不需要重启Svnserve

四、svn切换仓库地址

svn switch --relocate 旧地址  新地址

svn switch --relocate svn://1x.1x.1x.1x/repo svn://2x.2x.2x.2x/repo

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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服务器。需要注意的是,在离线环境中,您需要提前准备好所需的软件包及其依赖关系,并保存在本地供安装使用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值