subversion Apache 配置
0、文件准备:
|————————————————————————————
| svn-win32-libintl dll
│ highlight-setup-3.13.exe (可不需要)
│ httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
│ viewvc-1.1.20.tar.gz
│ Pygments-1.6.tar.gz
│ Pygments-1.6-py2.6.egg
│ setuptools-0.6c11.win32-py2.6.exe
│
├─python
│ python-2.6.6.msi
│ pywin32-218.win32-py2.6.exe
│
├─svn1.6.21
│ svn-win32-1.6.21.zip
│ svn-win32-1.6.21_py.zip
│
├─svn1.6.6
│ svn-python-1.6.6.win32-py2.6.exe
│ svn-win32-1.6.6.zip
│ svn-win32-1.6.6_py26.zip
│
└─svn1.7.9
svn-win32-1.7.9.zip
svn-win32-1.7.9_py26.zip
1、安装好 subversion 1.6.21、 Apache 2.2.22
2、修改配置文件 httpd.conf
(1)Apache 中集成添加 subversion 支持
去掉注释
#for subversion
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
也可以添加绝对路径
#for subversion
LoadModule authz_svn_module "D:/Program Files/svn-win32-1.6.21/bin/mod_authz_svn.so"
LoadModule dav_svn_module "D:/Program Files/svn-win32-1.6.21/bin/mod_dav_svn.so"
文件结尾添加
<Location /svn>
DAV svn
SVNPath E:\svnrepos1
</Location>
(2)添加Subversion权限控制
配置SVN访问权限
如C:\svn\test\conf
authz 用于目录权限控制
passwd 帐号和密码管理
svnserve.conf svn配置文件
--------------------------------------------------------------
svnserve.conf 文件配置详解
anon-access = none|read|write
决定非授权用户的访问级别。
write 访问允许所有的仓库操作。
read 访问允许所有操作,除了提交和修改版本属性。
none 不允许任何访问。
默认级别是 read。
auth-access = none|read|write
决定授权用户的访问级别,使用与上面相同的访问级别。默认级别是 write。
password-db = filename
设置密码数据库的位置。默认:passwd
realm = realm-name
设置仓库的授权域 (realm)。如果两个仓库拥有相同的密码数据库,它们应当在同一个域中,
反之亦然;这样的关联可以允许客户端为多个仓库使用单一的密码缓存。
默认域的值是仓库的路径,相对于服务器进程的虚根目录。
--------------------------------------------------------------
passwd 文件配置详解:
[users] #用户配置
username = password
用户名 = 用户密码
--------------------------------------------------------------
authz 文件配置详解:
如:
[groups] # 组配置
admin = username
user = username2
组名 = 用户名
#目录权限控制
如:
[\] #跟目录
@admin = rw #r可以读 w可写
[\test] #\test\
@user = r #r可以读
==============================================================
配置web查看权限:
httpd.conf
----------------------------------------------------------
# web-svn 查看权限
<Location /svn>
DAV svn
AuthType Basic #启用用户权限
AuthName "Subversion repositories" #web用户登入界面提示语
AuthUserFile C:\svn\password.conf #密码文件
Require valid-user #限定用户只有输入正确的用户名及密码后才能访问这个路径
SVNParentPath C:\svn #svn仓库目录
</Location>
----------------------------------------------------------
# web-viewvc 查看权限
<Location /viewvc>
AuthType Basic #启用用户权限
AuthName "Subversion repository" #web用户登入界面提示语
AuthUserFile C:\svn\password.conf #密码文件
Require valid-user #限定用户只有输入正确的用户名及密码后才能访问这个路径
</Location>
==========================================================
配置密码文件
----------------------------------------------------------
C:\Program Files\CollabNet\Subversion Server\httpd\bin
----------------------------------------------------------
htpasswd -cmb c:\svn\password.conf abc 123456
c:create
m:md5
b:在命令行上输入密码
D:删除帐号
解释:创建password.conf文件,增加用户名为abc的用户,密码为md5加密的123456
更新密码
htpasswd password.conf abc
添加新用户
htpasswd password.conf abcd
删除用户
htpasswd -D password.conf abcd
==========================================================
3、添加viewvc代码查看功能
(1)安装Python 2.6.6 ,并安装好python win32 接口支持包 win32-py2.6
(2)将subversion Python Buildling 复制到到python安装目录的lib子目录下。
解压缩svn-win32-1.6.21_py.zip,将svn、libsvn 复制到 C:\Python26\Lib 下
(3)解压缩 viewvc-1.1.20.tar.gz ,例如 D:\viewvc-1.1.20
进入此目录执行 python viewvc-install 安装到 D:\Program Files\viewvc1120
安装完后显示如下内容:
ViewVC file installation complete.
Consult the INSTALL document for detailed information on completing the
installation and configuration of ViewVC on your system. Here's a brief
overview of the remaining steps:
1) Edit the d:\Program Files\viewvc1120\viewvc.conf file.
2) Either configure an existing web server to run
d:\Program Files\viewvc1120\bin\cgi\viewvc.cgi.
Or, copy d:\Program Files\viewvc1120\bin\cgi\viewvc.cgi to an
already-configured cgi-bin directory.
Or, use the standalone server provided by this distribution at
d:\Program Files\viewvc1120\bin\standalone.py.
(4)修改httpd.conf ,
(line 200)添加:
# for subversion viewvc
<Directory "D:/Program Files/viewvc1120">
Order allow,deny
Allow from all
</Directory>
(line 337)添加:
# for subversion viewvc
ScriptAlias /viewvc "D:/Program Files/viewvc1120/bin/cgi/viewvc.cgi"
ScriptAlias /query "D:/Program Files/viewvc1120/bin/cgi/query.cgi"
(5) 编辑 viewvc.conf 文件,
找到(line 112),修改
svn_roots = svnrepos: E:/svnrepos1
找到line 170 ,修改
default_root = /
问题解决:
ImportError: DLL load failed: 找不到指定的程序。
1)、如果配置完python和svn-python 后仍然不能正常显示svnrepos,按如下方式尝试:
用 svn-win32-1.6.6_py26.zip 覆盖 svn-win32-1.6.21_py.zip (解压缩到python26 lib目录 )
安装 svn-python-1.6.6.win32-py2.6.exe
svn-win32-1.7.9.zip覆盖 svn 1.6.6 服务器端所有二进制文件
svn-win32-1.7.9_py26.zip 重新覆盖 python26 lib目录 下的文件
svn-win32-libintl dll
2)、需要将subversion和apache的环境变量加入,不然可能会报找不到Dll的错误。
Path=D:\devtools\MinGW-full-gcc-multi-Sep-2011\bin;D:\program files\Apache HTTP
Server\bin;D:\program files\Subversion\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WIN
3)、Apache应该用VC6版本的,之前就是一直用VC2008编译版本的,总是提示找不到Dll错误。
4、viewvc添加代码语法高亮功能
语法高亮用 Pygments 实现
(1)解压准备好的 Pygments-1.6.tar.gz
- Download the most recent tarball from the download page
- Unpack the tarball
- sudo python setup.py install
Note that the last command will automatically download and install setuptools if you don't already have it installed. This requires a working internet connection.
This will install Pygments into your Python installation's site-packages directory.
如果你连接到了internet的话,也可以用 easy_install 自动安装,
先安装好 easy_install ,执行:
setuptools-0.6c11.win32-py2.6.exe
进入python26 Scripts 目录,执行:
easy_install Pygments
(2)修改 viewvc.conf
enable_syntax_coloration = 1