设为首页 收藏本站
查看: 806|回复: 0

[经验分享] svn+apache集成环境配置

[复制链接]

尚未签到

发表于 2017-1-2 10:27:57 | 显示全部楼层 |阅读模式
Subversion是一个自由,开源的版本控制系统。在Subversion的管理下,每一次文件的修改都会被记录在版本库中,可以方便的查看文件的修改历史,修改的一些信息,方便的恢复到修改前

<wbr></wbr>

的任意状态。

<wbr></wbr>

搭建环境:win XP SP3+ Apache2.2.2 + svn1.7.5

<wbr></wbr>

svn官网:http://subversion.apache.org/packages.html

http://subversion.apache.org/docs/下载说明文档

根据需要下载对应版本,以win32为例。

<wbr></wbr>

1. http://sourceforge.net/projects/win32svn/files/1.7.5/

<wbr></wbr>

<wbr></wbr>下载Setup-Subversion-1.7.5.msi安装svn服务器,svn可以单独运行,也可以集成Apache服务器。
<wbr></wbr>
<wbr></wbr>下载TortoiseSVN客户端,在win系统上,可以方便的与svn配合使用。

<wbr>TortoiseSVN</wbr>下载:http://tortoisesvn.net/downloads.html

<wbr></wbr>

客户端安装完成后,右键菜单:

DSC0000.jpg




首先创建版本库:

将svn的Subversion\bin所在目录添加到Path环境变量里面

svnadmin create F:\test

可以直接建立空文件夹,然后右键创建版本库



<wbr></wbr> DSC0001.jpg


默认生成的目录结构

在conf更改默认配置

svnserve.conf

<wbr></wbr>

anon-access匿名用户的访问权限

auth-access认证用户的访问权限

<wbr></wbr>

值可以为

write可读写

read<wbr></wbr>只读

none拒绝访问

<wbr></wbr>

password-db = passwd配置用户信息

默认使用当前目录下的passwd文件保存,可以更改为其它路径

authz-db = authz配置用户权限

默认使用当前目录下的authz文件保存,可以更改为其它路径

realm = My First Repository版本库标示,默认为UUID

force-username-case = none是否忽略用户名的大小写默认为none

use-sasl = true是否启用Cyrus SASL验证库,默认值是false

<wbr></wbr>

min-encryption = 0

# max-encryption = 256

这些选项指定安全层SASL所需的强度

0表示不加密,1表示只检查完整性

值大于1。(例如:128表示128位有效密钥长度

###加密)。

passwd保存用户信息

admin = admin账号和密码为admin

开启svn服务,启动后dos框如果关闭,服务就停止。可以写入win服务

<wbr></wbr>

svnserve -d -r F:\test1

DSC0002.jpg



浏览版本库,会出现上面认证框。输入配置好的用户如admin,会提示认证失败。

还需要配置authz,添加对应的权限

默认的目录结构

[aliases]

# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

<wbr></wbr>

# [/foo/bar]

# harry = rw

# &joe = r

# * =

<wbr></wbr>

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

<wbr></wbr>

[groups]用户组

manager = admin,test

user = user

[/]<wbr></wbr>

@manager = rw

user = r

*=

@manager表示manager用户组下面的所有用户都有读写根目录下文件的权限

user = r表示user用户有只读权限

*=表示除了上述用户和拥护者外,其它人无任何权限

<wbr></wbr>

<wbr></wbr>

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

同上,配置目录下面文件的详细权限

<wbr></wbr>

svn + Apache集成

<wbr></wbr>

1.<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>Apache下载http://httpd.apache.org/download.cgi<wbr><wbr></wbr></wbr>
httpd-2.2.22-win32-x86-openssl-0.9.8t.msi本文下载版本

具体安装请度娘和谷哥

<wbr></wbr>

2.<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>配置httpd.conf
打开Apache的安装目录Apache2.2\conf\httpd.conf文件

去掉

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<wbr></wbr>

LoadModule authz_svn_module modules/mod_authz_svn.so

3.<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>配置虚拟路径
#/cncit<wbr></wbr>访问svn虚拟库名称,可以随意配置

<Location /cncit><wbr></wbr>

#引用远程访问模块#<wbr></wbr>

DAV svn<wbr></wbr>

# SVNPath项目版本库路径#<wbr></wbr>

SVNPath F:/cncit<wbr><wbr></wbr></wbr>

</Location>

4.<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>找到Subversion服务器安装目录
将\Subversion\bin目录下mod_dav_svn.so<wbr>mod_authz_svn.so</wbr>复制到

Apache2.2\modules目录下

然后重启Apache服务器

<wbr></wbr> DSC0003.jpg



在浏览器输入对应地址,就可以访问了。

(apache默认监听端口为Listen 80,但端口可能被占用。修改为适合的端口)

<wbr></wbr>

以上配置所以匿名用户都可以访问并任意修改源代码

<wbr></wbr>

5.<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>添加http认证
基于http的认证,使用用户名和密码来验证一个用户。Apache提供了一个htpasswd工具来管理一个用户认证文件,这个文件包含用户名和加密后的密码,然后就可以控制用户的访问。htpasswd可以在Apache的bin安装目录下找到。

<wbr><wbr><wbr>Htpasswd</wbr></wbr></wbr>用法

D:\Apache2.2\bin>htpasswd

Usage:

<wbr><wbr><wbr><wbr><wbr><wbr><wbr>htpasswd [-cmdpsD] passwordfile username</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr>htpasswd -b[cmdpsD] passwordfile username password</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr>htpasswd -n[mdps] username</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr>htpasswd -nb[mdps] username password</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr>-c<wbr>Create a new file.</wbr></wbr>

<wbr>-n<wbr>Don't update file; display results on stdout.</wbr></wbr>

<wbr>-m<wbr>Force MD5 encryption of the password (default).</wbr></wbr>

<wbr>-d<wbr>Force CRYPT encryption of the password.</wbr></wbr>

<wbr>-p<wbr>Do not encrypt the password (plaintext).</wbr></wbr>

<wbr>-s<wbr>Force SHA encryption of the password.</wbr></wbr>

<wbr>-b<wbr>Use the password from the command line rather than prompting for it.</wbr></wbr>

<wbr>-D<wbr>Delete the specified user.</wbr></wbr>

On other systems than Windows, NetWare and TPF the '-p' flag will probably not work.

The SHA algorithm does not use a salt and is less secure than the MD5 algorithm.

<wbr></wbr>


<wbr></wbr> DSC0004.jpg


<wbr></wbr>

创建用户文件:

<wbr>D:\Apache2.2\bin&gt;htpasswd -cb pswd zyq zyq</wbr>

Adding password for user zyq

D:\Apache2.2\bin>

<wbr></wbr>

创建一个pswd的验证文件,并添加一个zyq用户

<wbr></wbr>

D:\Apache2.2\bin>htpasswd -b pswd test test

Adding password for user test

D:\Apache2.2\bin>

添加用户一个新的用户

<wbr></wbr>

修改httpd.conf,在Location标签中加入如下内容:

AuthType Basic

AuthName "cncit"

AuthUserFile D:/Apache2.2/bin/pswd

Require valid-user

<wbr></wbr>

说明:

AuthType Basic:启用基本的验证,比如用户名/密码对。

AuthName "cncit":当一个认证对话框弹出时,出现在认证对话框中的信息。(最好用英文,TortoiseSVN不支持中文,安装语言包除外。)

AuthUserFile D:/Apache2.2/bin/pswd指定D:/Apache2.2/bin/pswd为用户文件,用来验证用户的用户名及密码。

Require valid-user:限定用户只有输入正确的用户名及密码后才能访问这个路径

配置完成的Location标签

<Location /cncit><wbr></wbr>

<wbr></wbr>

DAV svn<wbr></wbr>

<wbr></wbr>

SVNPath F:/cncit<wbr></wbr>

<wbr></wbr>

AuthType Basic

<wbr></wbr>

AuthName "cncit"

<wbr></wbr>

AuthUserFile D:/Apache2.2/bin/pswd

<wbr></wbr>

Require valid-user

<wbr></wbr>

</Location>

<wbr></wbr>

重启Apache服务,然后访问版本库,


<wbr></wbr> DSC0005.jpg


输入配置的用户信息,就可以访问了.

<wbr></wbr>

6.<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>单个版本库和多个版本库的配置
a.单库配置

<wbr></wbr> DSC0006.jpg


<Location /test>

DAV svn

SVNPath F:\test

</Location>

版本库对外的URL是:http://服务器IP/test/,所有的Subversion版本库在物理上位于F:\test目录。

<wbr></wbr>

b.多库配置

<wbr></wbr>

<wbr></wbr> DSC0007.jpg


<Location /svn/>

 DAV svn

 SVNParentPath F:\svn

</Location>

<wbr></wbr>

SVNParentPath F:\svn表示F:\svn下的每个子目录都是一个版本库。可以通过http://服务器IP/svn/pro1/,http://服务器IP/svn/pro2/来访问不同的版本库

<wbr></wbr>

多个版本库使用统一的认证,禁止匿名用户访问

<Location /cncit><wbr><wbr></wbr></wbr>

DAV svn<wbr><wbr></wbr></wbr>

SVNParentPath F:\svn

AuthType Basic

AuthName "cncit"

AuthUserFile D:/Apache2.2/bin/pswd

Require valid-user <wbr></wbr>

</Location>

使用LimitExcept标签,标示匿名用户可以访问,只有认证用户有修改的权限

<Location /cncit><wbr><wbr></wbr></wbr>

DAV svn<wbr><wbr></wbr></wbr>

SVNParentPath F:\svn

AuthType Basic

AuthName "cncit"

<wbr></wbr>

AuthUserFile D:/Apache2.2/bin/pswd <wbr></wbr>

<LimitExcept GET PROPFIND OPTIONS REPORT>

require valid-user

</LimitExcept>

</Location>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-322761-1-1.html 上篇帖子: apache fileupload后台处理方式 下篇帖子: Apache+OPENSSL+Tomcat配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表