Linux 源码安装svn服务
svn要求使用最新稳定版本
svn下载地址:
https://mirrors.aliyun.com/apache/subversion/subversion-1.14.2.tar.gz
依赖 下载地址
apr:https://mirrors.aliyun.com/apache/apr/apr-1.7.0.tar.gz
apr-util:https://mirrors.aliyun.com/apache/apr/apr-util-1.6.1.tar.gz
zlib:http://www.zlib.net/zlib-1.2.12.tar.gz
sqlite-autoconf:https://www.sqlite.org/2020/sqlite-autoconf-3320000.tar.gz
expat:https://github.com/libexpat/libexpat/releases
以上安装包,上传到/root/svn下解压
注意:
/root/svn 因为是源码安装编译需要指定路径,换个路径,下面的命令也要记得改!
编写需要用到C,要记得安装gcc和gcc-c++:yum install –y gcc gcc-c++
安装步骤
1. 安装apr
#cd apr-1.7.0
# vi configure
找到RM='$RM'修改为RM='$RM -f'(该操作用来解决报错:cannot remove 'libtoolT':No such file or directory)
编译
# ./configure prefix=/root/svn/apr-1.7.0
# make & make install
2. 安装expat
# cd /root/svn/
#cd expat-2.4.8
编译
# ./configure
# make & make install
3. 安装apr-util
# cd /root/svn/
#cd apr-util-1.6.1
编译
# ./configure prefix=/root/svn/apr-util-1.6.1 --with-apr=/usr/local/apr
# make & make install
4. 安装zlib
# cd /root/svn/
#cd zlib-1.2.12
编译
# ./configure
# make & make install
5. sqlite-autoconf
将sqlite-autoconf-3320000改名为sqlite-amalgamation并移动到subversion-1.14.2文件夹下
#cd /root/svn
#cd subversion-1.14.2
# cp -r ../sqlite-autoconf-3320000 sqlite-amalgamation
6. 安装subversion
编译
#./configure prefix=/root/svn/subversion-1.14.2 --with-apr=/root/svn/apr-1.7.0 --with-apr-util=/root/svn/apr-util-1.6.1 --with-zlib=/root/svn/zlib-1.2.11 --with-lz4=internal --with-utf8proc=internal
# make & make install
7. 配置SVN仓库
收拾一下/root/svn,将安装包移走,只留解压后的安装包路径
创建库目录
#cd /root/svn
# mkdir -p myproject
添加/创建 配置文件
# svnadmin create /root/svn/myproject
上面一句不行,用下面一句
# /root/svn/subversion-1.14.2/bin/svnadmin create /root/svn/myproject
进入配置文件所在目录
#cd /root/svn/myproject/conf
修改/添加 配置文件subversion.conf
#vi subversion.conf
添加下面信息
[general]
#使非授权用户无法访问
anon-access = none
#使授权用户有写权限
auth-access = write
#指明密码文件路径
password-db = passwd
#访问控制文件
authz-db =authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = repos
修改passwd文件用于创建用户
# vi passwd
添加用户:用户名1 = 密码1
修改authz文件用于管理用户权限
#vi authz
添加下面信息(myproject、admin和user1 就是上面添加的)
格式:
[库名:目录]
用户名1 = 权限
用户名2 = 权限
例如:
[myproject:/]
admin = rw
user1 =r
修改svnserve.conf,取消下面的屏蔽
8. 启动服务
#/root/svn/subversion-1.14.2/bin/svnserve -d --listen-port 3690 -r /root/svn
9. 开启防火墙端口
#firewall-cmd --zone=public --add-port=3690/tcp --permanent
10. 装上客户端就可以访问svn服务
在同网段下的客户机上安装svn客户端远程连接svn服务器
地址为:svn://svn服务器IP地址/myproject
11、验证
导入了一个文件:1.xlsx
服务器端查看到有文件添加,上传文件是通过数据处理后存储在db/revs里面。但是提交一次svn会自动生成一个版本文件,这个文件是经过处理的,同样也看不到原文件。