svnserve+ssh服务器Apache+svn服务器创建

简介:

SSH+SVN示例


    这种模式需要提前设置SSH服务,通过SSH服务调用SVN服务程序,所以svnserve不需要手动启动,客户端通过svn+ssh://centos.example.com/svn/project1访问。
    客户端程序通过ssh程序连接版本库主机,使用SSH认证(服务器系统用户名与密码),服务端接到某用户的ssh连接后会以该用户的身份启动svnserve。
    这种模式svnserve.conf还是可以进行权限控制的。
    1. 服务端启动SSH服务
    [root@centos6 ~]# service sshd start
    2. 服务端创建版本库
    [root@centos6 ~]# mkdir /var/svn
    [root@centos6 ~]# svnadmin create /var/svn/project1
    [root@centos6 ~]# svn import /shells  file:///var/svn/project1 -m "Initial DATA"
    3. 客户端访问效果如图:
    1)通过TortoiseSVN图形工具访问:

    2)通过命令行访问(一台rhel6.2系统)



Apache+SVN



    Apache是非常流行的Web服务器软件。它可以运行在几乎所有的计算机平台上。通过Apache发布Subversion的版本库,使得用户可以通过HTTP协议访问版本库。
    以下为使用Apache发布Subversion版本库的若干理由:
    1.Subversion可以使用Apache自身集成的多种认证方式。
    2.不需要创建系统用户。
    3.完善的Apache日志可。
    4.可以通过SSL加密网络传输的数据。
    5.HTTP(S)可以穿越企业防火墙。
    6.坚定地通过浏览器访问版本库。
    准备工作:安装Apache,加载mod_dav及mod_dav_svn模块,Apache需要这两个模块管理Subversion版本库。
    本文以yum方式安装这些软件,环境为CentOS6.2。
    [root@centos6 ~]# yum -y install httpd
    [root@centos6 ~]# yum -y install mod_dav_svn
    安装完成后你可以通过以下方法查看dav模块是否加载成功:
    vim /etc/httpd/conf/httpd.conf
    查看是否包含LoadModule dav_module modules/mod_dav.so
    vim /etc/httpd/conf.d/subversion.conf
    查看是否包含LoadModule dav_svn_module modules/mod_dav_svn.so
    如果你还需要Subversion自带的基于目录的权限控制的话,可以通过加载mod_authz_svn实现。
    接下来通过修改Apache配置文件实现网络化版本库:
    root@centos6 ~]# mkdir /var/svn
    [root@centos6 ~]# svnadmin create /var/svn/project1
    [root@centos6 ~]# svn import /shells  file:///var/svn/project1 -m "Initial DATA"
    [root@centos6 ~]# vim /etc/httpd/conf.d/subversion.conf

 
  1. LoadModule dav_svn_module     modules/mod_dav_svn.so     //加载模块 

  2. LoadModule authz_svn_module   modules/mod_authz_svn.so   //加载模块 

  3.  

  4. #                                                        //#符号开头的为注释行 

  5. #   a) readable and writable by the 'apache' user, and 

  6. #   //默认Apache启动用户为apache,所以需要apache用户对版本库有读写权限

  7. #   b) labelled with the 'httpd_sys_content_t' context if using 

  8. #   SELinux 

  9. #   //如果开启了SELinux版本库需要有httpd_sys_content_t这样的安全上下文

  10. # To create a new repository "http://localhost/repos/stuff" using 

  11. # this configuration, run as root: 

  12. #   # cd /var/www/svn 

  13. #   # svnadmin create stuff   

  14. #   # chown -R apache.apache stuff 

  15. #   # chcon -R -t httpd_sys_content_t stuff     //以上注释行是配置文档提供的操作示例 

  16.                                                 //注意我们的版本库在/var/svn目录下 

  17.  

  18. <Location /svn>                         //Location可以根据特定的URL执行特定的处理 

  19. //这里当用户的RUL以/svn开始时,将控制权交于DAV处理(http://hostname/svn/...) 

  20.    DAV svn 

  21.    SVNParentPath /var/svn               //通过SVNParentPath指定所有版本库的主目录(发布所有版本库) 

  22.                                         //也可以通过SVNPath指定某个特定版本库的路径(发布特定版本库) 

  23.       AuthType Basic                    //认证方式 

  24.       AuthName "Please Input passwod"   //提示字符 

  25.       AuthUserFile /var/svn/.pass       //帐号文件的路径,为了安全隐藏该文件 

  26.       Require valid-user                //指定仅有效用户可以访问 

  27. </Location> 

    [root@centos6 ~]# chown -R apache.apache  /var/svn/                //修改权限
    [root@centos6 ~]# chcon -R -t httpd_sys_content_t  /var/svn   //仅在SELinux开启时使用
    [root@centos6 ~]# htpasswd -c /var/svn/.pass  jerry        //创建帐号文件,并添加用户jerry
    [root@centos6 ~]# service httpd start
    客户端访问效果如图:











本文转自super李导51CTO博客,原文链接:http://blog.51cto.com/superleedo/1888843 ,如需转载请自行联系原作者


相关文章
|
27天前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
27天前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
19天前
|
数据库连接 Apache Java
【独家揭秘】图书管理系统的奇幻之旅:一文看透Apache Wicket如何从想法萌芽到服务器上翩翩起舞?
【8月更文挑战第31天】本文通过实战案例,详细介绍从概念到部署的Apache Wicket应用开发全流程。以在线图书管理系统为例,涵盖应用概念定义、项目创建、架构设计、首页编写、数据库交互及应用部署等关键步骤。通过Maven或Gradle引入Wicket依赖,设计包结构,并使用JPA或Hibernate处理数据持久化。最终,将应用配置并部署到Tomcat或Jetty服务器,帮助你全面掌握Wicket开发技巧。
27 0
|
21天前
|
网络安全 数据安全/隐私保护
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
VSC通过 SSH 连接到远程服务器时,每次都需要输入密码
110 0
|
27天前
|
监控 Linux 测试技术
|
27天前
|
监控 安全 网络安全
如何保护 Apache 服务器的安全
【8月更文挑战第23天】
43 0
|
27天前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?
|
9天前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
7天前
|
编解码 前端开发 安全
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
在我们选购阿里云服务器的过程中,不管是新用户还是老用户通常都是通过阿里云的活动去买了,一是价格更加实惠,二是活动中的云服务器配置比较丰富,足可以满足大部分用户的需求,但是面对琳琅满目的云服务器实例、带宽和云盘选项,如何选择更适合自己,成为许多用户比较关注的问题。本文将介绍如何在阿里云的活动中选择合适的云服务器实例、带宽和云盘,以供参考和选择。
通过阿里云的活动购买云服务器时如何选择实例、带宽、云盘
|
5天前
|
弹性计算 运维 安全
阿里云轻量应用服务器和经济型e实例区别及选择参考
目前在阿里云的活动中,轻量应用服务器2核2G3M带宽价格为82元1年,2核2G3M带宽的经济型e实例云服务器价格99元1年,对于云服务器配置和性能要求不是很高的阿里云用户来说,这两款服务器配置和价格都差不多,阿里云轻量应用服务器和ECS云服务器让用户二选一,很多用户不清楚如何选择,本文来说说轻量应用服务器和经济型e实例的区别及选择参考。
阿里云轻量应用服务器和经济型e实例区别及选择参考

推荐镜像

更多