安装软件

# yum install httpd mod_dav_svn subversion mod_ssl

   查看是否安装成功

  #svn --version 如果出现版本号如


则说明svn安装成功

 查看httpd配置文件/etc/httpd/conf/httpd.conf

如果找到


这说明apache模块安装正确

配置

  1.创建版本库

    # mkdir -pv /svn/date   --创建主目录

    # svnadmin create /svn/date/www  --创建仓库

  2.更改权限

    # chmod -R 700 /svn/date/  --修改库的其他人无权限

    # chown -R apache:apache /svn/date/   --修改库的所属

  3.更改apache配置

    #vim /etc/httpd/conf/httpd.conf 

   加入以下内容



<Location /svn>

DAV svn

SVNParentPath /svn/date

AuthType Basic

AuthName "svn"

AuthUserFile /svn/passwd

AuthzSVNAccessFile /svn/auth.conf

Require valid-user

</Location>


  #   <Location /svn>   表示你的访问目录

  #  DAV svn DAV   模块名称(我们这里也就是svn)

  #   SVNParentPath /svn/date   我们的库文件夹

  # AuthType Basic   验证方式

     AuthName "svn"   验证名称

    AuthUserFile /svn/passwd   验证用户的文件 

    AuthzSVNAccessFile   /svn/auth.conf   用户权限文件

    Require valid-user    这项是说明/svn/passwd文件内说有用户都可以访问

  4.创建apache账户

   第一次 # htpasswd -c /svn/passwd neo -c 表示新建一个文件以后就不需要加了

   # htpasswd /svn/passwd tina

    # vim /svn/auth.conf 编辑权限文件 加入以下内容



[groups]

admin = neo,tina

[/]

neo=rw

tina=r

 [groups]用户组定义 [/]表示对主目录的权限设置 可以看出neo是读写,tina是只读。

# chown -R apache:apache /svn/ 再次修改文件所属



 这样我们apache+svn就搭建好了

 启用服务: 



# service httpd start

# svnserve -d -r /svn/date/    

svnserver 的选项 -d  表示以守护进程方式开启 -r 后面跟库目录

测试

导入文件


输入账户密码


传输完成。

  这样子apache+svn就可以使用了,但是我们的http在网络上什么都是明文传递的 这样我们的数据是非常不安全的,所以我们将这个服务器与ssl整合到一起

  1.生产密钥文件

  #cd /etc/httpd/conf

  # openssl genrsa -out httpd.key 1024  生成一个私钥文件

  # openssl req -new -key httpd.key -out httpd.pem -days 3650 -x509

  利用这个私钥生成一个自签证书(因为svn使我们公司内部人员使用)

  


  再红线处依次填写:国家,省份,城市,公司,部门,网络名,邮箱完成。

 修改apache使ssl生效

 # vim /etc/httpd/conf.d/ssl.conf


在红线处 修改证书和私钥地址 

# vim /etc/httpd/conf/httpd.conf 加入红线那行(表示强制使用ssl连接)


重启apache.



 浏览器访问 https://192.168.127.5/svn/www  


表示已经打开ssl连接了



连接svn时就需要用https了

加入开机启动

# chkconfig httpd on

# vim /etc/rc.local 


加入红线行

 到此apache+svn+ssl整合完成。