本文适用于已经安装SVN后想用http访问SVN的情况!


一定要关闭selinx,一定要关闭selinx,一定要关闭selinx,重要的事情说三遍!!!

关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效


好了,现在说正事

安装Apache

yum install httpd apr apr-util httpd-devel 

yum install mod_dav_svn

cd /etc/httpd/modules/

[root@centos6 modules]# ll |grep mod_dav_svn.so

-rwxr-xr-x. 1 root root 155360 Aug 17  2015 mod_dav_svn.so

[root@centos6 modules]# ll |grep mod_authz_svn.so

-rwxr-xr-x. 1 root root  13456 Aug 17  2015 mod_authz_svn.so

已经看到mod_dav_svn.so mod_authz_svn.so证明已经安装成功了。

配置svn支持http访问

htpasswd -cm /home/svn/conf/http_passwd XXXXXXX    #首次创建用户

htpasswd -m /home/svn/conf/http_passwd XXXXXXX    #添加用户

注意:

/home/svn/conf/目录下面passwd文件是svnserve独立服务器使用的认证文件,密码没有加密,明文显示。

/home/svn/conf/目录下面http_passwd文件是Apache的http模式使用的认证文件,密码使用MD5加密。

passwd和http_passwd文件中,账号密码必须设置相同。


设置Apache配置文件

vi /etc/httpd/conf.d/subversion.conf #编辑,在最后添加以下代码

DAV svn

#SVNPath /home/svn   #访问单一文件夹的

SVNParentPath /home/svn  #访问多个文件夹的

# # Limit write permission to list of valid users.

#

# # Require SSL connection for password protection.

# # SSLRequireSSL

#

AuthType Basic

AuthName "Authorization SVN"

AuthzSVNAccessFile /home/svn/conf/authz

AuthUserFile /home/svn/conf/http_passwd

Require valid-user

#

:wq! #保存退出

设置目录权限

chown apache:apache /home/svn -R #设置svn目录所有者为Apache服务运行账号apache


以上内容参考了

http://www.osyunwei.com/archives/9145.html


补充上安装svn步骤


  一.安装

  yum install subversion

二.配置

  本系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。

  所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息。

  1. 建立版本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)

  mkdir –p /home/svn/repos

  #类似可以创建 mkdir –p /home/svn/repos2 /home/svn/repos3

  2. 建立svn版本库(与上面目录对应)

  svnadmin create /home/svn/repos

  执行此命令后svn自动在repos目录下添加必须的配置文件.

  注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库.

  此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。

  3. 修改版本库配置文件

  vi /home/svn/repos/conf/svnserve.conf

  各参数功能在配置文件的注释中有说明, 此处配置如下:

  [general]

  anon-access = none # 使非授权用户无法访问

  auth-access = write # 使授权用户有写权限

  password-db = passwd # 指明密码文件路径

  authz-db = authz # 访问控制文件

  realm = /home/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。

  其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.

  4. 配置用户

  vi /home/svn/repos/conf/passwd

  输入以下内容:

  [users]

  username1 = password1

  username2 = password2    

  可以添加多个,此为用户名密码对。

  5. 配置权限

  3.3

  6. 使用import导入文件

  新建好的版本库是空的,需要导入工作目录。

  //这条语句将把路径/home/user/code下找到的文件导入到你创建的 Subversion 仓库中去

  svn import/home/code/ file:///home/svn/repos/ -m “注释”

三.启动服务

   启动svn服务使用下面命令

  svnserve -d -r /home/svn/

    停止svn服务使用

    ps -ef|grep svn

    kill -9 进程号

 

  svn checkout svn://ip/repos

  启动svn服务使用