`

Linux 安装SVN 整合Apache + 权限控制

阅读更多

一:相关版本
subversion在安装的时候,要求相关软件的版本一致,而不是说软件版本最新就最好.下面是我安装的相关版本.
httpd-2.2.3.tar.gz
subversion-deps-1.4.0.tar.gz
subversion-1.4.0.tar.gz

二:安装准备
# mkdir /subversion
# cp httpd-2.2.3.tar.gz /subversion/
# cp subversion-deps-1.4.0.tar.gz /subversion/
# cp subversion-1.4.0.tar.gz /subversion/
# cd /subversion/
# tar zxvf httpd-2.2.3.tar.gz
# tar zxvf subversion-deps-1.4.0.tar.gz
# tar zxvf subversion-1.4.0.tar.gz

到这一步,如果是32位的linux系统,可以直接安装httpd了,如果地64位的linux,需要进行以下操作,进行重新编译:
1、删除安装目录下的configure文件,在我的环境中是httpd-2.2.6/configure
2、删除“httpd-2.26/srclib/apr-util/configure”
3、通过以下命令重建编译文件(以下命令在http-2.26/目录下运行)。
#./buildconf
通过以上重建编译文件,现在可以拥有64位的apr-util了

三:httpd的安装.
# cd /subversion/httpd-2.2.3
# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/ --enable-maintainer-mode 

(注意以上命令,参数不能随意减少,否则有可能出现一些未知的错误
 如果是上面经过重建编译文件的64位Linux,使用如下命令:
#  ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/ --enable-maintainer-mode --with-expat=builtin

# make
# make install
# cd /usr/local/apache2/bin/
# ./apachectl start   (该命令可能会出现类似 Could not reliably determine the server's fully qualified domain name, using 192.168.0.71 for ServerName的错误,不用管它,服务实际上已经启动了 停止和重启也一样)
这个时候,打开浏览器,输入http://localhost/,如果浏览器出现It Works,则说明httpd安装成功了.

四:subversion的安装
# cd /subversion/subversion-1.4.0
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2/ --with-apr-util=/usr/local/apache2/ --prefix=/usr/local/subversion --with-ssl --with-zlib --enable-maintianer-mode
# make && make install


 如果出现错误:make: *** [subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] Error 1
 解决方法 在neon/src/Makefie 的 CFLAGS中增加 -fPIC选项 一定要加到最前面,例如 CFLAGS = -fPIC -g -O2
  必须make distclean->./configure->修改->make才行 

五:建立和导入版本库
[root@localhost subversion-1.4.0]# cd /usr/local/subversion/bin/
[root@localhost bin]# mkdir /repository
[root@localhost bin]# ./svnadmin create --fs-type fsfs /repository/test
[root@localhost bin]# ls /repository/test/  
//如果ls /repository/test/ 出现了下面的内容,就说明subversion安装成功了.
conf   dav   db   format   hooks   locks   README.txt

 

如果原先已经有了版本库,可以进行导入:
[root@localhost bin]# ./svn import /root/src/ file:///repository/test/ -m "initial import"
//命令成功执行,会有如下的提示信息,.
新增           /root/src/main.cpp
提交后的修订版为 1。

六:修改目录权限
[root@localhost bin]# cd /repository/test/
[root@localhost test]# chmod -R 777 *

七:修改Apache的配置文件
1):打开apache2/conf/httpd.conf文件
2):修改httpd.conf文件,在文件的最后添加下面几行
<Location /svn>
DAV svn
SVNParentPath /usr/local/subversion/repository
</Location>
3):保存退出

上面指定的是,SVN不需要权限,即任何匿名用户都可以访问、修改、提交
在实际使用当中,需要有权限控制才行,因此,配置文件需要如下详细配置:

进入apache2/bin目录,建立用户组和用户文件  当然也可以是在其它文件夹,个人习惯把它放在这里方便操作

建立用户组文件:
# touch authz

在authz文件中写入如下内容,下面代码说明用户组admin有lyd,zzq,mc,yhl四个用户,admin组对[/]表示根目录具有读写权限 r代表读 w代表写:

[groups]
admin = lyd,zzq,mc,yhl
[/]
@admin = rw

创建用户,这里的用户需要在上面的用户组里面,才能有相应的权限:
htpasswd -cm pwd.txt lyd   第一次创建,加上 -cm 参数,需要创建用户文件pwd.txt,当然你也可以用别名字或后缀名

htpasswd  pwd.txt zzq   第二次创建,因为第一次已经创建了用户文件,所以只需要在用户文件中直接添加用户即可

修改apache2/conf/httpd.conf文件,在最后添加下面代码,指定SVN的版本库位置及刚才创建的,权限需要使用的文件

<Location /svn>
DAV svn
SVNParentPath /usr/local/subversion/repository/
AuthzSVNAccessFile /usr/local/apache2/bin/authz
AuthType Basic
AuthName "Subversion"
AuthUserFile /usr/local/apache2/bin/pwd.txt
Require valid-user
</Location>

八:重启apache服务.
[root@localhost bin]# cd /usr/local/apache2/bin/
[root@localhost bin]# ./apachectl stop
[root@localhost bin]# ./apachectl start
或者直接 restart

起动SVN
/usr/local/subversion/bin/svnserve -d -r /usr/local/subversion/repository/

分享到:
评论
1 楼 穷困潦倒赊账度日 2012-02-07  

相关推荐

    Linux整合Apache和SVN

    在IT行业中,Linux系统因...总之,Linux上的Apache与SVN整合提供了一种方便、高效的代码版本控制方式,对于团队协作和项目管理有着重要作用。通过以上步骤,你可以成功地在Linux环境中搭建起一个功能完善的SVN服务器。

    apache+svn+trac安装软件

    **整合Apache、Subversion和Trac** 1. 使用mod_proxy或mod_proxy_ajp在Apache中设置反向代理,使得Trac可以通过Apache服务器对外提供服务。 2. 调整Apache、Subversion和Trac的配置,以确保安全性和性能。例如,设置...

    apache+mysql+php+svn自动发布服务器搭建.pdf

    以下是这些组件在Linux系统上的安装步骤: 1. **Apache (HTTP Server)** - 下载httpd-2.2.17.tar.gz - 解压缩并进入目录 - 使用`./configure`配置安装路径,启用DAV、SO模块以及重写和拼写检查功能 - `make`...

    CentOS下安装apache和svn并为svn配置http支持

    在CentOS环境下安装Apache服务器和Subversion(SVN)版本控制系统,并配置Apache来支持HTTP协议的SVN服务,是常见的软件部署与配置任务。以下知识点会详细阐述整个过程中涉及的步骤、组件以及潜在的配置问题。 ### ...

    rehl5(64位)系统安装SVN详细操作文档及相应安装包

    这是我整理的SVN版本控制软件在REHL5(64位)上的安装文档,里面有详细...安装之后可以通过apache浏览器直接访问,里面有将SVN与apache整合的配置说明。 注:文档中红色的为特别注意的。 另外权限问题也需要留意一下。

    CentOS 6.5搭建Apache整合SVN 1.8.5服务器(多版本库权限配置)

    总结来说,本文详细介绍了如何在CentOS 6.5上建立一个Apache整合SVN 1.8.5的服务器,并提供了多版本库的权限配置方法。这使得团队能够高效地协作和管理代码库,但未涵盖的源码包安装需要另外进行。

    svn使用说明书(客户端服务器端安装配置、apache服务配置、在eclipse上的使用)

    安装SVN独立服务器,例如VisualSVN Server,不依赖于Apache。 4.2 建立版本库 创建一个新的SVN仓库,用于存放项目代码。可以通过服务器管理工具进行操作。 4.3 配置用户和权限 设置访问控制,添加用户,分配不同的...

    SVN服务器在Linux上的安装和配置

    本文将详细介绍如何在Linux平台上安装和配置Subversion(SVN)服务器,并将其与Apache Web服务器整合,以便提供基于Web的版本控制服务。此外,文章还将涉及Subversion的认证与授权机制以及如何设置FSFS作为后端存储...

    linux+nginx+php+mysql环境配置指南.docx

    通过`rpm -q httpd`检查其是否已安装,然后使用`rpm -e`命令进行卸载,可能需要先卸载依赖包,如mod_perl和mod_dav_svn。在处理依赖关系时,确保逐个解决所有依赖问题,例如卸载perl相关的模块。 接下来是安装Nginx...

    linux下subverion服务器搭建

    下面我们将详细探讨如何在Linux系统中安装和配置Subversion服务器,并整合Apache以实现安全的权限控制。 首先,我们需要确保系统已经安装了必要的基础工具,如GCC编译器、库文件等。这通常可以通过执行以下命令完成...

    java war包+tomcat+svn+pom.xml实现各开发环境自动化部署

    使用`yum`命令在Linux系统上安装SVN。在安装过程中,确保防火墙开放了SVN服务所需的端口,如果是云服务器,还需在安全组中添加相应的端口规则。 ```bash svnserve --version # 检查是否已安装 yum install -y ...

    SVN安装包和使用

    3. 配置仓库权限,可以通过`svnserve.conf`或Apache HTTPD服务器实现用户访问控制。 **使用SVN** 1. **克隆仓库**: 使用`svn checkout`(简写为`svn co`)命令将仓库内容检出到本地,例如:`svn co svn://serverip...

    SVN的安装及配置

    - 配置权限:通过修改 SVN 仓库的配置文件(通常是 conf 目录下的 `svnserve.conf` 或 `authz` 文件),可以设置用户访问控制和权限分配。 - 启动 SVN 服务:根据所使用的服务器环境,可能需要配置 SVN 服务器,如...

    svn搭建

    6. **客户端配置**:在开发机器上,需要安装svn客户端,如TortoiseSVN、SmartSVN等。安装后,通过客户端连接到服务器仓库,进行检出(Checkout)、提交(Commit)、更新(Update)等操作。 7. **svn在MyEclipse中的...

    在Linux系统中将Redmine和SVN整合入Nginx的方法

    在Linux系统中,将Redmine和SVN整合到Nginx服务器是一项常见的任务,特别是对于那些需要高效项目管理和版本控制的团队。Redmine是一个强大的Web应用程序,用于项目管理,包括任务跟踪、问题追踪、时间跟踪等功能,而...

    Apache-Subversion-1.14.0.rar

    Apache Subversion(简称SVN)是一个开源的版本控制系统,用于管理软件项目的源代码和其他文件的变更。这个"Apache-Subversion-1.14.0.rar"文件是Apache Subversion 1.14.0版本的压缩包,适用于在网络环境不理想时...

    linux下 jdk1.7,maven2.2,tomcat7,eclipse4.3整合 安装

    - 在Eclipse中安装SVN插件:访问`http://subclipse.tigris.org/update_1.8.x`,按照提示进行安装。 - 安装Maven插件:访问`http://download.eclipse.org/technology/m2e/releases`,通过Eclipse的内置更新管理器安装...

    svn.rar_svn_svn教程

    1. **安装**:根据操作系统选择合适的SVN客户端,如Windows下的TortoiseSVN,Linux或Mac下的命令行工具。 2. **仓库创建**:使用SVN工具在服务器上创建仓库,如`svnadmin create repository_name`。 3. **仓库访问...

    SVN使用手册

    在Linux或Unix系统中,通常使用svnserve或Apache HTTPD服务器作为SVN服务端。配置包括创建版本库、设置用户访问控制列表(ACL)等。 3. SVN操作命令: - `svn checkout`:从版本库获取工作副本。 - `svn update`...

Global site tag (gtag.js) - Google Analytics