Linux系统下Apache Subversion 安装与配置

Linux系统下Subversion 安装与配置

一 、首先准备好相关的安装包,我这里使用的是下列的几个包

Apr : apr-1.3.8.tar.gz 和 apr-util-1.3.9.tar.gz
Apache : httpd-2.2.14.tar.gz
Subversion: subversion-1.5.1.tar.gz 和 subversion-deps-1.5.1.tar.gz

二、安装和配置步骤:

1、安装apr-1.3.8
tar zxvf apr-1.3.8.tar.gz
cd apr-1.3.8
./configure        /*安装不指定路径时默认安装到/usr/local/apr
make clean
make
make install

make clean && make && make install

2、安装 apr-util-1.3.9

tar zxvf apr-util-1.3.9.tar.gz
cd apr-util-1.3.9
./configure --with-apr=/usr/local/apr
make clean
make
make install

3、安装 httpd-2.2.14.tar.gz
tar zxvf httpd-2.2.14.tar.gz
cd httpd-2.2.14
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so --enable-dav --enable-maintainer-mode --enable-rewrite
make clean
make
make install

安装好后启动apache
/usr/local/apache/bin/apachectl -k start
用浏览器查看http://localhost/,得到it works,说明apache已经配置成功了。

4、安装和配置 subversion

tar zxvf subversion-1.5.1.tar.gz
tar zxvf subversion-deps-1.5.1.tar.gz /*这两个自动解压成一个包 subversion-1.5.1
cd subversion-1.5.1
rm –rf apr
rm -rf apr-util

注意:SVN 依赖的APR版本要正确。如果Apache为2.0.x,对应的APR版本应为0.9.x;Apache为2.2.x,对应的APR版本应为1.2.x。 由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的。(这里指定为开始安装的apr目录).

./configure --prefix=/usr/local/svn/ --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-neon=/usr/bin/neon-config --with-zlib=/lib --with-apache-libexecdir  --with-apxs=/usr/local/apache/bin/apxs
make clean
make
make install

确定一下svn有没有安装成功
/usr/local/svn/bin/svnserve --version

完了再看看apache 的相关模块有没有加载!如下!

cat /usr/local/apache/conf/httpd.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

开始建立版本库,将40机器的svn资源库直接拷贝到同目录下/home/svndata/

5、配置apache支持svn
vi /usr/local/apache/conf/httpd.conf

Listen 20000

ServerName 127.0.0.1:20000

<Location />
DAV svn
SVNListParentPath on
SVNParentPath /home/svndata/
#SSLRequireSSL
AuthType Basic
AuthName "Xi'An Netouch SVN Server"
AuthUserFile /usr/local/svn/conf/passwd
AuthzSVNAccessFile /usr/local/svn/conf/authz
Require valid-user
</Location>

<Location /server-status>
    SetHandler server-status
    Order allow,deny
    Allow from all
</Location>

将40机器/usr/local/svn/conf/passwd和/usr/local/svn/conf/authz拷贝到同级目录下.

保存文件退出!
重新启动apache


配置提高svn版本库的安全性

#chmod –R 700 /home/svndata/*不让其他人有该目录的权限

注意: 直接这么chmod会导致svn客户端无法访问,同时需要修改apache配置文件./conf/httpd.conf文件
vi /usr/local/apache/conf/httpd.conf
在httpd.conf文件中有这么一段内容:
User daemon
Group daemon

把上述内容改成:
User apache
Group apache
(我的系统在安装apache的时候,自动增加了apache用户和apache组,如果你系统没有这个用户和组,则请自己添加该用户和组)
修改svn仓库的所有者
#chown -R apache:apache /home/svndata


将apache服务设置为开机自启动方法:

在Linux系统中我一般采用编译源码的方式来安装Apache,有两种方法可以让Apache在系统启动时自动启动。

1. 在/etc/rc.d/rc.local中增加启动apache的命令,例如:/usr/local/apache/bin/apachectl start

2. 将apache注册为系统服务

首先将apachectl命令拷贝至/etc/rc.d/init.d目录下,改名为httpd

使用编辑器打开httpd文件,并在第一行#!/bin/sh下增加两行文字如下

# chkconfig: 35 70 30
# description: Apache

接着注册该服务

chkconfig --add httpd

一切OK了,启动服务

service httpd start

其中所增加的第二行中三个数字第一个表示在运行级别3和5下启动apache,第二、三是关于启动和停止的优先级配置,无关紧要。

htpasswd -m /usr/local/svn/conf/passwd zhehui.liu

vi /usr/local/svn/conf/authz

猜你喜欢

转载自sky1129.iteye.com/blog/850302