2022年Apache+SVN服务器环境搭建 .pdf
Apache和 Subversion集成安装与配置因为工作需要,要架设一个Subversion 和 Apache 一起工作的源码管理器.以便协同工作.于是网上找了一些资料,在找资料的过程中,也走了一些弯路,于是自己整理了一下安装的过程和一些注意的事项,希望能对大家有些帮助.我这里用的IDE是 netbeans6.0,其实用什么IDE都无所谓,只是 netbeans 一直是我喜欢的IDE,所以顺便向大家推荐一下.呵呵.好了,言归正传吧,要准备的东西如下:1,apache_2.0.63-win32-x86-no_ssl.msi 下载:http:/ 2,svn-1.4.5-setup.exe 下载地址:http:/subversion.tigris.org/files/documents/15/39559/svn-1.4.5-setup.exe 当然,你也可以选择安装TortoiseSVN.但是我没有装,因为我的源码管理都是用netbeans 完成的.好了,准备的两个软件都下载下来以后,就可以开始安装了.首先安装apache,一般来说直接点下一步就可以了,在设置domain 以及 host 的时候,设置为localhost 就可以了,Email你可以填你自己的Email,也可以随便填一个.安装 apache要注意的是,你的电脑上80 端口不能被占用,否则你的http 服务是启动不起来的,我就遇到过这事,因为我用了 skype,它在本机上打开了80 和 443 端口来监听,搞得我一开始装不好,总是启动不起来,后来才发现是skype占用了 80 端口,于是把 skype 的设置改了以后,重装 apache 才成功.装好apache 以后,这个时候,它已经在运行了,你可以在浏览器的地址栏输入http:/localhost看看,是否安装成功,如果安装成功的话,这个时候浏览器里面应该是可以看到一个页面的.然后,再安装svn-1.4.5-setup.exe,也很简单,一步一步点下步就可以了,在安装的过程中,它会默认选中一些选项,其中就有一个是是否对apache 的 HTTP服务器提供支持的选项,这个默认是勾上的,不要去反选它,其它的你可以反选掉.然后 svn 就宣布安装成功了.你可以到CMD 下面去试一下svn 这个命令,如果有输出,则说明安装成功了,如果提示svn 不是内部或外部命令,也不是可运行的程序或批处理文件。那就说明没有装好.或者没有把这个命令加入到path 中,所以最好的办法是到svn 的安装目录下的bin 里面去看一下.两者都装好了以后,就开始配置,当然,配置也是最重要的.首先要建立一个数据仓库,我们假设建在E盘,数据仓库最好不要建在C盘,因为 C盘重装系统以后就格了.我们先在E盘下面建立一个目录叫svnroot,然后在 svnroot 下面再建立一个我们专门放我们工程的目录,比如叫MyProject.于是我们在E 盘下面就有了这个一个文件夹:E:svnrootMyProject,然后我们用svnadmin 的命令,使这个文件夹变成我们的数据仓库,命令如下:svnadmin create E:svnrootMyProject 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -如果运行成功的话,什么也没有输出,这个时候,我们再来到MyProject 文件夹下面,我们会发现多了几个文件夹和文件,我们打开conf 文件夹,然后再打开svnserve.conf 文件,找到如下行#password-db=passwd,然后把它前面的#去掉,表示 MyProject 是需要密码验证的.但是我们密码设在哪里呢,这个时候我们再打开conf 文件夹下面的passwd 文件,用文本编辑器打开,在users下面加上我们需要启动的人员的用户和密码,比如users hadeslee=hadeslee1234 tom=123456 这个的话,我们就启动了两个用户,一个叫hadeslee,密码是hadeslee1234,一个叫tom,密码是123456.然后我们保存passwd 文件.然后,我们再建一个文件,叫 access.auth,这个文件是设置访问权限的,里面内容如下:MyProject:/hadeslee=rw MyProject:/module1 tom=rw hadeslee=rw 这表示,MyProject 下面的所有子目录hadeslee 都是有权限读写的,但是 tom 只有权限读写此项目下面的module1 目录,这个各自的访问权限就分的更细致了.有关于 MyProject 文件夹下面的设置,我们就告一段落了,我们现在开始设置apache,使它能和subvertion 一起工作.首先来到Subersion 的安装目录,进入它的bin 目录,我们会发现如下两个文件:mod_authz_svn.so mod_dav_svn.so 我们把这两个文件复制一下,粘帖到 apache的安装目录下的modules 文件中,然后我们再打开apache 安装目录下的conf 文件夹,打开 httpd.conf 文件.增加如下两行:LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so 注意,由于dav_svn 需要 dav_module 的支持,所以要确保下面这一行没有被注释,并且保证在 dav_svn 之前加载:LoadModule dav_module modules/mod_dav.so 然后模块的设置就完成了,下面我们要设置SVN 的目录,以使我们的apache 能知道访问不同的 URL的时候,它去哪里寻找这个URL所对应的SVN目录.在 httpd.conf 文件中,增加如下内容:DAV svn 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 4 页 -SVNPath E:/svnroot/MyProject AuthzSVNAccessFile E:/svnroot/MyProject/conf/access.auth Satisfy Any Require valid-user AuthType Basic AuthName Subversion repositories AuthUserFile E:/svnroot/MyProject/conf/users.auth Require valid-user 添加完上面这些,我们会发现access.auth是我们刚才新建的,可是 users.auth 我们并没有新建啊.怎么就把它加进去了.不要急,现在我们就来生成users.auth 文件.进入 apache 的安装目录的bin 文件夹,输入如下命令:D:Program FilesApache GroupApache2binhtpasswd-cb users.auth hadeslee hadeslee1234 Automatically using MD5 format.Adding password for user hadeslee D:Program FilesApache GroupApache2bin 我们就会发现在bin 目录生成了users.auth,我们可以看到,hadeslee 用户名已经被添加进去了,密码是用MD5 加密过的.然后我们还要增加用户呢,可以用如下方法:D:Program FilesApache GroupApache2binhtpasswd-b users.auth tom 123456 Automatically using MD5 format.Adding password for user tom D:Program FilesApache GroupApache2bin 只是在生成密码的时候,小了一个c 的参数,因为 c 表示重新生成一个这样的文件,我们第一次的时候是要加的,后面我们要添加用户的时候,就不用这个c 了.然后打开users.auth,会发现两个用户都已经在里面了,这个时候,我们把users.auth 移到E:/svnroot/MyProject/conf/里面去,使我们上面的设置生效.名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -这个时候,我们的设置就完成了.可以在浏览器里面输入http:/localhost/svn/MyProject试试看.如果以后我们还要加入其它的项目呢,可以有两点解决方式1,把以后的项目也导入到我们的MyProject 的仓库中,这个的话,就不用改什么配置了2,新建一个数据仓库,然后只要按上面的步骤,把新的 设置放到httpd.conf里面就可以了.当然,验证文件,访问权限文件,还有访问SVN的密码都要自己按上面的方法再设一遍.名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -