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

[经验分享] SVN篇之Windows XP+apache+SVN配置及权限管理

[复制链接]

尚未签到

发表于 2015-11-13 14:38:00 | 显示全部楼层 |阅读模式
  配置Apache
1.         在windows下安装Apache http server(apache_2.0.55-win32-x86-no_ssl.msi)
  运行Apache http server(apache_2.0.55-win32-x86-no_ssl.msi)安装程序,出现如下界面:
  
2.         出现Apache HTTP Server 2.0.55的安装向导界面,点“Next”继续:
  
3.         确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续:
  
4.         将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续
  
5.         设置系统信息,在Network Domain下填入您的域名(比如:goodwaiter.com),在Server Name下填入您的服务器名称(比如:www.goodwaiter.com,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:yinpeng@xinhuanet.com),上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。
  我在此以自己的机器为服务器设置network Domain(127.0.0.1),Server Name(127.0.0.1),port选择第一项设置为80(注意:如果你装了IIS需要将IIS的端口设置成非80端口或者选择apache端口为8080端口)一般选择如图所示。按“Next”继续。
  
6.         选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom,有更多可选项。按“Next”继续
  
7.         出现选择安装选项界面,如图所示,左键点选“Apache HTTP Server 2.0.55”,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选“Change...”,手动指定安装目录。
  
我这里选择安装在“D:/Apache”,各位自行选取了,一般建议不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把Apache配置文件也清除了。选“OK”继续。
  
返回刚才的界面,选“Next”继续。
  
8.         确认安装选项无误,如果您认为要再检查一遍,可以点“Back”一步步返回检查。点“Install”开始按前面设定的安装选项安装。
  
9.         正在安装界面,请耐心等待,直到出现下面的画面。
  
10.     安装向导成功完成,这时右下角状态栏应该出现了下面的这个绿色图标,表示Apache服务已经开始运行,按“Finish”结束Apache的软件安装
  
11.     我们来熟悉一下这个图标,很方便的,在图标上左键单击,出现如下界面,有“Start(启动)”、“Stop(停止)”、“Restart(重启动)”三个选项,可以很方便的对安装的Apache服务器进行上述操作。
  
12.     好了现在我们来测试一下按默认配置运行的网站界面,在IE地址栏打“http://127.0.0.1”,点“转到”,就可以看到如下页面,表示Apache服务器已安装成功。
  
现在开始配置Apache服务器,使它更好的替我们服务,事实上,如果不配置,你的安装目录下的Apache2/htdocs文件夹就是网站的默认根目录,在里面放入文件就可以了。这里我们还是要配置一下,有什么问题或修改,配置始终是要会的,如图所示,“开始”、“所有程序”、“Apache HTTP Server 2.0.55”、“Configure Apache Server”、“Edit the Apache httpd conf Configuration file”,点击打开。
  
XP的记事本有了些小变化,很实用的一个功能就是可以看到文件内容的行、列位置,按下图所示,点“查看”,勾选“状态栏”,界面右下角就多了个标记,“Ln 78, Col 10”就表示“行 78,列 10”,这样可以迅速的在文件中定位,方便解说。当然,你也可以通过“编辑”,“查找”输入关键字来快速定位。每次配置文件的改变,保存后,必须在 Apache服务器重启动后生效,可以用前面讲的小图标方便的控制服务器随时“重启动”。
  
现在正式开始配置Apache服务器,“Ln 228”,或者查找关键字“DocumentRoot”(也就是网站根目录),找到如下图所示地方,然后将""内的地址改成你的网站根目录,地址格式请照图上的写,主要是一般文件地址的“/”在Apache里要改成“/”。
  
“Ln 253”,同样,你也可以通过查找“<DIRECTORY”来定位,以后不再说明,将""内的地址改成跟DOCUMENTROOT的一样。< P>
  
“Ln321”,DirectoryIndex(目录索引,也就是在仅指定目录的情况下,默认显示的文件名),可以添加很多,系统会根据从左至右的顺序来优先显示,以单个半角空格隔开,比如有些网站的首页是index.htm,就在光标那里加上“index.htm ”文件名是任意的,不一定非得“index.html”,比如“test.php”等,都可以。
  
这里有一个选择配置选项,以前可能要配置,现在好像修正过来了,不用配置了,就是强制所有输出文件的语言编码,html文件里有语言标记(,这个就是设定文档语言为gb2312)的也会强制转换。如果打开的网页出现乱码,请先检查网页内有没有上述 html语言标记,如果没有,添加上去就能正常显示了。把“# DefaultLanguage nl”前面的“# ”去掉,把“nl”改成你要强制输出的语言,中文是“zh-cn”,保存,关闭。
  
好了,简单的Apache配置就到此结束了,现在利用先前的小图标重启动,所有的配置就生效了,你的网站就成了一个网站服务器,如果你加载了防火墙,请打开80或8080端口,或者允许Apache程序访问网络,否则别人不能访问。如果你有公网IP(一般ADSL或电话拨号上网的都是),就可以邀请所有能上网的朋友访问使用http://你的IP地址(IP地址查询可访问http://www.goodwaiter.com,查询内容内即是)你的网站了;如果你没有公网IP,也可以把内网IP地址告诉局域网内的其它用户,让他们通过http://你的内网IP地址,访问你的网站。
  配置Subversion
Subversion有两种运行方式,一种是基于Apache Http Server,另外一种是Subversion Standalone Server。下面我讲解的是基于Apache Http Server的Subversion,这样做几个好处:A.能使用WebDAV协议。B.能使用浏览器作为客户端工具浏览源码仓库。C.可以很容易的支持到SSPI(Windows域认证)和LDAP(AD?),这些都是Apache本身就支持的。D.能得到比较完善的Apache安全认证系统,比如SSL加密连接。
  1.         安装Subversion(svn-1.2.3-setup.exe)安装路径为:D:/Subversion下
  2.         检查d:/apache/apache2/modules下是不是已经有了mod_dav_svn.so和mod_authz_svn.so,libdb42.dll这3个文件,如果没有,从D:/Subversion/bin下复制这3个到d:/apache/apache2/modules。如图:
  
3.         搜索d:/apache/apache2/conf/httpd.conf配置文件中的
  LoadModule dav_svn_module "d:/Subversion/bin/mod_dav_svn.so"
  LoadModule authz_svn_module "d:/Subversion/bin/mod_authz_svn.so"
  LoadModule dav_fs_module modules/mod_dav_fs.so
  把前面的注释#去掉,如图:
  
注意:
  请先安装Apache,然后再安装Subversion,在安装Subversion过程中它会自动拷贝相应文件到相应目录中,并且修改http.conf文件,然后重新启动apache服务使修改生效。但是我发现现在这个版本的Subversion安装文件可能有个bug,apache的http.conf的配置文件中#LoadModule dav_fs_module modules/mod_dav_fs.so注释没有去掉,所以大家还是小心检查一下。如果你是先安装的Subversion,然后再安装的Apache的,那么上述的步骤一个也不能漏,都需要自己手动完成。
  4.         打开d:/apache/apache2/conf/httpd.conf配置文件在末尾处加入以下参数:
  <Location /svn>
  DAV svn #指定以SVN访问
  SVNPath d:/svndata/test #指定根目录位置,此时只要输入http://127.0.0.1/svn就可以直接访问
  AuthType Basic
  AuthName "Windy SVN"
  AuthUserFile d:/svndata/test/passwd #指定用户认证的文件位置
  AuthzSVNAccessFile d:/svndata/test/conf/authz #指定授权认真的文件位置
  Require valid-user
  </Location>
  5.         建立仓库
打开CMD命令行界面,"开始" -> "运行" -> "cmd" -> "回车"
C:/Documents and Settings/administrator> d:   //进入D盘(因为我们要在D盘下创建仓库)
D:/> md svndata   //创建一个名叫svndata的目录
D:/> cd D:/Subversion/bin //进入subversion/bin目录
D:/Subversion/bin > svnadmin create d:/svndata/test   //用svnadmin命令创建名为test的仓库(这条命令成功后,在test下会出现很多文件夹和文件)
  D:/Subversion/bin >cd/ //退出到D盘根目录
D:/> cd D:/Apache/Apache2/bin   //进入apache/bin目录
  创建用户
  l 使用MD5加密,创建用户和passwd文件(passwd由apache中的htpasswd创建)
D:/ /Apache/Apache2/bin > htpasswd -cm d:/svndata/test/passwd user1   //用htpasswd命令创建第一个用户(user1),同时生成密码认证文件,c参数为create,m参数为MD5加密方式
New password: ******
Re-type new password: ******
Adding password for user user1   //加入用户成功
C:/Program Files/Apache Group/Apache2/bin> htpasswd -m d:/svndata/test/passwd user2   //用htpasswd命令创建第二个用户(user2),注意如果在这时加入c参数会覆盖掉之前创建的用户及文件。
New password: ******
Re-type new password: ******
Adding password for user user2   //加入用户成功
  l 直接在apache配置文件中指定passwd用户认证文件(passwd可以事先在passwd中创建)
  打开d:/apache/apache2/conf/httpd.conf配置文件在末尾处修改以下参数:
  <Location /svn>
  DAV svn
  SVNPath d:/svndata/test
  AuthType Basic
  AuthName "Windy SVN"
  AuthUserFile d:/svndata/test/conf/passwd
  AuthzSVNAccessFile d:/svndata/test/conf/authz
  Require valid-user
  </Location>
重新启动apache,进行测试。
用IE打开http://localhost/svn,这时应该可以看到
  Subversion权限管理配置
以前面的配置为标准引用一个实际的例子:
  厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计、销售,并在北京、上海各设立了一个办事处。对于工作日志,原先采用邮件方式发给经理,但是这种方式有个缺点,那就是不具备连续性,要看以前的日志必须一封一封邮件去查看,很麻烦。于是就想到利用 Subversion, 让员工在自己电脑上编辑日志,然后利用svn传送回来,既方便员工自己编写日志,又方便对日志的归档处理,而且提交日志的时候只需要执行一下 svn commit 即可,比发送邮件还要简单的多。
  部门文档的目录结构如下::
  test                部门名称
    ├─diary           工作日志目录
    │ ├─headquarters    总部工作日志目录
    │ ├─beijing         北京办日志目录
    │ └─shanghai        上海办日志目录
    ├─ref             公司公共文件参考目录
    └─temp            临时文件目录
  人员情况
  - morson,公司总经理,不习惯使用电脑,更喜欢传统的纸与笔,以及面对面的交流
- michael,arm事业部的部门经理,没事的时候喜欢弄点儿新技术,用svn来管理日志,就是他想出来的主意
- scofield,北京办人员,老员工,为人油滑难管
- lincon,上海办人员,老员工,大老实人一个
- linda,总部协调员、秘书,文笔不错,长得也不错
- rory,单片机技术员,技术支持
  访问权限需求分析
  - 允许总经理、部门经理读取所有文件。顺便给他们开放写权限,以便体现对他们职位的尊重,虽然对于某些文件来说,他们若拥有“写”权限其实也没什么用处
- 除部门经理外,所有其他人员,均只能看到本办事处人员工作日志
- 不允许匿名访问
- ref目录只允许经理和秘书读写,对其他人只读
- temp目录人人都可以随意读写
  在服务器端d:/svndata/test/conf配置svnserve.conf
  [general]
    password-db = passwd.conf
    anon-access = none
    auth-access = write
    authz-db = authz.conf
在服务器端d:/svndata/test/conf配置passwd.conf进行用户创建
  [users]
    morson = ShowMeTheMoney
    michael = mysecretpassword
    scofield = hellolittilekiller
    lincon = asyouknows111
    rory = 8809117
    linda = IlikeWorldCup2006
在服务器端d:/svndata/test/conf配置authz.conf进行用户创建
  [groups]
  g_vip = morson
  g_manager = michael
  g_beijing = scofield
  g_shanghai = lincon
  g_headquarters = rory, linda
  g_docs = linda
  
  [/]
  @g_manager = rw
  * = r
  
  [/diary/headquarters]
  @g_manager = rw
  @g_headquarters = rw
  @g_vip = r
  * =
  
  [/diary/beijing]
  @g_manager = rw
  @g_beijing = rw
  @g_vip = r
  * =
  
  [/diary/shanghai]
  @g_manager = rw
  @g_shanghai = rw
  @g_vip = r
  * =
  
  [/ref]
  @g_manager = rw
  @g_docs = rw
  * = r
  
  [/temp]
  * = rw
  Subversion仓库的访问
这样SVN的配置权限设置完毕,如果你想checkout服务器SVN的文件,你还需要开启svnserver服务
  开启server服务
  运行命令cmd,进入命令提示符中
  C:/Documents and Settings/administrator> d:   //进入D盘(因为我们要在D盘下创建仓库)
D:/> cd D:/Subversion/bin >svnserver –d –r d:/svndata/test //启动svnserver服务
  现在你只需要使用客户端的checkout命令,然后地址栏中输入svn://127.0.0.1/就可以获取服务器SVN的内容
             版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 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-138867-1-1.html 上篇帖子: apache,mysql和php整合 下篇帖子: php+mysql+apache环境搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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