apache2 + WebDAV + svn 1.6安装配置
2010-07-14 02:14
288 查看
一、安装apache2
1. 从apache的源码目录里面找到apr和apr-util单独安装,以便subversion安装时使用
进入apr目录:
./configure --prefix=/usr/local/apr
make
make test
make install
进入apr-util目录:
./configure --prefix=/usr/local/apr-util
make
make test
make install
2. 安装apache
./configure --prefix=/usr/local/apache2
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
--enable-so
--enable-dav
--enable-rewrite
--enable-maintainer-mode
make
make install
二、安装subversion 1.6
1. 由于系统已经有zlib、sqlite等库,因此只单独安装了serf。
./configure --prefix=/usr/local/serf
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
make
make check
make install
2. 安装subversion
./configure --prefix=/usr/local/svn
--with-apxs=/usr/local/apache2/bin/apxs
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
--with-serf=/usr/local/serf
--with-ssl
--enable-maintainer-mode
make
make check
make install
三、配置
1. 查看apache安装目录的modules目录下是否有mod_authz_svn.so和mod_dav_svn.so
2. 确保conf/httpd.conf文件里面有如下两行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
3. 创建一个目录比如/home/svn/repos来存放版本库,可以将多个版本库放在这个目录中统一管理。比如可以在此目录下建一版本库gr:
svnadmin create /home/svn/repos/gr
4. 配置httpd.conf,在其中加入
由于我们在同一个目录中有多个版本库,因此指定SVNParentPath,通过指定SVNListParentPath可以列出版本库列表。
AuthUserFile指定用于用户验证的文件,里面是用户名和密码,由于是用apache进行用户验证,因此这个文件要用apache的htpasswd命令创建的,密码是用MD5加密的。
AuthzSVNAccessFile指定版本库的访问规则。
htpasswd -c /home/svn/repos/passwd user1
-c选项用于创建新文件,以后用-m选项,htpasswd会提示输入密码。
创建文本文件/home/svn/repos/authz,内容格式如下:
[groups]
admin = user1
[/]
* = r
@admin = rw
[gr:/]
重启apache就可以访问到http://host/svn/gr了。
但是访问http://host/svn出现403 Forbidden,换用http://host/svn/则可以列出版本库列表。这是因为在authz文件中指定访问规则的根目录为"/"。
可以使用apache的重定向使http://host/svn定向到http://host/svn/,在httpd.conf中加入
RedirectMatch ^(/svn)$ $1/
这样就不会有403错误码。
另外,向版本库提交时出现如下错误:
svn: Can't open file '/home/svn/repos/gr/db/txn-current-lock': Permission denied
这是因为版本库目录的权限问题。可以将其改为apache所有。apache默认用daemon用户运行,可以增加apache组和用户。
在httpd.conf中修改如下两行:
User daemon
Group daemon
为
User apache
Group apache
让apache以apache用户运行,然后将版本库目录改为apache所有即可。
1. 从apache的源码目录里面找到apr和apr-util单独安装,以便subversion安装时使用
进入apr目录:
./configure --prefix=/usr/local/apr
make
make test
make install
进入apr-util目录:
./configure --prefix=/usr/local/apr-util
make
make test
make install
2. 安装apache
./configure --prefix=/usr/local/apache2
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
--enable-so
--enable-dav
--enable-rewrite
--enable-maintainer-mode
make
make install
二、安装subversion 1.6
1. 由于系统已经有zlib、sqlite等库,因此只单独安装了serf。
./configure --prefix=/usr/local/serf
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
make
make check
make install
2. 安装subversion
./configure --prefix=/usr/local/svn
--with-apxs=/usr/local/apache2/bin/apxs
--with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
--with-serf=/usr/local/serf
--with-ssl
--enable-maintainer-mode
make
make check
make install
三、配置
1. 查看apache安装目录的modules目录下是否有mod_authz_svn.so和mod_dav_svn.so
2. 确保conf/httpd.conf文件里面有如下两行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
3. 创建一个目录比如/home/svn/repos来存放版本库,可以将多个版本库放在这个目录中统一管理。比如可以在此目录下建一版本库gr:
svnadmin create /home/svn/repos/gr
4. 配置httpd.conf,在其中加入
<Location /svn/> DAV svn SVNListParentPath on SVNParentPath "/home/svn/repos" AuthType Basic Authname "Subversion repository" AuthUserFile "/home/svn/repos/passwd" AuthzSVNAccessFile "/home/svn/repos/authz" Require valid-user </Location>
由于我们在同一个目录中有多个版本库,因此指定SVNParentPath,通过指定SVNListParentPath可以列出版本库列表。
AuthUserFile指定用于用户验证的文件,里面是用户名和密码,由于是用apache进行用户验证,因此这个文件要用apache的htpasswd命令创建的,密码是用MD5加密的。
AuthzSVNAccessFile指定版本库的访问规则。
htpasswd -c /home/svn/repos/passwd user1
-c选项用于创建新文件,以后用-m选项,htpasswd会提示输入密码。
创建文本文件/home/svn/repos/authz,内容格式如下:
[groups]
admin = user1
[/]
* = r
@admin = rw
[gr:/]
重启apache就可以访问到http://host/svn/gr了。
但是访问http://host/svn出现403 Forbidden,换用http://host/svn/则可以列出版本库列表。这是因为在authz文件中指定访问规则的根目录为"/"。
可以使用apache的重定向使http://host/svn定向到http://host/svn/,在httpd.conf中加入
RedirectMatch ^(/svn)$ $1/
这样就不会有403错误码。
另外,向版本库提交时出现如下错误:
svn: Can't open file '/home/svn/repos/gr/db/txn-current-lock': Permission denied
这是因为版本库目录的权限问题。可以将其改为apache所有。apache默认用daemon用户运行,可以增加apache组和用户。
在httpd.conf中修改如下两行:
User daemon
Group daemon
为
User apache
Group apache
让apache以apache用户运行,然后将版本库目录改为apache所有即可。
相关文章推荐
- SVN 1.6 服务端和客户端安装配置
- Trac,SVN,apache2安装配置
- SVN 1.6 服务端和客户端安装配置
- 绝对有效的 ubuntu 12.xx 下 apache2 + svn 安装和配置方法
- SVN1.6服务端和客户端安装配置指导
- ubuntu安装配置Apache2和SVN
- 【转】Windows系统下SVN 1.6 服务端和客户端安装配置
- SVN1.6服务端和客户端安装配置之专家指导
- Linux+Svn+apache2安装与配置
- windows下SVN 1.6 服务端和客户端安装配置
- SVN1.6服务端和客户端安装配置之专家指导
- ubuntu安装配置Apache2和SVN
- ubuntu下安装和配置SVN的详细方法介绍
- Linux安装配置SVN服务器
- SVN服务器端-------SVN版本控制器的安装和配置
- javaEE 无法安装axis2 1.6插件;Tomcat无法启动,提示端口占用;Tomcat服务发布;axis2发布配置;syso自动补全
- CentOS下安装配置SVN服务器
- svn安装与配置
- centos+svn+apache安装配置
- Ubuntu Server 10.10下安装配置SVN