ubuntu:12.04.1
在本地安装ubuntu,并与apache集成
1、安装subversion
引用
apt-get install subversion
apt-get install subversion-tools
2、安装apache
引用
apt-get install apache2
apt-get install libapache2-svn
3、配置subversion与apache集成
1)查看/etc/apache2/mods-enabled/dav_svn.load文件,有mod_dav_svn.so和mod_authz_svn.so这两个动态库说明apache已经加载了Subversion的访问控制模块。
如果没有,手动添加
引用
# Depends: dav
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
2)编辑/etc/apache2/mods-enabled/dav_svn.conf文件,取消svn配置的注释,修改后的内容如下
引用
<Location /svn>
# Uncomment this to enable the repository
DAV svn
# Set this to the path to your repository
#SVNPath /usr/svn
# Alternatively, use SVNParentPath if you have multiple repositories under
# under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...).
# You need either SVNPath and SVNParentPath, but not both.
SVNParentPath /usr/svn
# Access control is done at 3 levels: (1) Apache authentication, via
# any of several methods. A "Basic Auth" section is commented out
# below. (2) Apache <Limit> and <LimitExcept>, also commented out
# below. (3) mod_authz_svn is a svn-specific authorization module
# which offers fine-grained read/write access control for paths
# within a repository. (The first two layers are coarse-grained; you
# can only enable/disable access to an entire repository.) Note that
# mod_authz_svn is noticeably slower than the other two layers, so if
# you don't need the fine-grained control, don't configure it.
# Basic Authentication is repository-wide. It is not secure unless
# you are using https. See the 'htpasswd' command to create and
# manage the password file - and the documentation for the
# 'auth_basic' and 'authn_file' modules, which you will need for this
# (enable them with 'a2enmod').
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
# To enable authorization via mod_authz_svn (enable that module separately):
<IfModule mod_authz_svn.c>
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
</IfModule>
# The following three lines allow anonymous read, but make
# committers authenticate themselves. It requires the 'authz_user'
# module (enable it with 'a2enmod').
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
3)创建配置中的两个文件
引用
touch /etc/apache2/dav_svn.passwd
touch /etc/apache2/dav_svn.authz
4)配置完成后重启apache
引用
/etc/init.d/apache2 restart
4、建立版本库
引用
makedir /usr/svn/
makedir /usr/svn/repos
svnadmin create --fs-type fsfs /usr/svn/repos
指定数据存储为 FSFS,如果要指定为 Berkeley DB,则将 fsfs 替换为 bdb,推荐选用FSFS格式。
检查版本库是否可以checkout:
引用
root@AY130321164319777920:~# svn co file:///usr/svn/repos
Checked out revision 0.
5、添加项目
需要考虑的是,将每一个项目分别放在不同的版本库里面,还是将它们放在统一的版本库里面。统一的版本库更加容易升级和备份,但由于访问权限控制是针对整个版本库的,也为不同项目配置不同的访问权限带来了麻烦。所以,应该根据实际情况权衡考虑。
引用
mkdir /home/project
mkdir /home/project/gboat3
root@AY130321164319777920:/home# svn import /home/project file:///usr/svn/repos --message "init"
Adding /home/project/gboat3
Committed revision 1.
用 svn list 确认导入的项目是否正确
引用
root@AY130321164319777920:/home# svn list --verbose file:///usr/svn/repos
1 root Apr 23 20:02 ./
1 root Apr 23 20:02 gboat3/
6、subversion添加用户
添加第一个用户,要加参数-c。以后不用加。
引用
htpasswd -c /etc/apache2/dav_svn.passwd user1
Subversion追加用户:
引用
htpasswd /etc/apache2/dav_svn.passwd user2
7、subversion分配权限
新添加的用户是不能访问Subversion的,还要为他分配权限。编辑/etc/apache2/dav_svn.authz文件
引用
[groups]
admin = user1
gboat = user1,user2
[/]
@admin = rw
* = r
[/gboat3]
user1= rw
@gboat = rw
* = r
其中* = 表示其它所有用户都没有任何权限。@表示用户组,*表示所有用户,[/]表示全部目录。注意顶格写。UTF-8格式才能配置SVN权限,Linux下默认是UTF-8,Windows下有转换工具,比如Eclipse->Edit->最后一项。
特别注意:权限分配时,不能写成user1, user2=r,这样提交时会出现错误:svn Commit failed checkout of 403 forbidden。应该写成user1= r和user2= r
8、subversion启动
引用
svnserve -d -r /home/svn/repos
Subversion 设计了一个抽象的网络层,版本库建立完毕之后,可以通过各种服务器向外公布。svnserve 是 Subversion 自带的一个小型的服务器,它使用独立的协议与客户端。–i 作为 inetd 启动。-d参数表示svnserve将会作为一个服务程序运行在后台。-r参数表示将/home/svn指定为代码库的根目录。这样,当客户端使用类似svn://192.168.0.1/repos这样的URL访问服务器的时候,其所访问的真实库是/home/svn/repos。另外如 --listen-port,--listen-host 可以指定绑定的地址和端口,-R 可以强制设定为 Read-Only 模式。
启动后检查服务
引用
ps -ef | grep svnserv
P.S.
【1】apache配置说明:
<Location /svn> 意思是Subversion版本可用的URL是http://SubversionServerIP/svn
DAV SVN 告诉Apache是哪个模块响应哪个URL的请求,在这里是Subversion模块
SVNParentPath /home/svn 告诉Subversion需要查看的版本库在/home/svn之下。如果不希望为每个单独的项目都进行单独的设置,可以把所有项目都存放在统一的资源库目录,使用SVNParentPath指令来指定存放所有项目的路径。否则使用SVNPath
SVNPath 单版本库时使用此项指明版本库的路径,但在多版本库中不要使用此项
AuthType Basic 认证类型为基本认证,就是用户名和密码
AuthName "Subversion repository" 认证名称,将在浏览器界面弹出一个对话框,标题为Subversion repository
AuthUserFile /etc/apache2/dav_svn.passwd 指定使用的认证密码文件,即访问版本库用户的文件,用apache的htpasswd命令生成
AuthzSVNAccessFile /etc/apache2/dav_svn.authz 设定访问版本库权限的文件
Require valid-user 要求验证用户,即不能匿名访问。如果没有该语句,则只能第一个用户可以访问新建库
【2】版本库各文件夹说明
conf 目录下存放了版本库的配置文件,包括用户访问控制和权限控制等内容;
dav 目录是提供给 Apache 相关模块的目录;
db 目录下存放着 Subversion 所要管理的所有受版本控制的数据,不同的存储方式(Berkeley DB 或者 FSFS)下有着不同的目录结构,不过我们一般不用直接修改和查看这个目录下的内容,Subversion 的命令可以安全的操作这个目录;
hooks 目录存放着钩子脚本及其模版(一种版本库事件触发程序);
locks 目录存放着 Subversion 版本库锁定数据,用来追踪存取文件库的客户端;
format 文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
分享到:
相关推荐
Ubuntu中安装subversion服务器,Ubuntu中安装subversion配置服务器,超级详细!
完成以上步骤后,您将在Ubuntu系统上成功安装并配置了Subversion,可以通过Web界面和本地文件系统两种方式访问和管理项目版本。这对于团队协作和项目管理具有重要意义,因为它提供了版本控制、冲突解决和历史记录等...
1. **启动服务**:根据你的Linux发行版,可能需要启动或设置Subversion服务自动启动。 2. **导入数据**:使用 `svn import` 命令将已有项目导入到版本库,例如: ```bash # 进入bin目录 cd /home/local/subversion/...
以下将详细介绍如何在Ubuntu上安装并配置Subversion客户端。 ### 1. 更新系统 在开始安装任何新软件之前,确保系统是最新的。打开终端(Terminal)并输入以下命令: ```bash sudo apt update sudo apt upgrade ``...
使用`configure`脚本来配置编译选项,然后进行编译和安装: ``` ./configure --prefix=/usr make sudo make install ``` 5. 配置Apache HTTPD服务器: Subversion通常与Apache集成,以提供Web访问和权限控制...
现在,Subversion已经在Ubuntu上成功安装并配置好了。你可以开始导入项目到仓库,或者克隆现有的仓库进行开发。使用`svn import`或`svn checkout`命令,根据你的需求操作。 在实际工作中,你可能会遇到各种问题,如...
在Ubuntu系统中安装...总的来说,Ubuntu上的Subversion安装涉及更新系统、安装Subversion和Apache模块、配置Apache以提供HTTP访问,以及创建用户和权限。这个过程将使你能够在团队中有效地管理和共享代码资源。
【Ubuntu+svn+ssl+ldap】的安装及集成是一个复杂的过程,涉及到Ubuntu操作系统、Subversion (SVN) 版本控制系统、SSL安全套接层以及Lightweight Directory Access Protocol (LDAP) 用户认证。以下是对这些技术的详细...
通过以上步骤,你可以在Ubuntu 10.04上成功地安装和配置带有SASL认证功能的SVN服务器。这不仅可以帮助你更好地管理版本控制,还能提供更高的安全性,确保只有授权用户才能访问和修改仓库内容。在实际部署过程中,还...
本篇文章将详细讲解如何在Linux系统中安装Subversion 1.9.3版本,以及所需的依赖项和安装过程。 首先,我们需要确保系统已经更新到最新状态,以获取最新的安全补丁和依赖关系。执行以下命令: ```bash sudo apt-...
- 同样地,Subversion也可以通过包管理器安装,如在Ubuntu上运行`sudo apt-get install subversion`。 - 创建一个SVN仓库,可以使用`svnadmin create /path/to/repo`命令。 3. **安装mod_dav_svn模块**: - 对于...
### Ubuntu16.0.4环境下Asterisk安装经验 #### 概述 本文将详细介绍如何在Ubuntu 16.0.4系统上安装Asterisk。Asterisk是一款非常强大的开源PBX(Private Branch Exchange)系统,它可以将普通的计算机变成一个功能...
本文将详细讲解如何在Linux系统上安装和配置Apache Web服务器以及Subversion版本控制系统。 首先,Linux作为开源操作系统,是许多服务器的基础,其稳定性和安全性深受开发者喜爱。在本案例中,我们将使用它作为平台...
这篇博客将指导你如何在Linux系统中安装和配置Subversion。 ### 一、安装前准备 在开始安装Subversion之前,确保你的Linux系统是最新的。你可以通过运行以下命令来更新系统: ```bash sudo apt-get update sudo ...
本文档将详细介绍如何在Ubuntu系统上安装并配置Reviewboard,一款流行的代码审查工具。通过本文档的学习,您将能够掌握安装过程中所需的关键步骤以及相关软件的配置方法。 #### 二、环境准备与依赖安装 在开始安装...
在 Ubuntu 系统上安装并配置 Subversion (SVN) 服务器是一种常见的需求,尤其是对于那些希望在本地网络环境中进行版本控制的团队来说。下面我们将详细介绍如何在 Ubuntu 系统上安装和配置 SVN 服务器。 ##### 1. ...
1. 安装SVN apt-get install subversion 2. 建立svn仓库 1). 建立svn目录:mkdir /home/.svn(使用隐藏目录) 2). cd /home/.svn 3). mkdir astar 4). 创建仓库astar:svnadmin create /home/.svn/astar,...
在Ubuntu系统下,通过可视化方式安装SVN(Subversion)客户端是一种提高开发效率、简化版本控制流程的有效手段。本文将围绕“ubuntu下可视化SVN安装”这一主题,深入解析其重要性和具体步骤,帮助读者更好地理解和...