SVN服务器端安装与配置
1.安装Apache
本安装基于windows操作平台,因为要搭建此项目管理服务器,所以必须要先安装Apache服务器。
(1)下载Apache
注意:Apache低于2.0.54的Windows版本的存在编译问题,不能与Subversion 1.2一起工作。2.2.X目前不能很好支持SVN 1.4.3。所以当前建议下载Apache 2.0.63版本。其他版本请在此http://httpd.apache.org/download.cgi下载。
(2)安装
下载完成后运行apache_2.0.63-win32-x86-no_ssl.msi。设置系统信息,在Network Domain下填入您的域名(比如:workyee.com),在Server Name下填入您的服务器名称(比如:www.workyee.com,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:t.a.i@163.com),如果你的服务器是本地或者没有DNS名称,请直接输入IP地址。上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者(此三条信息也可在安装后进行修改,该文件位于Apache Group/Apache2/conf/httpd.conf文件)。下面有两个选择,图片上选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动(如发生安装失败情况可以打开Apache Group\Apache2\conf\httpd.conf,编辑文件的Listen 80为其他可用的端口,然后用CMD进入命令行模式进入你安装apache的目录/apache2/bin输入apache -k install和apache -k start)。一般选择如下图所示。按“Next”继续。
安装完成后浏览 http://localhost/ 若成功,可看到如下图apache欢迎页面。
2 安装SVN
(1)下载SVN
在本实例中,选择下载svn-win32-1.5.4.zip此版本,其他版本可以在此下载http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
。也可以下载 Setup-Subversion-1.5.4.msi 进行直接安装。
(2)安装
将svn-win32-1.5.4.zip压缩包解压(对于直接安装的文件来,安装完成后就成功解压了),从svn-win32-1.5.4\bin 中将mod_authz_svn.so mod_dav_svn.so复制到Apache Group\Apache2\modules下,再将svn-win32-1.5.4\bin目录下的所有dll文件全部复制到Apache Group\Apache2\bin文件夹下。
修改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.so
LoadModule authz_svn_module modules/mod_authz_svn.so
重启apache看到下图状态栏显示Apache/2.0.63(Win32) SVN/1.5.4 DAV/2即表示安装成功。
3 配置SVN
(1)建立版本库
首先建立一个用于存在SVN项目的版本库,本例中在D盘驱动器中建立目录SvnTrac/svn,可通过如下命令建立版本库,当然如果你需要建立多个版本库只需将名称进行换名即可。
首先以cmd命令窗口进入svn-win32-1.5.4\bin目录结构下,输入:
>svnadmin create --fs-type fsfs D:/SvnTrac/svn/projects回车,等待提示创建完成;完成后则进行相关密码以及权限设置。
(2)设置密码文件
以cmd命令窗口进入路径Apache Group\Apache2\ bin目录下,然后输入:
> htpasswd -c D:/SvnTrac/svn/projects/conf/<filename> <username>
本例中filename名称使用pw,username名称使用admin(注意filename无需后缀名),这样便可在SvnTrac/svn/projects/conf目录下创建一个用户名为admin的pw文件,此文件将在后面配置权限所用。
在设置完文件后,系统会要求你输入密码,这个密码是在以后进入svn页面时要用到的。我这里设置为admin,且用md5.
部分添加用户操作,可使用如下命令:
添加用户:>htpasswd -d filename <username>
添加用户不带MD5加密用户:>htpasswd -p filename <username>(windows平台下默认是MD5加密)
删除用户:>htpasswd -D filename <username>
(3)设置权限文件
用文本编辑器或在CMD下在SvnTrac/svn/projects/conf路径下生成名为access的文件,此名称将在Apache Group\Apache2\conf\httpd.conf配置文件中所用,此处不使用扩展名。
编辑一下内容:
[groups]
administrator = admin
user = allen
[/]
* = r
@user = r
@administrator = rw
[projects:/]
@user = rw
内容含义为根目录下任何人有读权限,administrator组默认有读写权限;user组对projects也有读写的权限。admin和allen为对应组员,增加组员用","搁分。备注: 如果有中文路径,那要把文件存成UTF8格式,不建议使用中文路径,这在编程当中是严格禁止的。
(4)配置Apache
<Location /svn>
DAV svn
SVNPath "D:/svntrac/svn/projects"
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "D:/svntrac/svn/projects/conf/pw"
AuthzSVNAccessFile "D:/svntrac/svn/projects/conf/access"
Require valid-user
SVNAutoversioning on
ModMimeUsePathInfo on
</Location>
备注: 如果使用<Location /svn/>可列出D:/svntrac/svn/projects 下的版本库,若为<Location /svn>则不能访问http://127.0.0.1/svn下的项目,而只能这样访问,如http://127.0.0.1/svn/<projectname>。注意配置信息时不要出现不必要的空格,以免apache启动出错。
配置内容说明
设置
解释
<Location> 意思是Subversion版本库的URL是http://ipaddress/svn/
DAV svn 告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块
SVNPath 告诉Subversion需要查看的版本库位于D:/var/svnhome/projects之下
AuthType Basic 激活基本认证,就是用户名/密码
AuthName 用来说明弹出要求输入认证信息的对话框信息,可以使用中文.
AuthUserFile 指定使用认证密码的文件
AuthzSVNAccessFile 位置Subversion版本库的访问控制权限的路径文件
Require valid-user 指定只有输入了正确的用户/密码的用户可以访问URL
重启apache并访问http://127.0.0.1/svn,如出现下图即表示SVN安装配置成功。
输入用户密码进入.