当前位置:文档之家› SVN服务端安装和配置

SVN服务端安装和配置

所有资料来源于我用Subversion - SVN|TortoiseSVN下载安装配置使用技术交流社区SVN 服务端安装和配置1.Windows环境下基于 Apache 的SVN 服务器安装及配置1.1安装1.1.1安装Apache(1)下载Apache地址/download.cgi注意:Apache低于2.0.54的Windows版本的存在编译问题,低于2.0.54的版本不能与Subversion 1.2一起工作。

2.2.X目前不能很好支持SVN 1.4.3。

当前建议下载Apache 2.0.59 (2) 安装下载完成后运行apache_2.0.59-win32-x86-no_ssl.msi,根据提示进行操作。

遇到系统要求输入SERVER的URL时,如果你的服务器没有DNS名称,请直接输入IP地址。

注意:如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录\Apache Group\Apache2\conf,打开httpd.conf。

编辑文件的Listen 80为其他可用的端口,例如Listen 81,然后重新启动-这样就不会那个问题了。

(3)检查安装完成后浏览http://localhost/若成功,可看到apache页面。

1.1.2安装Subversion(1)下载 Subversion地址:/servlets/ProjectDocumentList?folderID=91(2)安装运行svn-1.4.3-setup.exe 安装程序,并根据指导安装,如果Subversion认识到你安装了Apache,你就几乎完成了工作,如果它没有找到Apache服务器,你还有额外的步骤。

(3)后续步骤1 从C:\Program Files\Subversion\bin 中将mod_authz_svn.so mod_dav_svn.so复制到C:\Program Files\Apache Group\Apache2\modules下intl3_svn.dll libdb*.dllC:\Program Files\Apache Group\Apache2\bin下步骤2 找到C:\Program Files\Apache Group\Apache2\conf\httpd.conf文件去掉如下几行的注释(删除 '#'标记):#LoadModule dav_fs_module modules/mod_dav_fs.so#LoadModule dav_module modules/mod_dav.so将下面几行添加到LoadModule部分的最后。

LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so1.1.3安装TortoiseSVN(可选)1.2配置1.2.1 配置服务编辑c:\program files\apache group\apache2\conf\httpd.conf文件,添加下面代码。

<Location /svn/>DAV svnSVNListParentPath on#SVNPathAuthz offSVNParentPath "C:\svndata"#SVNIndexXSLT "/svnindex.xsl"SSLRequireSSLAuthType BasicAuthName "Subversion repositories"AuthUserFile "C:\svndata\passwd"AuthzSVNAccessFile "C:\svndata\AuthzSVNAccessFile"#<LimitExcept GET PROPFIND OPTIONS REPORT>#Require valid-user#</LimitExcept>#Satisfy AnyRequire valid-user</Location>备注: <Location /svn/>可列出C:\svndata 下的版本库,若为<Location /svn>则不能访问https://127.0.0.1/svn下的项目只能这样访问,如https://127.0.0.1/svn/proj1说明1.2.2 建立版本库与此配置对应,需要在C驱动器建立目录svn,其中可能包含多各项目得代码版本库,假设存在proj1、proj2、proj3,并已经建立了版本库。

例如svn-win32-1.4.3\bin\svnadmin create --fs-type fsfs c:\svndata\proj11.2.3 设置密码文件在路径c:\program files\apache group\apache2下运行bin\htpasswd -c passwd <username>可在c:\program files\apache group\apache2创建passwd文件,可将它移动到其它位置,但要和AuthUserFile 的配置一致。

此后添加用户,使用如下命令:bin\htpasswd passwd <username>删除用户,使用如下命令:bin\htpasswd -D passwd user1.2.4 设置权限文件用文本编辑器在AuthzSVNAccessFile所指定的路径下生成名为svnaccessfile的文件,注意名称与配置文件一致,此处不使用扩展名。

编辑一下内容:[groups]admin=lds[/]* = r@admin = rwdangerman =[proj1:/]@admin = rw[proj2:/]@admin = r[proj3:/]@admin =基本含义是根目录下任何人有读权限,admin组有读写权限;admin对proj1读写权限对proj2有读权限,对 proj3没有任何权限。

备注:如果有中文路径,那要把文件存成UTF8格式1.3扩展1.3.1为Apache启用SSL(1)将mod_ssl_etc.rar中的mod_ssl.so拷到Apache的modules目录、openssl.exe、libeay32.dll、ssleay32.dll拷到bin目录、conf/ssl.conf拷到conf目录,在Apache 的conf目录中用文本编辑器打开ssl.conf将下面这些行用#注释掉:DocumentRoot "c:/apache/htdocs"ServerName :443ServerAdmin you@ErrorLog logs/error_logTransferLog logs/access_log(2)修改SSLCertificateFile conf/ssl.crt/server.crt为SSLCertificateFile conf/ssl/my-server.cert(3)修改SSLCertificateKeyFile conf/ssl.key/server.key为SSLCertificateKeyFile conf/ssl/my-server.key(4)修改SSLMutex file:logs/ssl_mutexSSLMutex default(5)删除以下两行(如果有)<IfDefine SSL></IfDefine>(6)打开Apache配置文件(httpd.conf),去掉这行的注释#LoadModule ssl_module modules/mod_ssl.so(7)将压缩包f.rar 中f文件拷贝到C:\program files\apache group\apache2\bin下。

然后C:\program files\apache group\apache2在用以下命令创建证书bin\openssl req -config bin\f -new -out my-server.csrbin\openssl rsa -in privkey.pem -out my-server.keybin\openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 4000bin\openssl x509 -in my-server.cert -out my-server.der.crt -outform DER这时在Apache目录下创建了一些文件(my-server.der.crt, my-server.csr, my-server.key, .rnd, privkey.pem, my-server.cert)。

将这些文件拷贝到目录conf/ssl 如果目录ssl不存在,你必须先创建一个。

(8) 可以选择在<location>语句块中添加SSLRequireSSL语句强制使用ssl最后重启一下Apache服务SSL补充1.首先要生成服务器端的私钥(key文件):openssl genrsa -des3 -out server.key 1024运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!去除key文件口令的命令:openssl rsa -in server.key -out server.key2.openssl req -new -key server.key -out server.csr -config f生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.3.对客户端也作同样的命令生成key及csr文件:openssl genrsa -des3 -out client.key 1024openssl req -new -key client.key -out client.csr -config f4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.openssl req -new -x509 -keyout ca.key -out ca.crt -config f5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl .cnfOpenssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl. cnf现在我们所需的全部文件便生成了.另:client使用的文件有:ca.crt,client.crt,client.keyserver使用的文件有:ca.crt,server.crt,server.key.crt文件和.key可以合到一个文件里面,本人把2个文件合成了一个.pem文件(直接拷贝过去就行了)1.3.2为用户提供密码修改服务根据附件中Apache密码修改.rar中提示操作。

相关主题