当前位置: 代码迷 >> CVS/SVN >> 视频教程:svn+apache架构的装配与配置
  详细解决方案

视频教程:svn+apache架构的装配与配置

热度:10468   发布时间:2013-02-26 00:00:00.0
视频教程:svn+apache架构的安装与配置

点击观看:

????? http://www.svnclub.com/sites/default/files/svnclub_vedio_2.htm

相关软件:

????? a:svn服务器软件: Setup-Subversion-1.6.13.msi

????? b:svn客户端软件: TortoiseSVN-1.6.12.20536-x64-svn-1.6.15.msi

????? c:pache服务器软件: httpd-2.2.15-win32-x86-openssl-0.9.8m.msi?


参考资料:

?????? Windows下安装与配置SVN+APACHE(英文版)
???
?????? Windows下安装与配置SVN_APACHE(中文版下载)


本课教案:

svn+apache架构(Win32环境)的安装与配置

一、准备软件。

a:svn服务器软件: Setup-Subversion-1.6.13.msi, 版本1.6.13;

b:svn客户端软件: TortoiseSVN-1.6.12.20536-win32-svn-1.6.15.msi, 版本1.6.12;

c:apache服务器软件:httpd-2.2.15-win32-x86-openssl-0.9.8m.msi, 版本2.2.15;

d: 运行环境 Microsoft Windows XP Professional SP3。


二、安装软件。

a. 先安装svn客户端软件,再安装svn服务器端软件。svn客户端软件和服务器端软件的具体安装过程就参看第一课的视频教程。

b. 安装apache服务器软件。


三、把apache的bin路径加到环境变量里。


以下步骤结合svn和apache

四、修改apache的配置文件。

a: 把下面两个行前面的#号去掉,注意行前不能有空格:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

b: 在模块加载的最后添加下面两句:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

c: 在配置文件最末尾添加:

<Location /svn/>
Dav svn
SVNParentPath "C:/svn/repository"
AuthType Basic
AuthName "SVN Repository"
SVNListParentPath on
AuthUserFile "C:/svn/userfile.txt"
AuthzSVNAccessFile "C:/svn/accessfile.txt"
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/

下面是配置文件的修改情况:


# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule dumpio_module modules/mod_dumpio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule headers_module modules/mod_headers.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
#LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule logio_module modules/mod_logio.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule ssl_module modules/mod_ssl.so
#LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>

… (这里省略了很多默认配置,直到文件最后添加加如下内容:)

<Location /svn/>
Dav svn
SVNParentPath "C:/svn/repository"
AuthType Basic
AuthName "SVN Repository"
SVNListParentPath on
AuthUserFile "C:/svn/userfile.txt"
AuthzSVNAccessFile "C:/svn/accessfile.txt"
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/


注释:
SVNParentPath------------------SVN的库根目录(手动创建)路径,可以在这下面创建多个版本库;
AuthUserFile-------------------用户帐号信息文件(用htpasswd命令创建文件userfile.txt);
AuthzSVNAccessFile-------------权限控制文件(手动创建);
RedirectMatch ^(/svn)$ $1/-----重定向路径(/svn定向到/svn/),这样访问库列表可以通过http://ip:port/svn访问。


五、从svn的bin目录下拷贝mod_authz_svn.so和mod_dav_svn.so两个模块到apache的modules目录。

六、重启apache服务。

七、手动创建一个库根目录,用下面命令创建一个版本库。

命令:
C:\svn\repository>cd \svn\repository

C:\svn\repository>svnadmin create svnregister

八、用命令创建用户帐号文件。

命令:
htpasswd -c userfile.txt arain

注意:以后添加帐号不需要-c 参数,只有第一次创建帐号需要。


九、手动创建权限控制文件。

十、在客户端输入http://localhost/svn/svnregister访问。也可以浏览器里访问,在浏览器里还可以通过http://localhost/svn来访问库列表。

到此为止已完成svn与apache架构的安装与配置。


十一、注意事项。

a. svn+apache架构和svn独立服务器的区别。选择前者的原因:可以通过HTTP来访问,可以使用到apache现有的一些模块,比如说apache的ldap模块、mysql模块,
? svn结合apache可以通过这些模块来进行第三方系统来进行认证。

b. 学会查看系统log和apache的log。

c. 库列表只能通过浏览器来进行访问。

d. 参考资料:svn在WIN下安装的详细步骤_中文版本.doc

这节课到此结束,如有疑问请访问svn俱乐部官网:http://www.svnclub.com 留言讨论。

  相关解决方案