SVN离线部署

SYN离线部署

下载必须文件以及依赖文件:

安装SVN

使用 root 账号,创建 svn 账号,之后切换 svn 账号进行登录

bash 复制代码
[root]
$ useradd svn
$ passwd svn
Tkykp3q#2019

把压缩文件都放在 software 目录里,之后解压文件

bash 复制代码
$ tar -zxvf apr-1.7.4.tar.gz
$ tar -zxvf apr-util-1.6.3.tar.gz
$ tar -zxvf sqlite-autoconf-3450100.tar.gz
$ tar -xvf zlib-1.2.11.tar.xz
$ tar -zxvf subversion-1.14.3.tar.gz

安装 apr-1.7.4

bash 复制代码
$ cd apr-1.7.4
$ pwd
/home/svn/software/apr-1.7.4
$ ./configure --prefix=/home/svn/software/apr-1.7.4
$ make && make install

安装 apr-util-1.6.3

bash 复制代码
$ cd apr-util-1.6.3
$ pwd
/home/svn/software/apr-util-1.6.3
$ ./configure --prefix=/home/svn/software/apr-util-1.6.3 --with-apr=/home/svn/software/apr-1.7.4
$ make && make install

安装 apr-util-1.6.3 时出现报错

安装 zlib

bash 复制代码
$ cd zlib-1.2.11
$ pwd
/home/svn/software/zlib-1.2.11
$ ./configure --prefix=/home/svn/software/zlib-1.2.11

安装 subversion

  • 安装之前需要将 aqlite 包 移到 subversion 目录
bash 复制代码
$ mkdir subversion-1.14.3/sqlite-amalgamation
$ mv sqlite-autoconf-3450100/* subversion-1.14.3/sqlite-amalgamation
$ cd subversion-1.14.3
$ pwd
/home/svn/software/subversion-1.14.3
$ ./configure --prefix=/home/svn/software/subversion-1.14.3 --with-apr=/home/svn/software/apr-1.7.4 --with-apr-util=/home/svn/software/apr-util-1.6.3 --with-zlib=/home/svn/software/zlib-1.2.11 --with-lz4=internal --with-utf8proc=internal
$ make && make install

安装 subversion 时出现报错,无法生成 Makefile 文件:

  • 追加 --with-lz4=internal 参数
  • 追加 --with-utf8proc=internal 参数

修改环境变量

修改环境变量文件

bash 复制代码
$ cd ~
$ vim .bashrc
export SVN_HOME=/home/svn/software/subversion-1.14.3
export PATH=$SVN_HOME/bin:$PATH
$ source .bashrc

检查是否配置成功

SVN配置修改(权限)

在 subversion 中包含有服务端和客户端,在执行命令时需要分清服务端命令和客户端命令

服务端命令:

  • svnserver:控制 svn 系统服务的启动
  • svnadmin:svn 版本库的创建/导入/导出/删除等
  • svnlook:查看版本库的信息

客户端命令:

  • svn:版本库的检出、更新、提交、重定向等

首先,需要创建 svn 版本库

bash 复制代码
$ pwd
/home/svn
$ mkdir data
$ svnadmin create /home/svn/data

在创建的这个版本库下会自动创建 svn 相关的配置文件

切换到 conf 目录下,修改 svnserve 配置文件

bash 复制代码
$ cd data/conf
$ vim svnserve.conf

添加用户名和密码

  • 格式:用户名 = 密码
bash 复制代码
$ vim passwd
[users]
admin = admin123
usera = usera123
userb = userb123
other = other123

配置用户权限

  • groups:用户组配置,该配置的格式为组名等于用户名列表,每个用户需要用逗号隔开,每一行表示一个用户组
  • [/]:指定根目录配置用户组权限:
    • 读(r):在客户端可以跟新服务器上的代码到本地
    • 写(w):在客户端可以提交代码到服务器
bash 复制代码
$ vim authz
[groups]
admin = admin
user = usera,userb
other = other

[/]
@admin = rw
@user = rw
@other =

启动SVN

bash 复制代码
$ svnserve -d -r /home/svn/data

重启svn

  • 注意:pid 需要改为你看到的
bash 复制代码
$ ps -ef | grep svnserve
svn        82007       1  0 16:01 ?        00:00:00 svnserve -d -r data/
svn        82073   20493  0 16:13 pts/0    00:00:00 grep svnserve
$ kill -9 82007
$ svnserve -d -r /home/svn/data
相关推荐
恬静的小魔龙2 天前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
技术策划Boring5 天前
什么是 SVN Blame 以及如何使用
svn
小疙瘩8 天前
Windows 11 安装SVN 服务端和客户端
svn
长沙红胖子Qt12 天前
SVN培训笔记(三):使用sourceTree管理svn项目添加、修改、删除和下载指定版本操作
svn·sourcetree
长沙红胖子Qt17 天前
SVN培训笔记(二):使用sourceTree通过git桥接管理svn项目
git·svn·sourcetree·sourcetree管理svn
Snower_202217 天前
CentOS 7 搭建 SVN 服务器(精简版教程)
linux·运维·服务器·svn·centos
siqiangming18 天前
将SVN项目迁移到Git,保留提交记录
git·svn
小趴菜不能喝20 天前
Linux 搭建SVN服务
linux·运维·svn
在下小孙21 天前
Git与SVN常用指令
git·svn
Albert Edison1 个月前
【Git】多人协作二(不同分支下)
git·elasticsearch·svn·github