为 Subversion 配置 Apache
通过 Apache 访问 Subversion 存储库具有多重优势。本页说明如何设置 Apache 以托管 Subversion 存储库。
|
|
必须先安装并启动 Codebeamer,之后才能使用此说明。
|
|
|
必须禁用 mod_evasive apache 模块 (如已启用),以确保 remote-api 和 webdav 能够正常运行。
|
Windows
|
|
选取下述所有软件的 32 位版本,即使运行的是 64 位版本的 Windows。
|
此说明假定 Codebeamer 已安装到下面的目录下:
C:\CB-5.5
• 从以下位置或从镜像下载 Apache 2.2.17:
http://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.apache.org/dist//httpd/binaries/win32/httpd-2.2.17-win32-x86-no_ssl.msi
• 将 Apache 安装到默认位置 (C:\Program Files\Apache Software Foundation),并采用“典型安装”。
• 编辑 Apache 配置:
单击 > > > > >
配置文件为 httpd.conf。
• 将 C:\\CB-5.5\repository\scmweb\httpd.conf.svn 的行附加到 Apache 的配置文件 httpd.conf。
• 将 mod_authz_svn.so 和 mod_dav_svn.so 从 C:\CB-5.5\libexec\svn\bin 复制到 C:\Program Files\Apache Software Foundation\Apache2.2\modules。
• 通过访问 > > ,将 C:\CB-5.5\libexec\svn\bin 添加到 PATH。
• 测试配置:
单击 > > > >
• 如果一切正常,则重新启动 Apache:
单击 > > > > >
Linux/Unix
|
|
Codebeamer 操作系统用户和 Apache 属于同一个 GID,这一点很重要。
|
Ubuntu
此说明假定 Codebeamer 已安装到:
/home/codebeamer/CB
1. 使用以下命令安装 Apache HTTP Server:sudo apt-get install apache2。
2. 执行以下命令:sudo apt-get install libapache2-svn。
这将安装并启用将 Subversion 与 Apache 结合使用所需的模块。
1. 复制 httpd.conf.svn:sudo cp /home/codebeamer/CB/repository/scmweb/httpd.conf.svn /etc/apache2/mods-available/svn.conf。
2. 启用 svn 支持:sudo ln -s /etc/apache2/mods-available/svn.conf /etc/apache2/mods-enabled/svn.conf。
3. 测试 Apache 配置:sudo apache2ctl configtest。
4. 重新启动 Apache:sudo /etc/init.d/apache2 restart。
RedHat
1. 安装 Apache HTTP Server 和所需的模块:sudo yum install httpd subversion mod_dav_svn。
2. 将 /etc/httpd/conf.d/svn.conf 复制到 /home/codebeamer/CB/repository/scmweb/httpd.conf.svn。
3. 测试 Apache 配置:apachectl configtest。
4. 重新启动 Apache:sudo /etc/init.d/httpd restart。
SUSE 11
1. 使用以下命令安装 subversion 和 subversions 的 apache2 模块:
sudo zypper install subversion subversion-server subversion-tools
svn --version
2. 将 /etc/apache2/conf.d/httpd.conf.svn 复制到 /home/codebeamer/CB/repository/scmweb/httpd.conf.svn。
3. 编辑新复制的 /etc/apache2/conf.d/httpd.conf.svn 文件并移除所有 LoadModule 语句,例如,最终结果应如下所示:
<Location /svn>
# AuthBasicAuthoritative Off # http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html
DAV svn
SVNParentPath "/home/codebeamer/CB/repository/svn/"
#SVNListParentPath on
AuthzSVNAccessFile "/home/codebeamer/CB/repository/access/acl.svn"
AuthName "Subversion Repository"
AuthType Basic
AuthUserFile "/home/codebeamer/CB/repository/access/.htaccess"
require valid-user
</Location>
4. 编辑 /etc/apache2/httpd.conf 文件,并将此行添加到末尾,以便加载新的 SVN 配置。
Include /etc/apache2/conf.d/httpd.conf.svn
5. 编辑 /etc/sysconfig/apache2 文件,并将这些模块添加到 APACHE_MODULES 行:
APACHE_MODULES="... dav_svn authz_svn"
6. 使用以下命令重新启动 Apache2:
rcapache2 restart
7. 现在,SVN 检出和提交应能够正常运行。可以使用检出命令对此进行测试,例如:
svn co http://suse.codebeamer.com/svn/mysvn
|
|
/home/Codebeamer/CB/repository/access/acl.svn 和 .htaccess 的路径已在 9.3 版本中更改,其路径在 9.3 版本之前为 /home/Codebeamer/CB/repository/acl.svn 和 .htaccess。
|