Subversion1.4+apache2.2安装
2008-01-09 08:41:46
标签:
安装apacheSubversion [
推送到技术圈]
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。
http://feilin.blog.51cto.com/270948/58512先把容易出错的地方点出来,如果安装中碰到这样的问题就可以修改了:
subversion 中的apr 以及apr-util 需要重新安装,否则报lib 的错误。测试过网上修改srclib/apr/include/arch/unix/apr_private.h 注销HAVE_GETADDRINFO 的做法,没有成功。
apache 官方网站上有最新的apr 以及apr-util 的tar 包下载,最新版本是1.2.8 。选择apche2.2.3 是因为apache 对1.2.8 这个版本不能支持,编译报错。
1. 下载apr-1.2.8.tar.gz 安装:
tar xzvf apr-1.2.8.tar.gz
cd apr-1.2.8
./configure --prefix=/usr/local/apr-1.2.8
make
make install
2. 下载apr-util-1.2.8.tar.gz
tar xzvf apr-util-1.2.8.tar.gz
cd apr-util-1.2.8
./configure --prefix=/usr/local/apr-util-1.2.8 --with-apr=/usr/local/apr-1.2.8
make
make install
3. 安装apache2.2.3
tar xzvf httpd-2.2.3.tar.gz
cd httpd-2.2.3
./configure \
--prefix=/home/apache2 \
--enable-rewite=shared \
--with-apr=/usr/local/apr-1.2.8/bin/apr-1-config \
--with-apr=/usr/local/apr-util-1.2.8/bin/apu-1-config \
--enable-dav=shared \
--enable-ssl=shared \
--enable-deflate=shared \
--enable-so \
--enable-maintainer-mode
make && make install
4. 安装subversion1.4.0
tar xzvf subversion1.4.0.tar.gz
cd subversion1.4.0
./configure \
--prefix=/usr/local/subversion \
--with-apxs=/home/apache2/bin/apxs \
--with-apr=/usr/local/apr-1.2.8/bin/apr-1-config \
--with-apr-util=/usr/local/apr-util-1.2.8/bin/apu-1-config \
--with-ssl \
--enable-maintainer
make && make install
5. 察看/home/apache2/conf/httpd.conf 中是否包括如下模块:
LoadModule deflate_module modules/mod_deflate.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule dav_module modules/mod_dav.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
6. 配置apache2.2.3
编辑/home/apache2/conf/httpd.conf
去掉Include conf/extra/httpd-ssl.conf 注释
修改启动用户,组为apache
编辑/home/apache2/conf/extra/httpd-ssl.conf ,在最后</VirtualHost> 上添加
<Location /svn>
DAV svn
SVNParentPath /home/svn/repos
AuthType Basic
AuthName "SVN repository"
AuthzSVNAccessFile /etc/svn.access/authz
AuthUserFile /etc/svn.access/users
Require valid-user
SVNAutoversioning on
</Location>
7. 创建svn 目录:
a) svn 的目录mkdir -p /home/svn/repos
b) chown -R apache.apache /home/svn/
c) cd /home/apache2/htdocs/
d) ln -s /home/svn
8. 创建apache 用户权限目录
a) mkdir -p /etc/svn.access
b) cd /etc/svn.access
c) 编写authz 如下内容
[groups]
admin = admin, gaolimin
programmer = gaolimin
tester = test
[/]
@admin = rw
* = r
[test:/]
* = rw
9. 创建允许访问的用户
a) /home/apache2/bin/htpasswd -cm /etc/svn.access/users admin( 第一次)
b) /home/apache2/bin/htpasswd -m /etc/svn.access/users test( 以后)
c) chown -R apache.apache /etc/svn.access
10. 创建ssl 证书
a) openssl req -new > server.csr
b) openssl rsa -in privkey.pem -out server.key
c) openssl req -new -x509 -days 3650 -key server.key -out server.crt( 创建证书)
d) chmod 400 server.key server.crt
e) cp server.* /home/apache2/conf/
11. 创建项目版本
a) /usr/local/subversion/bin/svn create /home/svn/repos/admin
b) /usr/local/subversion/bin/svn create /home/svn/repos/test
12. 启动apache+ssl
a) /home/apache2/bin/apache start( 需要输入创建时候的密码)
13. 测试svn
a) /usr/local/subversion svn checkout
https://ip/svn/testb) 测试成功了么?