Apache + SVN 环境搭建

SVN全名Subversion,即版本控制系统,实现服务系统的软件。

SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。Subversion 是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源码。

SVN的安装和配置

安装:(1)       apache Http Server 2.2.4 。   用于和 SVN 整合

(2)      svn-win32-1.4.5.zip    SVN 服务器端

配置步骤:安装完毕之后就开始了APACHE与SVN的整合配置。

(1),将SVN的bin目录下的扩展名为*.so的文件复制到apache的modoles文件夹下

(2),将SVN的bin 目录下的扩展名为*.dll的文件复制到apache的bin文件夹下

(3),将前面的#去掉(有#即被注释掉了):

    LoadModule dav_module modules/mod_dav.so 

                   LoadModule dav_fs_module modules/mod_dav_fs.so

添加:LoadModule dav_svn_module modules/mod_dav_svn.so

            LoadModule authz_svn_module modules/mod_authz_svn.so

(4),修改apache目录下conf文件中的httpd.conf文件:

Listen  9090   #修改端口号为9090,因为Apache默认安装为80端口,需要关闭IIS避免端口冲突所以我们在安装好之后调整端口。

          ServerAdmin  zzxy@xinyuan.com.cn  #

ServerName  localhost:9090

在最后添加:

<Location /svn>  #其中 /svn就是访问时第一级目录的名字

DAV svn

 SVNParentPath  e:/svn/repository  # SVNParentPath是物理地址

 AuthzSVNAccessFile  e:/svn/authz.conf   #用户权限列表

 AuthType Basic   #访问方式

 AuthName "Subversion.zoneyump"

 AuthUserFile e:/svn/authfile.cfg  #创建用户列表文件,由apache的bin目录下htpasswd程序创建,密码为密文。

 Require valid-user   #设置用户的访问权限为读写均受限制

</Location>

(5),用语句svnadmin create e:/ svn/repository/project1 创建库

(6),重启Apache服务器,使用浏览器打开 http://localhost:9090/svn/project 将会看到要求登录的对话框,输入你刚设置的用户名和口令即可。
这样Apache和SVN的整合就基本完成了

(7),现在在浏览器中输入: http://localhost:9090/svn/project就会出现SVN的库的内容了

(8),Apache提供一个htpasswd工具来管理用户名和口令,现在我们设置用户名为user的用户:htpasswd –c  d:/passwd/passwords  user

      控制台会提示输入密码的。

第一次不存在passwd文件时用参数c,以后用户的创建就可以用m或者是p了。

htpasswd用法(htpasswd -?):

-c  Create a new file.

 -n  Don't update file; display results on stdout.

 -m  Force MD5 encryption of the password (default).

 -d  Force CRYPT encryption of the password.

 -p  Do not encrypt the password (plaintext).

 -s  Force SHA encryption of the password.

 -b  Use the password from the command line rather than prompting for it.

 -D  Delete the specified user.

On Windows, NetWare and TPF systems the '-m' flag is used by default.

On all other systems, the '-p' flag will probably not work.

用-c必须是在建立文件时候使用,且密码为密文,当在有文件后继续使用时原来的用户信息将全部丢失,相当于重新建立了用户信息列表。在已经建立了文件之后使用-m/p时,列表中出现的密码将是明文。如果在建立文件之后仍然想在列表中建立密码为密文的用户时直接使用:

htpasswd  d:/passwd/passwords  user

(9),设置用户权限,可以直接修改权限列表文件,格式为:

[groups]

m-dev = kxlele, yangle, renyuan,lulifang

o-dev = zhangjunwang, luoyuehua, zhiyanfeng

readonly = user, test

everyone = @m-dev, @o-dev

 

[/]

@everyone = r

@readonly = rw

 

 

[project:/]

@everyone = r

@readonly = r

 

 

[project1:/]

@m-dev = rw

@readonly = r

后记:svn远程控制用户名及密码的修改方法:将附件中的apchepasswd.cgi以及apchepasswd.cgi.ini配置文件放入apache根目录下的cgi-bin目录中。修改apchepasswd.cgi.ini中的usersfile文件,改为配置中的路径。运行:http://localhost:9090/cgi-bin/apachepasswd.cgi就可以看到修改密码的页面了。

 ApacehPasswd就是用来修改上面配置中的C:/SVN_repos/passwd这个文件的
  使用方法:
  1将文件ApachePasswd.cgi及ApacehPasswd.cgi.ini复制到Apache的CGI脚本目录下,通常是cgi-bin目录。
  2确保cgi-bin目录可以运行cgi脚本
  3修改配置文件ApachePasswd.cgi.ini中authuserfile路径,如下
[path]
authuserfile=这里改为你的Subversion所用的authuserfile全路径,如e:/SVN/passwd
  4现在访问你服务器的http://localhost:9090/cgi-bin/ApachePasswd.cgi就可以看到修改subversion密码的界面了。
备注:
1配置文件可用的配置项
[path]
authuserfile=这里改为你的Subversion所用的authuserfile全路径,如C:/SVN_repos/passwd
日志文件名
logfile=svnpass.log
[setup]
passminlen=1
[html]
title=修改SubVersion密码
description=修改SubVersion密码
yourname = 用户名
oldpasswd = 旧密码
newpasswd1 = 新密码
newpasswd2 = 验证新密码
btn_change = 修 改
btn_reset = 重 置

changepassok=成功修改密码
changepassfailed=修改密码失败
oldpasserror=旧密码错误
servererror=服务器错误
passmustgreater=密码位数必须大于
twopassnotmatched=两密码不一致
entername=请输入用户名
back=返回
2我一般用时都是将ApachePasswd.cgi改名为svnpass,这样用户修改密码时可以少打些字,
如访问http://193.193.193.242:9090/cgi-bin/svnpass就可以修改密码了,
当改名为svnpass时,配置文件ApachePasswd.cgi.ini要相应地改为svnpass.ini,因为这个脚本是根据自己的文件名找配置文件的.

问题:运行CGI文件时报错原因:

将ApachePasswd.cgi改名为ApachePasswd.exe后系统提示缺少几个dll文件,把Apache2.0中bin的几个dll文件复制倒Apache 2.2.4 的cgi-bin目录下就可以解决了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ApachePasswd说明   这是一个用于修改Apache中AuthUserFile的工具,编写时主要是为了远程修改基于Apache配置的Subversion的用户密码。   目前提供for apache2.0版本及for apache2.2版本。   当Subversion配置成作为Apache的一个模块运行时,在httpd.conf中可能是类似这下面这样的语句:    <Location /svn> DAV svn SVNParentPath C:\SVN_repos AuthType Basic AuthName "Subversion repositories" AuthUserFile C:\SVN_repos\passwd AuthzSVNAccessFile C:\SVN_repos\access.conf Require valid-user </Location>   ApacehPasswd就是用来修改上面配置中的C:\SVN_repos\passwd这个文件的   使用方法:   1将文件Apache2xPasswd.cgiApache2xPasswd.cgi.ini复制到ApacheCGI脚本目录下,通常是cgi -bin目录。(这句话中的x请用相应的版本代替,如for apache2.0,则为Apache20Passwd.cgi)   2如果是for apache2.2版本,复制apache的bin目录下libapr-1.dll、libapriconv-1.dll、libaprutil-1.dll到Apache2xPasswd.cgi所在的目录   3修改配置文件Apache2xPasswd.cgi.ini中auth_user_file路径,如下 [path] auth_user_file=这里改为你的Subversion所用的AuthUserFile全路径,如C:\SVN_repos\passwd   4现在访问你服务器的http://localhost/cgi-bin/Apache2xPasswd.cgi就可以看到修改subversion密码的界面了。 备注: 1配置文件可用的配置项 [path] auth_user_file=这里改为你的Subversion所用的AuthUserFile全路径,如C:\SVN_repos\passwd 日志文件名 log_file=svnpass.log [setup] password_min_length=1 [html] title=修改SubVersion密码 description=修改SubVersion密码 your_name = 用户名 old_password = 旧密码 new_password1 = 新密码 new_password2 = 验证新密码 btn_change = 修 改 btn_reset = 重 置 change_password_ok=成功修改密码 change_password_failed=修改密码失败 old_password_error=旧密码错误 server_error=服务器错误 password_must_greater=密码位数必须大于 two_password_not_matched=两密码不一致 please_enter_name=请输入用户名 back=返回 2我一般用时都是将Apache2xPasswd.cgi改名为svnpass,这样用户修改密码时可以少打些字, 如访问http://192.168.0.1/cgi-bin/svnpass就可以修改密码了, 当改名为svnpass时,配置文件Apache2xPasswd.cgi.ini要相应地改为svnpass.ini,因为这个脚本是根据自己的文件名找配置文件的

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值