Windows和Linux环境下搭建SVN服务器
--------------------------Windows下搭建SVN服务器-----------------------------
一、安装SVN服务端
软件包Setup-Subversion-1.8.17.msi,下载地址:https://sourceforge.net/projects/win32svn/files/latest/download
二、SVN服务端命令
1.查看SVN信息
2.创建数据仓库
首先创建一个总的仓库目录repository,然后在其下创建product和project两个文件夹,分别作为产品和项目两个仓库的目录:
SVN命令创建product和project仓库:
svnadmin create c:\repository\product
svnadmin create c:\repository\project
仓库创建后其目录结构如下所示:
3.启动SVN服务器
多仓库启动:svnserve -d -r c:\repository(同时启动project和product两个仓库)
单仓库启动:(两个仓库需要单独启动)
svnserve -d -r c:\repository\product
svnserve -d -r c:\repository\project
服务器上有多个SVN仓库时,应该用多仓库启动命令
4.客户端连接测试
首先分别在两台计算机上安装SVN客户端:TortoiseSVN,下载网址:https://tortoisesvn.net/downloads.html
然后多仓库启动SVN服务器,在本机和同一局域网上的计算机访问product仓库:
注意:总仓库目录repository访问时不用输入,SVN服务的默认端口号为3690,访问地址可以写成:svn://192.168.0.182:3690/product
三、权限设置
1.svnserve.conf 服务器配置
# 匿名用户访问版本库权限,可选值read/write/none
anon-access = none
# 授权用户访问版本库权限,可选值read/write/none
auth-access = write
# 用户名密码文件,可以使用绝对路径,相对路径是指相对于conf目录的位置。注意:如果该选项不开启,用户名密码文件将失效
password-db = passwd
# 授权管理文件,可以使用绝对路径,相对路径是指相对于conf目录的位置。注意:如果该选项不开启,授权管理将失效
authz-db = authz
# 版本库认证域名称,也就是需要认证的仓库名
realm = product
2.passwd 用户密码管理
[users]
zhangsan = zs123
lisi = ls123
wangwu = ww123
alice = a123
shine = 123456
3.authz 授权管理
# 分组设置权限
[groups]
# 开发人员
develpoer = zhangsan,lisi
# 测试人员
tester= wangwu,alice
# 设定根目录权限
[/]
# 开发人员读写权限(给组分配权限时前面加@符)
@develpoer = rw
# 测试人员读权限
@tester= r
# shine具有读写权限
shine = rw
[/myapp/sql]
# 张三用户对于product仓库下的“myapp/sql”目录具有读写权限
zhangsan= rw
# 李四具有读权限
lisi= r
# 张三无任何权限
zhangsan=
# 其他任何人没有任何权限
* =
四、将SVN设置成系统服务
在windows下部署SVN服务器,想让SVN服务在系统开机时后台自动启动,可以注册windows系统服务。
例如:sc create SVN-Service binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r c:\repository" displayname="SVN服务" start=auto depend=Tcpip
服务启动:net stat SVN-Service
删除服务:sc delete SVN-Service
---------------------Linux下搭建SVN服务器-----------------------------
一、下载软件和依赖包
cd Desktop
wget http://mirrors.tuna.tsinghua.edu.cn/apache/subversion/subversion-1.9.7.tar.gz
wget https://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz
wget http://archive.apache.org/dist/apr/apr-1.6.3.tar.gz
wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip
二、安装软件依赖包
1.安装 apr.tar.gz
cd Desktop
tar -zxvf apr-1.6.3.tar.gz
cd apr-1.6.3/
./configure --prefix=/usr/local/apr
make && make install
2.安装 apr-util.tar.gz
cd Desktop
tar -zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-expat=/usr/local/expat
make && make install
3.安装 zlib-1.2.11.tar.gz
cd Desktop
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure --prefix=/usr/local/zlib
make && make install
4.安装 subversion-1.9.7.tar.gz
cd Desktop
ar -zxvf subversion-1.9.7.tar.gz
unzip sqlite-amalgamation-3071501.zip
mv sqlite-amalgamation-3071501 ./subversion-1.9.7/sqlite-amalgamation
cd subversion-1.9.7
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-zlib=/usr/local/zlib --without-berkeley-db --with-ssl
make
make install
5.检验是否安装成功
cd /usr/local/svn/bin
./svnserve --version
三、安装时可能会遇到的一些问题
上面的安装步骤都是kali linux上安装的,再次从Ubuntu上安装时可能会遇到下面的问题
1.安装 apr.tar.gz执行./configure命令时最后出现下面的错误:
config.status: executing libtool commands
rm: cannot remove 'libtoolT': No such file or directory
config.status: executing default commands
解决方法:修改configure文件,找到:$RM "$cfgfile" 这一行,将其注释掉
2.安装apr-util.tar.gz执行make命令时出现如下的错误:
xml/apr_xml.c:35:19: fatal error: expat.h: 没有那个文件或目录
#include <expat.h>
^
compilation terminated.
解决方法:缺少expat库,安装expat-2.1.0.tar.gz,项目主页:https://sourceforge.net/projects/expat/
cd Desktop
tar -zxvf expat-2.1.0.tar.gz
cd expat-2.1.0
./configure --prefix=/usr/local/expat
make
make install
重新编译apr-util,再进行make:
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-expat=/usr/local/expat
make
make install
四、仓库的创建和配置
Linux和Windows下对于仓库的创建和配置方法一致,这里不再描述。设置完成后启动和访问SVN服务
为了方便期间可添加环境变量:vi /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.11
export PATH=$PATH:$ZOOKEEPER_HOME/bin:/usr/local/svn/bin
转载于:https://www.cnblogs.com/shine620/p/8089975.html
Windows和Linux环境下搭建SVN服务器相关推荐
- window环境下搭建SVN服务器
第一步:准备工具: 1.SVN服务端工具(window版):VisualSVN-Server-2.1.11.msi,下载地址:http://download.csdn.net/detail/duanc ...
- Linux环境下搭建Apache服务器(完整版)
Linux下搭建Apache服务器(完整版) 什么是Apache? Apache Licence是著名的非盈利开源组织Apache采用的协议.该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权, ...
- 网络打印服务器 linux,在Linux环境下搭建网络打印服务器
一台旧的打印机没有网口,为方便大家使用决定搭建网络打印服务器.能使用的电脑是古董了,只好使用TinyCore安装使用作为打印服务器了. 先下载最新的tinycore 9.0版,使用usbwri ...
- linux环境下搭建Git服务器以及仓库管理-Ubuntu 22.04
前言 linux上面管理文档.程序.源码等文件最好的就是Git了,而且Git是分布式,不必与中心服务器通讯即可管理本地版本.然而,对于一个协同工作的小型团队来说,仅靠本地版本管理是严重不够的,必须通过 ...
- LNMP环境下搭建SVN服务器
1. 安装SVN yum install subversion 查看是否安装成功 rpm -ql subversion 2. 在/usr/local下建立SVN文件夹并赋予777 这里目录可以随意,我 ...
- linux环境下搭建osm_web服务器一(Postgresql配置及osm2pgsql原始数据导入):
Postgresql配置及osm2pgsql原始数据导入 2012年,Ubuntu 12.04LTS发布,又一个长效支持版,我们又该更新OpenStreetMap服务器了,这次,将详细在博客中记录配置 ...
- 实例浅谈Linux环境下搭建Web服务器与创建个人主页
版权声明:对于本博客所有原创文章,允许个人.教育和非商业目的使用,但务必保证文章的完整性且不作任何修改地以超链接形式注明原始作者.出处及本声明. 博客地址:http://blog.csdn.ne ...
- Linux环境下搭建FTP服务器
软件版本 1.Linux:CentOS Linux release 7.8.2003 (Core) 2.FTP:vsftpd-3.0.2 安装vsftpd // 1.检查是否安装了vsftpd(如果显 ...
- linux环境下搭建osm_web服务器四(对万国语的地名进行翻译和检索):
对万国语的地名进行翻译和检索 经过 前三篇的调试,已经有了一个完整的Map可以浏览,我们痛苦的世界范围数据下载.导入过程也结束了.要提醒一下的是,鉴于网速,不要下载 planetosm.lastest ...
最新文章
- 代数系统思维导图_线性代数思维导图专题
- 研究生期间应该如何充实度过
- Ubuntu14升级MySQL
- 没有第三个变量的前提下交换两个变量_JavaScript 交换值的方法,你能想到几种?
- Python3实现汉诺塔问题
- 使用Keras和CNN进行自定义AI人脸识别
- java 获取mongodb的连接数
- FMEA软件功能安全 FMEAHunter
- python自动打印如何实现-Python 实现自动完成A4标签排版打印功能
- 深信服 AC上网 行为管理设置
- Chrome谷歌浏览器启用flash插件
- 推荐一本 Bulma 的书《使用Bulma来创建用户界面》
- 后端学习路线的书籍经验总结
- NVIDIA GeForce Experience 无法登录解决办法
- Innovator Admin 一个aras的管理器,又一个package安装方法
- Smali语法学习三
- React Native的Navigator详解
- Mysql,SQL server中英文翻译对照
- 超星项目进程2023.5.17
- 网络心理学未来分支——人工智能心理学
热门文章
- 【收藏】在QGIS中添加Google Maps地图和卫星影像
- Spark on Yarn集群多Application并行执行
- Geospark加载PostgreSQL数据库
- k8s Service之Headless Service
- MySQL中using的用法
- 【软考-软件设计师】计算机存储系统
- 屏蔽Crash 提示框的两种方式
- Python常见错误及解决方案(持续更新)
- 为什么8位有符号数的取值范围是-128~+127
- 解决GitHub报错:schannel:failed to receive handshake, SSL/TLS connection failed