### 图解安装svn+apache服务器
#### 知识点概览
本文主要介绍如何通过图形化界面步骤安装和配置Subversion (SVN) 版本控制系统与 Apache Web 服务器,以便实现通过网络进行代码版本管理和协作开发。主要内容包括下载所需软件、安装 Apache 和 SVN 服务端、安装 SVN 客户端 TortoiseSVN、配置 Apache 使其能够支持 SVN 服务等。
#### 下载所需软件
- **Apache 2.2.19**:这是 Apache Web 服务器的一个版本,用于托管 SVN 仓库并处理客户端请求。
- **Subversion 1.6.17**(SVN 服务端):用于管理版本控制系统的服务器端软件。
- **TortoiseSVN 1.6.17**(SVN 客户端):用于与 SVN 仓库交互的图形化工具。
- **多语言包**:提供对简体中文、繁体中文和日语的支持。
#### 安装步骤详解
##### 安装 Apache 2.2.19
1. **下载**:从官方提供的链接下载 `httpd-2.2.19-win32-x86-openssl-0.9.8r.msi` 文件。
2. **安装路径**:选择安装路径为 `F:\Server\ApacheSoftwareFoundation\Apache2.2`。
3. **安装过程**:按照默认选项继续安装直到完成。
4. **验证安装**:在浏览器中输入 `http://localhost/`,如果出现 Apache 的欢迎页面,则表示安装成功。
##### 安装 Subversion 1.6.17 (SVN 服务端)
1. **下载**:从官方提供的链接下载 `Setup-Subversion-1.6.17.msi` 文件。
2. **安装路径**:选择安装路径为 `F:\Server\Subversion`。
3. **安装过程**:按照默认选项继续安装直到完成。
4. **验证安装**:在命令行输入 `svnadmin –version` 命令,如果显示出版本信息,则表示安装成功。
##### 安装 TortoiseSVN 1.6.17 (SVN 客户端)
1. **下载**:从官方提供的链接下载 `TortoiseSVN-1.6.16.21511-win32-svn-1.6.17.msi` 文件。
2. **安装语言包**:根据需要下载简体中文、繁体中文或日语的语言包,并安装。
3. **安装过程**:按照默认选项继续安装直到完成。
#### 配置 Apache 以支持 SVN
1. **复制必要的文件**:将 `F:\Server\Subversion\bin\` 目录下的 `mod_authz_svn.so` 和 `mod_dav_svn.so` 复制到 `F:\Server\ApacheSoftwareFoundation\Apache2.2\modules`。
2. **修改 httpd.conf 文件**:
- 确保已加载 `mod_dav_module`、`mod_dav_fs_module`、`mod_dav_svn_module` 和 `mod_authz_svn_module`。
- 在文件末尾添加以下配置:
```apache
<Location /svn/>
DAV svn
SVNListParentPath On
SVNParentPath "F:/svnroot"
AuthType Basic
AuthName "XuLiYao’s Subversion Repository"
AuthUserFile "F:/svnroot/passwd"
AuthzSVNAccessFile "F:/svnroot/authz"
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/
```
- **配置说明**:
- `<Location>`:定义 SVN 版本库的 URL 地址。
- `DAV svn`:告诉 Apache 使用 SVN 模块处理请求。
- `SVNListParentPath On`:允许列出父路径。
- `SVNParentPath`:指定 SVN 仓库的位置。
- `AuthType Basic`:启用基本认证。
- `AuthName`:认证提示信息。
- `AuthUserFile`:指定认证密码文件。
- `AuthzSVNAccessFile`:指定访问控制权限文件。
- `Require valid-user`:要求用户提供有效的用户名和密码。
3. **创建认证文件**:使用 htpasswd 工具创建 `F:/svnroot/passwd` 文件,用于存储用户的认证信息。
4. **创建访问控制文件**:编辑 `F:/svnroot/authz` 文件来定义不同的用户对不同项目的访问权限。
5. **重启 Apache 服务器**:确保所有更改生效。
#### 总结
通过以上步骤,我们可以成功地在本地计算机上安装和配置 SVN + Apache 服务器,使得开发者能够通过网络进行版本控制和协作开发。需要注意的是,在实际部署过程中可能还需要进一步的安全性和性能优化措施。此外,对于生产环境,建议使用最新的稳定版本软件,并遵循最佳实践来确保系统的安全性和稳定性。