采用apache+svn,http访问方式。
先确定安装了apache,没有安装则用以下命令:
sudo apt-get install apache2
然后安装subversion及svn-apache连接库:
sudo apt-get install subversion
sudo apt-get install libapache2-svn
增加svn用户组,用于管理svn,并加入到www-data的apache组:
sudo addgroup subversion
sudo usermod -G subversion -a www-data
然后可以创建svn项目仓库了:
# 一般可以将项目仓库建立到/home/svn目录
# 假设项目名为myproject,先建立空目录
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject
#创建为svn项目,使用以下命令
$ sudo svnadmin create /home/svn/myproject
# 然后才赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
# 如果命令顺序搞错,可能会报错,请参照官方wiki
$ sudo chmod -R g+rws myproject
最后是配置apache,用http协议访问svn服务:
# 在安装了libapache2-svn时会自动生成该文件
$ sudo vi /etc/apache2/mods-available/dav_svn.conf
编辑dav_svn.conf配置文件,内有注释,可以去掉前面的#使语句生效,最后内容大概如下即可:
<Location/svn> #/svn表示http://hostname/svn/myproject
DAV svn
SVNParentPath /home/svn #配置仓库父目录
AuthType Basic
AuthName "ToFishes Project Svn"
AuthUserFile /etc/subversion/passwd #svn用户文件
AuthzSVNAccessFile /etc/subversion/authz #授权访问文件
Require valid-user
</Location>
svn用户文件/etc/subversion/passwd 和 授权访问文件/etc/subversion/authz是不存在的,需要手动创建。
svn用户文件可以通过命令创建:
#首次创建需要加-c选项,同时可以增加一个svn用户
#执行该命令会提示为新用户user_name设置密码
sudo htpasswd -c /etc/subversion/passwd user_name
#以后添加新用户,需要去掉-c选项,否则以前的用户就被覆灭了
sudo htpasswd /etc/subversion/passwd new_name
用户是可以添加了,同时需要管理授权,用于多个svn项目,划分不同的用户组:
用vi /etc/subversion/authz编辑授权文件,无文件则编辑并保存后会自动创建,无需担心。
授权文件内容格式如下:
#用户组指令
[groups]
#格式为 组名 = 用户名1,用户名2
group1 = user1, user2
group2 = user1, user3
#other groups...
#格式为 svn项目的仓库名:对应目录
[svn_repository_name:/]
#设置组的权限,r=read, w=write
@group1= rw
[svn_repository_name2:/web/css]
@group2= rw
改完最后重启apache : sudo /etc/init.d/apache2 restart。这样工作就全部完成了。
其中访问地址是什么呢,只要当前服务器已经绑定了一个域名,并且在apache中启用了此域名的虚拟主机。
比如能正常访问 http://www.linuxidc.com/, 那么svn项目的访问地址就是 http://www.linuxidc.com/svn/项目名。
分享到:
相关推荐
linux 搭建svn 直接根据我这个就能搭建好完全能使用 linux 搭建svn 直接根据我这个就能搭建好完全能使用 linux 搭建svn 直接根据我这个就能搭建好完全能使用 linux 搭建svn 直接根据我这个就能搭建好完全能使用 ...
### Linux下搭建SVN服务器详解 #### 知识点一:环境准备与依赖库安装 在Linux环境下搭建Subversion(SVN)服务器是一项常见的需求,尤其是对于开发团队来说,它能够提供版本控制和代码管理的强大功能。在进行SVN...
### Linux下搭建SVN服务器知识点详解 #### 一、软件安装 在Linux环境下搭建SVN服务器,首先需要完成软件的安装。本节将详细介绍两种安装方法:通过`yum`安装和手动编译安装。 ##### 1. 方法一:用yum安装 在Red ...
Linux下搭建SVN
linux上搭建svn服务器,同步数据 linux上搭建svn服务器,同步数据
本文将详细介绍在Linux环境下搭建SVN + Apache的具体步骤以及过程中可能遇到的问题及解决方法。 #### 二、核心知识点 1. **Apache与SVN的基本概念** - **Apache**: 是一个广泛使用的开源Web服务器软件,能够处理...
centos 7.9服务器 离线 搭建svn服务器 ,该文章适用于 开发人员 实施人员 项目经理用于项目文档管理 代码管理,而不指定如何在centos7.9环境下离线搭建svn服务器,因为大多数的网站只是介绍yum install 的方式,但是...
在Linux环境下搭建SVN(Subversion)服务器是开发者和团队协作中的常见任务,因为SVN是一种强大的版本控制系统,能够帮助管理和跟踪代码的更改历史。以下将详细介绍如何在Linux上设置SVN服务器以及如何在Windows上...
linux环境搭建svn服务器所需安装包,包括apr-1.7.0.tar.gz, apr-util-1.6.1.tar.gz, expat-2.1.0.tar.gz, openssl-1.0.2l.tar.gz, sqlite-autoconf-3330000.tar.gz, subversion-1.9.4.tar.gz, zlib-1.2.11.tar...
Linux完全离线安装SVN所需最全安装包,包括apr-1.6.5.tar.gz、apr-util-1.6.1.tar.gz、expat_2.0.1.orig.tar.gz、sqlite-autoconf-3300000.tar.gz、subversion-1.12.2.tar.gz、zlib-1.2.11.tar.gz、gcc_rpm.tar.gz,...
linux下搭建SVN服务器完全手册.docx
在Linux环境中,Subversion(简称SVN)是一个版本控制系统,用于管理软件项目中的源代码、文档等文件的版本。在没有网络连接的情况下,即离线状态下安装Linux SVN,需要提前下载好所有必要的依赖包,然后在本地进行...
要在内网linux环境下搭建svn服务,查了很多资料,分享一下
在Linux环境下搭建SVN(Subversion)服务器是一种常见的版本控制系统部署方式,特别适用于团队协作开发项目。本文将详细讲解如何在Redhat5系统上使用svnserve方法来搭建SVN服务器。 首先,我们需要准备一些必要的...