安装软件

# 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整合完成。
 
 

svn完整搭建的更多相关文章

  1. ​Linux下的SVN服务器搭建

    ​Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...

  2. 版本控制-svn服务器搭建和常用命令(centos 6.3)

    Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...

  3. Linux svn的搭建与使用

    Linunx svn的搭建与使........纯手打的.. 一.安装前的准备 1.1 配置yum 库 1)加载光盘 2)进入/etc/yum.repo.d目录 3)复制"rhel-debug ...

  4. Linux下的SVN服务器搭建

    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...

  5. SVN服务器搭建和使用(三)

    SVN服务器搭建和使用(三) 接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等. 添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文 ...

  6. SVN服务器搭建和使用(二)

    SVN服务器搭建和使用(二) 上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及Tortois ...

  7. SVN服务器搭建和使用(一)

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

  8. Jenkins+ANT+SVN快速搭建持续集成环境

    伟大的语言都从helloworld开始,这里我们用Jenkins+ANT+SVN来搭建这一套持续集成环境. 环境准备: 一台已经配置好Jenkins和Ant的机器. 项目准备: 用Ecplise建立一 ...

  9. SVN服务器搭建之提交日志模版构建

    SVN服务器搭建之提交日志模版构建 日志提交有两种 一种是自己客户端设置提交日志模版,这个只适用于自己,没办法强制性运用到项目中,只能依照每个人的自觉性来处理. 第二种方法是SVN服务器设置提交日志模 ...

随机推荐

  1. BZOJ4310: 跳蚤 【后缀数组+二分】

    Description 很久很久以前,森林里住着一群跳蚤.一天,跳蚤国王得到了一个神秘的字符串,它想进行研究.首先,他会把串 分成不超过 k 个子串,然后对于每个子串 S,他会从S的所有子串中选择字典 ...

  2. Sql语句中两个比较迷糊的概念:“连接查询” 与 “外键约束”

    Sql语句中两个比较迷糊的概念:“连接查询” 与 “外键约束 Sql 中的连接查询:就是为了避免笛卡尔积,因为涉及到多表查询的化,不使用连接查询,会先将多个互相乘,求出笛卡尔积,然后在在里面查询符合的 ...

  3. 线程池、及使用场景、线程安全封装、ConcurrentHashMap应用场景

    https://blog.csdn.net/sinbadfreedom/article/details/80467253  :1.HashMap与ConcurrentHashMap的区别与应用场景 h ...

  4. hive 分区表

    hive中创建分区表没有什么复杂的分区类型(范围分区.列表分区.hash分区.混合分区等).分区列也不是表中的一个实际的字段,而是一个或者多个伪列.意思是说在表的数据文件中实际上并不保存分区列的信息与 ...

  5. Ribbon Status Bar

    https://documentation.devexpress.com/#WindowsForms/CustomDocument2498 官方文档说明 A Ribbon Status Bar (Ri ...

  6. ResourceBundle介绍

    介绍: ResourceBundle类主要作用是读取属性文件,读取属性文件时可以直接指定属性文件的名称(指定名称时不需要文件的后缀),也可以根据Locale所指定的区域码来选取指定的资源文件: Res ...

  7. 从操作系统rm数据文件后,利用句柄与rman恢复的过程。(已验证)

    以下操作代码的流程是配的,但是相应的文件名,啥的   必须改动. 故障现象 数据文件被误删除 具体情况 接到反馈说,数据文件data20120512.dbf被误删除,需要恢复 数据库提示 ERROR ...

  8. java 多线程之:yield() 方法

    yield()介绍 yield()的作用是让步.它能让当前线程由"运行状态"进入到"就绪状态",从而让其它具有相同优先级的等待线程获取执行权:但是,并不能保证在 ...

  9. Entity创建一对一关系

    Area类 public virtual User User { get; set; } User类 public virtual Area Area { get; set; } Context类 m ...

  10. qt 中文乱码

    首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确赋给QString. 很简单的问题,"我是中文&q ...