SVN与Apache服务器整合

SVN与Apache服务器整合

使用SVN自身的服务协议svn://可以实现客户端与服务端的通讯,但一般仅限于局域网内。若要从外网访问SVN服务器,一般是通过使用http 协议完成的,且服务端所使用的服务器一般为Apache服务器。

Apache服务器

Apache 服务器,确切地说,其名称为Apache Http Server

Apache服务器下载

Apache官网丕提供Apache服务器的二进制运行文件,只提供源码。

可以从 Apache官网查找Apache服务器的二进制文件的推荐下载地址。

修改配置

在httpd.conf文件里

在39行处:
Define SRVROOT "D:/Java/SVN/Apache24"
ServerRoot "${SRVROOT}"


在第290行处:
<IfModule dir_module>
    DirectoryIndex index.html index.htm index.jsp
</IfModule>

常用命令

命令需要在管理员权限的命令行下运行

  • httpd

    • 不带任何参数的该命令,可以启动Apache 服务。但该启动方式的弊端是,当前命令行一直处于等待状态,还不能关闭。一旦关闭,Apache服务停止。一般不使用该方式。
  • httpd -h

  • httpd -k install httpd -k uninstall

    • 将Apache服务器的服务安装为了一个windows服务(默认名称是Apache2.4)。或者卸载
  • httpd -k install -n "Apache-Server"

    • 将Apache服务器的服务安装为了一个windows服务,命名为Apache-Server。名字可以改
  • httpd -k start [-n "Apache-Server"]

    • 启动服务器,默认启动名为Apache2.4的服务器。
  • httpd -k stop|shutdown [-n "Apache-Server"]

    • 停止服务器,默认启动名为Apache2.4的服务器。
  • httpd -k restart [-n "Apache-Server"]

    • 重新启动服务器,默认启动名为Apache2.4的服务器。

Apache服务启动成功测试

在浏览器地址栏中输入http://localhost:80,则在打开的页面中可以看到“lt works”字样,则表示Apache 服务启动成功。

Apache服务器mis版

下载

下载地址:http://archive.apache.org/dist/httpd/binaries/win32/ ---------》 httpd-2.2.25-win32-x86-no_ssl.msi

SVN与Apache服务器整合

这里的SVN不能是Apache-Subversion-1.14.0.zip的版本

需要使用Setup-Subversion-1.8.16.msi版本的才能与Apache服务器整合

下载地址:https://sourceforge.net/projects/win32svn/

步骤

  1. 修改httpd.conf文件

    在Apache服务器目录下的conf目录里

    LoadModule dav_module modules/mod_dav.so
    LoadModule dav_fs_module modules/mod_dav_fs.so
    
    • 打开第84、85行注释解除,用于加载两个so文件。
    • so文件,即 shared 0bject,共享对象文件,是Linux系统下的动态链接库文件,类似于Windows下的.dll文件。
  2. 复制两个so文件

    • SVN服务端安装目录bin下:mod_dav_svn.so mod_authz_svn.so

    • 复制到Apache服务器文件的moduls目录中

  3. 再次修改http.conf文件

    • LoadModule authz_svn_module modules/mod_authz_svn.so
      LoadModule dav_svn_module modules/mod_dav_svn.so
      
    • 在第86、87行,插入上面内容,用于加载刚刚复制来的两个so文件。

  4. 复制dll文件

    • 在SVN服务端安装目录的bin目录下复制下面八个dll文件,复制到Apache服务器目录的bin目录下

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zzOiI3XR-1604842119097)(D:\Java\Java_note\JavaWeb\picture\svn整合1.png)]

      因为刚刚复制的两个so文件的运行还依赖于这8个dll文件。

  5. 运行htpasswd命令

    • 这是Apache服务器的命令,用于为SVN用户分配访问Apache服务器的用户名与密码。
    • 这个命令需要在管理员权限的命令行运行。
    • htpasswd -h 查询htpasswd命令的帮助
    • htpasswd -cb apachepwd.conf aa 222 在你打开的目录下创建一个apachepwd.conf文件(文件名任意),里面包含创建的用户名和密码(-c 代表创建文件,-b从命令行使用密码,而不提示输入密码。)
    • htpasswd -b apachepwd.conf bb 222 在原先的apachepwd.conf文件下再加上用户名和密码
  6. 将复制用户名密码文件

    • 将刚刚创建的apache.conf文件复制到SVN根仓库的目录conf目录下
  7. 第三次修改httpd.conf文件

    • 在httpd.conf文件里面最后写下面的内容

    • # 指定访问使用的URI
      <location /svn/ems>
      	# 指定远程要访问的模块为SVN
      	DAV svn
      	# 指定SVN根仓库路径
      	SVNPath D:/Java/SVN/repository/ems
      	# 指定SVN授权文件路径
      	AuthzSVNAccessFile D:/Java/SVN/repository/ems/conf/authz
      	# 指定所有用户都需要进行身份验证
      	Satisfy Any
      	Require valid-user
      	# 指定验证方式为基础验证,即密码验证
      	AuthType Basic
      	# 指定项目名称
      	AuthName "ems"
      	# 指定用户密码文件路径
      	AuthUserFile D:/Java/SVN/repository/ems/conf/apachepwd.conf
      </location>
      
  8. 整合成功标志
    配置完毕后,重启Apache服务器,然后在地址栏中输入: http://localhost/svn/ems,可以看到ems - Revision 0:/字样,表示整合成功。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值