安装软件

# 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. Visual Studio 2017 以前的旧格式的 csproj Import 进来的 targets 文件有时不能正确计算属性(PropertyGroup)和集合(ItemGroup)

    我在之前的博客中有教大家如何编写 NuGet 工具包,其中就有编写 .targets 文件. 我在实际的使用中,发现 Visual Studio 2017 带来的含 Sdk 的新 csproj 格式基 ...

  2. JS校验 if (! temp_var) {} //拦截 ''和 undefined

    if (! aaa) {}  //拦截   ' '  和  undefined  和  0 不拦截null

  3. 直接new一个对象出来

  4. leetcode:Path Sum【Python版】

    1.类中递归调用函数需要加self # Definition for a binary tree node # class TreeNode: # def __init__(self, x): # s ...

  5. 在ubuntu中安装luci解决iwinfo.h No such file or directory问题

    问题: src/luci-bwc.c:35:20: fatal error: iwinfo.h: No such file or directorycompilation terminated.mak ...

  6. [C++ Primer] : 第11章: 关联容器

    目录 使用关联容器 关联容器概述 关联容器操作 无序容器 使用关联容器 关联容器与顺序容器有着根本的不同: 关联容器中的元素是按关键字来保存和访问的, 按顺序容器中的元素是按它们在容器中的位置来顺序保 ...

  7. 织梦调用文章 ID (来源:百度知道)

    问:{dede:field.id /} {dede:channel type='son' orderby='sortrank'} <a href='[field:typeurl/]'>&l ...

  8. implicit和 explicit关键字

    implicit 关键字用于声明隐式的用户定义类型转换运算符. 如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换. class Digit { publi ...

  9. FileStream 和StreamWriter 一起用时

    StreamWriter  Flush 即可. FileStream Flush 无用.

  10. git Push failed: Could not read from remote repository 解决方案

    解决的办法很简单,进入Android Studio配置界面,选择Version Control——>Git,在右边界面切换SSH下拉选项为Native,最后重新提交.如果解决你的问题,记得分享哦 ...