linux内网环境安装svn
原创
©著作权归作者所有:来自51CTO博客作者学Java的小熊的原创作品,请联系作者获取转载授权,否则将追究法律责任
依赖包:
主要安装包: subversion-1.14.0.tar.gz http://subversion.apache.org/download/
SVN基础依赖包: apr-1.7.0.tar.gz http://apr.apache.org/download.cgi
SVN基础依赖包: apr-util-1.6.1.tar.gz http://apr.apache.org/download.cgi
SVN基础依赖包: zlib-1.2.11.tar.xz http://linux.softpedia.com/get/Programming/Libraries/zlib-159.shtml
数据库依赖包: sqlite-autoconf-3320300.tar.gz http://sqlite.org/download.html
apr-util依赖包: expat-2.0.1.tar.gz http://www.linuxfromscratch.org/blfs/view/6.3/general/expat.html
1、上传至相应目录,解压
cd /home/
mkdir svn
压缩包上传到svn,解压
tar -xzvf subversion-1.14.0.tar.gz
tar -xzvf apr-1.7.0.tar.gz
tar -xzvf apr-util-1.6.1.tar.gz
tar -xzvf zlib-1.2.11.tar.xz
tar -xzvf sqlite-autoconf-3320300.tar.gz
tar -xzvf expat-2.0.1.tar.gz
2、安装apr
- 进入apr-1.7.0文件夹下
- 执行安装命令
./configure prefix=/home/svn/apr-1.7.0
make
make install
3、安装apr-util
- 安装expat库
cd expat-2.0.1
./configure
make
make install
- 进入apr-util-1.6.1文件夹下
- 安装
./configure prefix=/home/svn/apr-util-1.6.1 --with-apr=/usr/local/apr
make
make install
4、安装zlib
- 进入zlib-1.2.11文件夹下
- 安装命令
./configure
make
make install
5、将sqlite-autoconf-3320300改名为sqlite-amalgamation并移动到subversion-1.14.0文件夹下
mv sqlite-autoconf-3320300 ./subversion-1.14.0/sqlite-amalgamation
6、安装subversion
- 进入subversion-1.14.0文件夹下
- 安装命令
./configure prefix=/home/svn/subversion-1.14.0 --with-apr=/home/svn/apr-1.7.0 --with-apr-util=/home/svn/apr-util-1.6.1 --with-zlib=/home/svn/zlib-1.2.11 --with-lz4=internal --with-utf8proc=internal
make
make install
- 安装完成,添加环境变量path
vi .bash_profile
PATH=/home/svn/subversion-1.14.0/bin:$PATH
#生效配置文件
source .bash_profile
7、配置SVN仓库
- 创建库目录
- 添加配置文件
svnadmin create /home/svn/myproject
- 进入配置文件所在目录
cd myproject/conf
vi subversion.conf
- 修改配置文件
#将文件中以下内容前的删除并顶格
[general]
anon-access = none #使非授权用户无法访问
auth-access = write #使授权用户有写权限
password-db = passwd #指明密码文件路径
authz-db =authz #访问控制文件
realm = repos #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
- 修改passwd文件用于创建用户
[users]
admin =admin # 用户名1 = 密码1
user =user # 用户名2 = 密码2
- 修改authz文件用于管理用户权限
vi authz
按格式输入权限内容
[库名:目录]
用户名1 = 权限
用户名2 = 权限
例如:
[myproject:/]
admin = rw
user =r
- 启动服务
svnserve -d --listen-port 3690 -r /home/svn
- 查看svn服务
- 防火墙端口
firewall-cmd --zone=public --add-port=3690/tcp --permanent
#重启防火墙
systemctl restart firewalld
- 访问svn服务
svn://svn服务器IP地址/myproject