`
SonofGod
  • 浏览: 20756 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

linux下搭建svn全指南

    博客分类:
  • svn
svn 
阅读更多

linux svn安装部署

使用yum search subversion获取需要安装的包

[root@localhost ~]# yum search subversion

 

subversion.i386 : Modern Version Control System designed to replace CVS

subversion-devel.i386 : Development package for Subversion developers.

subversion-javahl.i386 : JNI bindings to the Subversion libraries

subversion-perl.i386 : Perl bindings to the Subversion libraries

subversion-ruby.i386 : Ruby bindings to the Subversion libraries

 

依次安装以上的的subversion文件

yum install subversion subversion-devel subversion-javahl subversion-perl subversion-ruby

===========================================

安装完毕后,建立linux SVN创库文件

mkdir /svn

cd /svn

mkdir repos

svnadmin create repos

//付权限

chmod 755 /svn

======================================

编辑/svn/repos/conf/svnserve.conf

 

vi /svn/repos/conf/svnserve.conf

解开注释,记住这里的文件命令都必须抵头写,不能留空格,否则报错

anon-access = read

auth-access = write

password-db = passwd

authz-db = authz

============================================

vi /svn/repos/conf/passwd

user=pwd

如:tearsky=123456

用户:就是tearsky,密码就是123456

===============================

vi /svn/repos/conf/authz

 

追加下记文字

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

develop = zhuzhengling,zhangqiyu,zhangmengying,baoxiufen

 

 

# [/foo/bar]

# harry = rw

# &joe = r

# * =

 

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

[repos:/]

lisb=rw

@develop=rw

[/]

*=r

------------*=r 设置组,只有读取权限,可设置一个readTest=r,限制其他人访问svn,如果是rw表示可读可写

 

 

=======================================================

执行svnserve -d -r /svn/repos/ 启动服务

 

-d 启动,-r路径

 

 

==============================linux svn apache安装========================

svn安装同上

apache 安装

通过yum search httpd,找出需要安装的文件,

[root@TTenv conf.d]# yum search httpd

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

 * base: mirrors.btte.net

 * extras: mirrors.btte.net

 * updates: mirrors.btte.net

=========================================================================== Matched: httpd ============================================================================

mod_ssl.x86_64 : SSL/TLS module for the Apache HTTP server

system-config-httpd.noarch : Apache configuration tool

centos-ds.x86_64 : CentOS Directory, Administration, and Console Suite

httpd.x86_64 : Apache HTTP Server

httpd-devel.i386 : Development tools for the Apache HTTP server.

httpd-devel.x86_64 : Development tools for the Apache HTTP server.

httpd-manual.x86_64 : Documentation for the Apache HTTP server.

mod_dav_svn.x86_64 : Apache server module for Subversion server.

 

 

 

yum install -y httpd....进行安装

[root@TTenv conf.d]# yum install -y mod_ssl system-config-httpd centos-ds httpd httpd-devel httpd-devel httpd-manual mod_dav_svn

 

安装完毕后,

新建用户

输入:htpasswd -c /svn/passwd.conf lisb  回车

输入两次密码

-c 只有文件不存在的时候才用,有这个文件了,就不用-c了,/svn新建的文件在/svn下面的passwd.conf,可以任意指定,lisb 里账号名字 

 

如:创建新用户 htpasswd /svn/passwd.conf zhuzhengling

 

 

再复制/svn/repos/conf里面的authz文件到/svn下面,修改名字为authz.conf,也可以任意指定目录

cp /svn/repos/conf/authz /svn/authz.conf

 

authz.conf内容如下

[root@TTenv svn]# vi authz.conf 

 

[groups]

dev_user=chenbs,lisb,zhuyt,tanggy,yangxz

#dev_user=lisb,zhuzhengling,zhangqiyu,baoxiufen,zhangmengying

[/]

@dev_user=rw

 

 

模块加载

//一般来说下面两个文件会自动弄好,不用我们管

 

打开/etc/httpd/conf.d/subversion.conf,这个文件中的如下两行取消注释。

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so

 

 

 

相应的so文件已经自动copy到了APACHE/modules。这些工作就不用自己动手了。

 

版本库控制

[root@TTenv svn]# vi /etc/httpd/conf.d/subversion.conf 

添加如下内容

<Location /svn/>#svn在访问的时候用到,http://ip/svn   3.DAV svn           #不用修改   

DAV svn

SVNParentPath /svn#资料库的绝对地址

SVNListParentPath on

AuthType Basic

AuthName "Subversion repository"

AuthzSVNAccessFile /svn/authz.conf#权限文件

AuthUserFile /svn/passwd.conf#账号文件

Require valid-user

</Location>

=========================

 

在这里就设置完成了

重启httpd

service httpd restart

 

 

==============================

注意事项

 

注意:

(1)单个版本库就是SVNPath /svn/svnroot/icec跟./svnadmin create /svn/svnroot/icec目录要一样,要不忙死你……【这个是对单个版本库】,多个版本库知道svn的主目录,

我这就是 SVNParentPath /svn/svnroot

(2)AuthzSVNAccessFile是权限控制文件,单个版本库不需要,多个版本库要设置不同版本库的权限

(3)目录svnroot目录的权限设置成755

 

 

四、验证安装

打开浏览器,输入地址为http://服务器ip/

出现登陆窗口,输入用户名跟密码,

 

如果可以正常打开如上页面则说明安装配置正常,可以正常使用了,在页面上可以看到由于目前资料库中没有内容,因此看到的内容为空。

 

五、导入数据到资料库

Cd /usr/local/subversion/bin

./svn import /要导入的目录 file:///svn/svnroot -m “说明文字”

重新打开浏览器,输入地址http://服务器ip/svn,输入用户名密码。

 

安装配置就完成了。

 

 

 

以下摘抄于http://www.dasairen.com/Centos/19023011232.html

六、可能遇到的问题

 

整个过程不会一帆风顺的,这里介绍一些可能遇到的问题。

 

1、【这个问题是我创建单个版本库时遇到的】安装好了后,浏览器打开http://服务器ip/svn,登陆出现不了页面,出现:

<D:error>

 

<C:error/> <m:human-readable errcode="2"> Could not open the requested SVN filesystem </m:human-readable> </D:error>

解决:这是httpd.conf里的<Locate svn>中的SVNPath指向错误没指到创建的资料库

 

2、输入账号密码提示不能认证,查看APACHE的/etc/httpd/logs/error_log,有如下提示:

 

[Tue Oct 05 18:07:09 2010] [error] [client 125.223.118.90] (13)Permission denied: Could not open password file: /svn/svnroot/passwd

[Tue Oct 05 18:07:09 2010] [error] [client 125.223.118.90] access to /svn failed, reason: verification of user id 'test' not configured

 

从日志看,因为检查过配置文件没有拼错,所以可以肯定是权限问题。从ls命令的结果可以看出,由于passwd的权限是没有问题的。

后来看了一位朋友的帖子【Linux环境下搭建APACHE+subversion+svnmanager】的启发,可能是SELinux引发的问题,

于是执行命令:

chcon -R -h -t httpd_sys_content_t /svn/svnroot

后来还是不行。执行以下命令后搞定

chcon -R -h -t httpd_sys_content_t /svn

 

总结教训:还是linux不熟悉的原因造成的,我是linux的新手。看来得恶补linux的基本知识。

 

3、组(group)设置

 

在TortoiseSVN中做Commit操作时可能遇到如下错误:

 

can't open file '/svn/svnroot/telnet/db/txn-current-lock': Permission denied

 

可以将telnet的所属组设置为APACHE

 

chgrp -R APACHE  /svn/svnroot/telnet

 

4、文件夹创建删除属性

 

在TortoiseSVN中做Commit操作时可能遇到如下错误:

 

can't open '/svn/svnroot/telnet/db/tempfile.tmp': Permission denied

 

can't make directory '/svn/svnroot/telnet/dav/activities.d': Permission denied

 

设置telnet 群组的访问方式为“创建和删除文件”

 

 

5、The URI does not contain the name of a repository. [403, #190001

 

 

这个原因是因为httpd.conf文件里SVNParentPath

 

加上这行代码后必须在你的访问URL中访问你的SVN下的具体的库

 

如果开启父目录显示就不会有这个问题了,即加上SVNListParentPath on

还有意Location /svn/的svn后面有一条斜线。

 

 

 

 

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#停止 HTTPD服务

[root@zhangxx etc]# service httpd stop

停止 httpd:[  确定  ]

#启动httpd服务

[root@zhangxx etc]# service httpd start

启动 httpd:[  确定  ]

#重起HTTD服务

[root@zhangxx etc]# service httpd restart

停止 httpd:[  确定  ]

启动 httpd:[  确定  ]

#让httpd 在机器启动的时候在运行级别上停止

[root@zhangxx etc]# chkconfig --level 345 httpd off

[root@zhangxx etc]# chkconfig --list |grep httpd

httpd           0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

#让httpd 在机器启动的时候在运行级别上启动

[root@zhangxx etc]# chkconfig --level 345 httpd on

[root@zhangxx etc]# chkconfig --list |grep httpd

httpd           0:关闭  1:关闭  2:关闭  3:启用  4:启用  5:启用  6:关闭

 

 

查看svnserve进程

ps -ef|grep svnserve

杀进程

killall svnserve

启动:

svnserve -d -r /svn/repos/

svnserve -d -r /svn/nj_repository/

 

查看httpd 进程

ps -ef|grep httpd

启动 httpd

 

service httpd stop

service httpd start

 

创建版本库

svnadmin create /svn/njsvnresource 

 

svn import /home/oss file:///svn/nj_repository/jiashitong/oss -m "导入文件"

 

 

svnserve -d -r /svn/nj_repository/jiashitong --config-file=/svn/nj_repository/jiashitong/svnserve.conf

 

svnserve -d -r /data/svn --config-file=/data/svn/svnserve.conf

 

tail -200f /etc/httpd/logs/error_log

 

http://lesterlee.cn/?p=172

 

新增用户

编辑

/svn/authz.conf

htpasswd /svn/passwd.conf 用户名

 

killall svnserve

service httpd stop

 

svnserve -d -r /svn/repos/

service httpd start

0
0
分享到:
评论

相关推荐

    linux下搭建SVN服务器完全手册借鉴.pdf

    在Linux环境下搭建SVN(Subversion)服务器是一个关键任务,特别是在团队协作开发中,它能够有效地管理和跟踪代码版本。以下是一份详细的指南,基于提供的信息,涵盖了从安装所需软件到配置用户权限的整个过程。 ...

    linux下搭建SVN服务器完全手册.docx

    在Linux环境下,特别是RHEL5.4这样的操作系统上,搭建SVN(Subversion)服务器是进行版本控制和团队协作的重要步骤。以下是一个详尽的指南,涵盖了从安装必要的软件包到配置用户访问权限的全过程。 首先,确保系统...

    svn linux

    综合这些文件,我们可以预想这篇博文会详细解释如何在Linux环境下搭建SVN服务器,如何配置Apache以支持SVN,以及如何有效地使用SVN进行源码管理。内容可能包括安装步骤、命令行操作、权限设置、冲突解决、备份和恢复...

    svn linux下搭建

    ### Linux 下 SVN 服务器搭建详解 #### 一、前言 在软件开发过程中,版本控制系统是必不可少的工具之一。Subversion(简称SVN)作为一款经典的集中式版本控制系统,在项目管理方面发挥着重要作用。本文将详细介绍...

    linux nginx下配置独立的svn

    通过本文的学习,读者应能够掌握在Linux Nginx环境下搭建SVN服务器的方法,并能够顺利地进行版本控制管理。此外,还提供了关于如何使用Windows客户端软件进行连接的基本指南。希望本文能帮助读者解决实际工作中遇到...

    SVN 服务器环境搭建

    在这个"SVN 服务器环境搭建"的压缩包中,包含了搭建SVN服务器和客户端所需的所有资源,使得你可以方便地进行下载和安装。下面我们将详细讲解如何搭建一个SVN服务器。 1. **SVN服务器组件**: SVN服务器通常由两个...

    LINUX下如何搭建apache和svn。(centos 5.3)

    在Linux环境下搭建Apache和SVN的过程是一个常见的任务,特别是在软件开发团队中,为了协同工作,需要设置这样的服务器环境。以下是一份详细的步骤指南,适用于CentOS 5.3系统: 首先,确保你的Linux系统是最新的,...

    详解Linux服务器配置——搭建SVN服务器

    本文将详细介绍如何在Linux环境下配置并搭建SVN服务器,旨在为读者提供一个清晰的操作指南。 #### 二、环境准备与安装 在开始配置SVN服务器之前,我们需要确保Linux服务器已经就绪,并且具备以下条件: 1. **操作...

    Linux+svn+apache配置方法

    ### Linux下配置SVN与Apache实现版本控制及Web访问 #### 概述 本文将详细介绍如何在Linux环境下配置Subversion (SVN) 和 Apache HTTP Server,以实现版本控制功能,并支持通过SVN客户端和Web浏览器两种方式进行...

    Ubuntu上搭建SVN服务器全攻略.pdf

    这个教程详细地阐述了在Ubuntu 8.10系统上建立一个安全且功能完备的SVN服务器的全过程,涵盖了从环境准备、服务器安装、SVN仓库创建、Apache配置到权限管理和SSL安全的各个环节,对于需要在Linux环境中搭建SVN服务器...

    最详细最实用LinuxFedora系统SVNServer环境搭建过程开发平台[汇编].pdf

    在本文档中,作者详细介绍了如何在Linux Fedora系统上搭建SVN(Subversion)服务器环境,以便进行软件开发和版本控制。以下是对整个过程的详细解释: 1. **准备工作** 在安装好Fedora操作系统后,首先需要通过`yum...

    Linux下的SVN服务器搭建步骤

    以上就是Linux环境下搭建SVN服务器的完整过程,希望这个指南能帮助你顺利设置并避免常见的配置陷阱。在实践中,你可能还需要根据实际需求调整一些配置,如增加用户、设置更复杂的权限策略等。祝你搭建成功!

    svn_linux.zip_svn_svn doc

    在IT行业中,版本控制系统...总之,SubVersion在Linux环境下的搭建和使用是一个涉及系统管理、网络配置和版本控制技术的综合过程。通过熟练掌握这些知识,开发团队可以更高效地进行代码管理,提高软件开发的协作效率。

    rdhat-linux5下的SVN安装

    在Red Hat Linux 5环境下,安装基于Apache的Subversion(SVN)服务器是一个常见的任务,这对于版本控制和团队协作至关重要。以下是一个详细的安装步骤指南: 首先,你需要确保系统上已经安装了必要的软件包。这些...

    SVN服务器搭建和配置[整理].pdf

    SVN 服务器搭建和配置指南 SVN 服务器搭建和配置是版本控制系统的重要组件。Subversion 是一个优秀的版本控制工具,它提供了强大的版本控制功能。本文将指导您如何搭建和配置 SVN 服务器,并使用 VisualSVN Server ...

    ubuntu linux 配置svn+apache+ssl

    在Ubuntu环境下搭建SVN(Subversion)服务器,结合Apache HTTP服务器和SSL(Secure Sockets Layer)加密,能够实现安全的版本控制系统,并通过HTTPS协议进行访问。Apache的用户认证管理确保了权限控制,而authz配置...

    SVN服务安装配置和操作指南

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪代码...《subversion基于Apache的服务器配置.doc》和《SVN操作入门指南.pdf》文档会提供更具体的指导,包括更多高级配置和问题排查技巧,建议仔细阅读。

Global site tag (gtag.js) - Google Analytics