先把容易出错的地方点出来,如果安装中碰到这样的问题就可以修改了:
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
[url]https://ip/svn/test[/url]
b)
测试成功了么?