一、安装前软件准备
1、apr-1.4.2.tar.gz
2、apr-util-1.3.9.tar.gz
3、Berkeley-DB : db-4.2.52.tar.gz
4、http-2.2.16.tar.gz
5、zlib-1.2.5.tar.gz
6、sqlite-amalgamation-3.7.2.tar.gz
7、subversion-1.6.12.tar.gz
8、subversion-deps-1.6.12.tar.gz


二、安装apr
#tar -zvxf apr-1.4.2.tar.gz
#cd apr-1.4.2
#./configure --prefix=/usr/local/apr-httpd/
#make
#make install

三、安装Berkeley-DB
#tar -zxvf db-4.2.52.tar.gz
#cd db-4.2.52/build_unix/
#../dist/configure --prefix=/usr/local/berkeley-db
#make
#make install

三、安装apr-util
#tar -zvxf apr-util-1.3.9.tar.gz
#cd apr-util-1.3.9
#./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd --with-berkeley-db=/usr/local/berkeley-db
#make
#make install

四、安装apache2
#tar -zvxf httpd-2.2.16.tar.gz
#cd httpd-2.2.16
#./configure
--prefix=/usr/local/apache2
--with-apr=/usr/local/apr-httpd/bin/apr-1-config
--with-apr-util=/usr/local/apr-util-httpd/bin/apu-1-config
--enable-modules=so /* DSO模式安装apache (或 --enable-so)
--enable-dav
--enable-maintainer-mode
--enable-rewrite
#make
#make install
安装完成后,cd 到/usr/local/apache2/bin
#./apachectl start 启动apache
启动完成后,在浏览器地址栏输入:http://localhost 或者http://127.0.0.1
如果页面上显示It Works 表示apache2安装成功。

五、安装zlib
#tar -xvzf zlib-1.2.5.tar.gz
#cd zlib-1.2.5
#./configure
#make
#make install

六、安装SQLite
#tar -xvzf sqlite-amalgamation-3.7.2.tar.gz
#cd sqlite-3.7.2
#./configure --enable-threadsafe /*默认安装到/usr/local/*/
#make
#make install

七、安装subversion
#tar -xvzf subversion-1.6.12.tar.gz
#tar -xvzf subversion-deps-1.6.12.tar.gz
#cd subversion-1.6.12
#rm -rf apr
#rm -rf apr-util
#./configure
--prefix=/usr/local/subversion
--with-apxs=/usr/sbin/apxs (如果目录下没有,可以指定/usr/local/apache2/bin/apxs)
--with-apr=/usr/local/apr-httpd/bin/apr-1-config
--with-apr-util=/usr/local/apr-util-httpd/bin/apu-1-config
--with-ssl
--with-zlib=/usr/local
--with-sqlite=/usr/local
--enable-maintainer-mode
#make
#make install
安装完成后,cd 到SVN的安装路径,我这边是 /usr/local/subversion/bin
#./svnserve --version
如果显示版本信息,表示SVN安装成功。

八、创建用户和组
1、建用户:
adduser svnroot //新建svnroot用户
passwd svnroot //给svnroot用户设置密码

2、建工作组
groupadd svnroot //新建test工作组

3、新建用户同时增加工作组
useradd -g svnroot svnroot //新建svnroot用户并增加到svnroot工作组
注::-g 所属组 -d 家目录 -s 所用的SHELL

九、配置SVN
1、用刚创建的用户在你想要做为主仓库的目录创建SVN仓库
例如:
#su - svnroot
#cd /usr/local/subversion/bin
#./svnadmin create /var/svnroot/repository
#cd /var/svnroot/repository
如果下面新创建出来文件夹表示创建成功

2、然后设置SVN用户组和用户权限
#cd /var/svnroot/repository/conf
#vi authz
在[groups]下添加
admin=admin
common=common
然后添加权限 r代表可读 w代表可写
[/] 表示根目录
@admin=rw
@common=r
[test:/]表示test目录下的所有文件 这个目录如果有就设置、没有就不用设置
@common=w

编辑完后,保存退出。

3、为刚创建的用户设置密码,如果是第一次调用,也就是authfile文件还不存在,加-c参数,如果不是第一次,则不加
#htpasswd -c /var/svnroot/repository/authfile admin
输入两次密码即可
#htpasswd /var/svnroot/repository/authfile common
输入两次密码
#vi /var/svn/root/repository/authfile 会发现里面新增了用户名和密码的信息。

十、配置apache2,让其支持SVN
1、找到apache2的配置文件httpd.conf
#vi /usr/local/apache2/conf/httpd.conf
在最后面添加(前两行如果已经存在不用添加)
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/svnroot/ //库文件夹的上一级目录
AuthzSVNAccessFile /var/svnroot/repository/conf/authz //权限配置文件
AuthType Basic //连接类型设置
AuthName "Please input username and password" //连接框提示
AuthUserFile /var/svnroot/repository/authfile //用户配置文件
Require valid-user //采用何种认证
</Location>

2、找到配置文件中的
User daemon
Group daemon
将其改为刚创建的用户和组
User svnroot
Group svnroot

3、重启apache
#cd /usr/local/apache2/bin
#./apachectl restart

如果报错说mod_dav_svn.so和mod_authz_svn.so找不到,则
#cd /usr/lib/httpd/modules
#cp mod_dav_svn.so /usr/local/apache2/modules
#cp mod_authz_svn.so /usr/local/apache2/modules
再次重启

4、在浏览器中输入:http://localhost/svn/repository
按提示输入用户名密码后
如果在页面中看到repository - Revision 0:/
则表示所有安装成功了。