2025年linux服务器安装svn超详细介绍

linux服务器安装svn超详细介绍REV centos 操作系统下安装 svn 1 查询是否安装 rpm qa subversion 如果想删除 svn 运行 yum remove subversion 2 如果没有使用则运行以下操作 yum y install subversion 3 此命令会全自动安装 svn 服务器相关服务和依赖 安装完成会自动停止命令运行 若需查看 svn 安装路径 可以用以下命令 rpm ql

REV >>

centos操作系统下安装svn:

1.查询是否安装

rpm -qa subversion

如果想删除svn运行

yum remove subversion

2.如果没有使用则运行以下操作

yum -y install  subversion

3.此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

若需查看svn安装路径,可以用以下命令:

rpm -ql subversion

4.创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

本人选择在/usr/share/nginx/html/svn路径下创建版本库,当前处于根目录下,一次性创建如下:

mkdir /usr/share/nginx/html/svn/svnrepos

5.创建svn版本库

在上边建立的路径基础上,创建版本库,命令如下:

svnadmin create  /usr/share/nginx/html/svn/svnrepos/test

(test为你预期的版本库名称,可自定义)

6.创建成功后,进入test目录下

cd /usr/share/nginx/html/svn/svnrepos/test

7.进入目录,可以看见如下文件信息:

8.修改配置

cd /usr/share/nginx/html/svn/svnrepos/test/conf

9. cd conf目录下,一共存放三份重要的配置文件,如下:

authz:负责账号权限的管理,控制账号是否读写权限

passwd:负责账号和密码的用户名单管理

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

10.修改这三个文件

vi authz

只需在末尾添加,无需在文件其他部分修改和添加任何东西,末尾内容如下:

[\]

账号1 = rw

账号1 = rw

#切记!如果先设置成这样的[\]的话 服务器后边svn提交更新的时候报错 请修改成[/]就好了

rw表示赋予此账号可读写的权限

11.修改passwd文件信息

vi passwd

账号密码文件无需做修改,也是直接将账号和密码信息追加到文件中即可,注意格式为:

账号 = 密码

例如:test= 123456

12.修改svnserve.conf(重要)

#authz-db = authz 如果此条去掉后,虽然svn服务器可以连接,但一直会提示“认证失败”,注释掉即可正常

realm = My First Repository去掉注释即可,无需做任何修改

到此,配置已经全部完成,账号信息已经添加成功

13.防火墙 关闭就可以 如需开启防火墙的状态按照一下操作

find / -name iptables

本人的是这个 你们可以搜一下你们的

usr/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

/etc/init.d/iptables save

service iptables restart

14.启动svn服务器

svnserve -d -r /usr/share/nginx/html/svn/svnrepos

启动成功后,可用ps -aux查看服务启动是否成功

15.自动更新部署 (搭建svn都不是仅仅为了把代码存到仓库,而是同步部署到对应的项目。)

在 /usr/share/nginx/html/svn/svnrepos/test/hooks目录的 hooks 里面有一堆tmpl,今天我们就说一下自动部署post-commit.tmpl,

tmpl文件是模版文件,我们要用post-commit需要手动复制对应tmpl里面的内容到新的post-commit里面。

cd  /usr/share/nginx/html/svn/svnrepos/test/hooks
cp post-commit.tmpl post-commit

使用ftp软件打开 刚刚新建的post-commit 文件,清空文件

16.修改post-commit文件

然后打开文件清空内容,修改为以下代码:

#!/bin/sh    #其中第一行意思是:用sh来解析这个脚本,因为各种shell的语法有细微的差别

REPOS="$1"

REV="$2"

export LANG=en_US.UTF-8 #第二行是编码格式:这里我使用的是UTF-8 有的是GBK格式会报错!!

LOG_PATH=/tmp/svn.log

echo `date "+%Y-%m-%d %H:%M:%S"` >> $LOG_PATH

echo `whoami`,$REPOS,$REV >> $LOG_PATH #这是一个操作日志 可加可不加



/usr/bin/svn co svn://39.102.74.157/test /usr/share/nginx/html/svn/svnrepos/test/

/usr/bin/svn update /usr/share/nginx/html/svn/svnrepos/test/ --username test --password 123456

#最后一行/usr/bin/svn 是svn的路径,不是项目路径,应该都是一样的,后半句分别是用户名、密码、和项目路径。--username这个比较坑了,前面其实是两个减号,英文输入法下的

chown -R 777 /usr/share/nginx/html/svn/svnrepos/test/

#!/bin/sh REPOS=”1″ REV=”2″ export LANG=en_US.UTF-8 LOG_PATH=/tmp/svn.log echo `date “+%Y-%m-%d %H:%M:%S”` >> LOG_PATH echo `whoami`,REPOS,REV >>

编程小号
上一篇 2025-02-07 20:17
下一篇 2025-04-20 19:27

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/127187.html