1. 准备工作:
berkeleyDB 文件名:db-4.7.25.tar.gz下载地址:http://dev.sleepycat.com/downloads/releasehistorybdb.html
Apr : apr-1.3.3.tar.gz 和 apr-util-1.3.4.tar.gz
Apache Web服务器: httpd-2.2.9.tar.gz
Subversion: subversion-1.4.6.tar.gz 和 subversion-deps-1.4.6.tar.gz
客户端:TortoiseSVN-1.5.2.13595-win32-svn-1.5.1.msi、LanguagePack_1.5.2.13595-win32-zh_CN.msi
2. 安装 berkeleyDB:
#tar zxvf db-4.7.25.tar.gz
#cd db-4.7.25/build_unix/
#../dist/configure --prefix=/usr/local/bdb
#make
#make install
默认安装目录:/usr/local/BerkeleyDB/
3. 安装apr:
#tar zxvf apr-1.3.3.tar.gz
#cd apr-1.3.3/
#./configure
#make
#make install
这里configure的时候不指定路径的话默认是安装到/usr/local/下
然后安装apr-util
解压同apr
然后
#cd apr-util-1.3.4/
#./configure --with-apr=/usr/local/apr/ --with-berkeley-db=/usr/local/bdb (这步要把berkeley数据库一起编译进去)
#make
#make install
4. 安装Apache:
# tar –zvxf httpd-2.2.9.tar.gz
# cd httpd-2.2.9
# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-modules=so /* DSO模式安装apache (或 --enable-so)
--enable-dav --enable-maintainer-mode --enable-rewrite
# make ; make install
安装好后启动apache
# /usr/local/apache2/bin/apachectl -k start
用浏览器查看http://localhost/,得到it works,说明apache已经配置成功了。
5. 安装Subversion:
#tar –zvxf subversion-1.4.6.tar.gz
#tar –zvxf subversion-deps-1.4.6.tar.gz /*这两个自动解压成一个包 subversion-1.4.6
#cd subversion-1.4.6
#./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-maintainer-mode
#make
#make install
确定一下svn有没有安装成功
#/usr/local/svn/bin/svnserve --version
会看到相关版本信息!
6. 配置服务器:
(1). 创建一个用户,如:svnroot;
(2). 以svnroot用户登录
$mkdir /home/svnroot/repository
$cd /usr/local/subversion/bin
$./svnadmin create /home/svnroot/repository/test
$cd /home/svnroot/repository/test
$ls -l
//看看是不是多了些文件,如果是则说明Subversion安装成功了
//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,
//提交后的修订版为1。
$./svn import /home/user/import file:///home/svnroot/repository/test –m "注释"
//不让其他人有该目录的权限
$ chmod 700 /home/svnroot/repository
(3). 修改Apache配置文件
# cd /usr/local/apadche2/bin
# 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 /home/svnroot/repository/ //svn父目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion.zoneyump" //连接框提示
AuthUserFile /home/svnroot/repository/authfile //用户配置文件
Require valid-user //采用何种认证
</Location>
//其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username password"来创建的
//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,
//则只能第一个用户可以访问新建库
找到以下内容
User daemon
Group daemon
把上述内容改成:
User svnroot
Group svnroot
//#chown -R svnroot:svnroot /home/svnroot/repository
保存
(4). 添加svn用户
创建
$htpasswd -c /home/svnroot/repository/authfile username
password
添加
$htpasswd authfile username
password
设置权限
$cd /home/svnroot/repository
$vi authz.conf
添加如下
[groups] /*这个表示群组设置
Admin=usr1,user2 /*这个表示admin群组里的成员 user1,user2
Develop=u1, u2 /*这个表示Develop群组里的成员 u1,u2
[www:/] /*这表示,仓库www的根目录下的访问权限
user1 = rw /*www仓库user1用户具有读和写权限
user2 = r /* www仓库userl用户具只有读权限
@develop=rw /*这表示 群 develop的成员都具有读写权限
[/] /*这个表示在所有仓库的根目录下
* = r /*这个表示对所有的用户都具有读权限
注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩行
(5). 重起Apache
#/usr/local/apache2/bin/apachectl –k restart
*(6). 启动svn服务
#/usr/local/svn/bin/svnserve -d -r /home/svnroot/repository
-d 表示以 daemon 方式(后台运行)运行
-r /svn/project 指定根目录是/home/svnroot/repository
检查服务器是否启动正常:
#ps –ef|grep svnserve
(7). 后序工作
在/etc/profile的结尾设置一些svn启动时要做的工作
# start apache server for svn
/usr/sbin/apachectl start
export SVN_EDITOR=vi
7. 在客户端安装TortoiseSVN-1.5.2.13595-win32-svn-1.5.1.msi与LanguagePack_1.5.2.13595-win32-zh_CN.msi,重启。