##################################################### 

#本文内容来自《老男孩linux运维实战培训》学生

#如有转载,请务必保留本文链接及本版权信息。 

#欢迎广大运维同仁一起交流linux/unix网站运维技术! 

#QQ:307546435
#E-mail: aviptle0@163.com 
#51CTO博客:http://519116.blog.51cto.com
===================================================== 
老男孩linux运维实战培训中心 

咨询  QQ: 70271111 357851641
咨询电话:18911718229 

网站地址: http://www.etiantian.org 

老男孩博客: http://oldboy.blog.51cto.com
老男孩的QQ: 31333741
#####################################################

############################################################################################

命令加粗及显示过程   命令解释     文字说明   特别注意   配置更改增加

###############################################################################

linux-Svn服务安装

 
Subversion独立服务和与apache整合服务。
(来源:http://linux.chinaunix.net/techdoc/system/2009/09/01/1133320.shtml)

操作系统:centos 5.4 x64

安装包获取:
下载:http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz
 
1、安装APR-1.2.7APR-util-1.2.7
下载地址:http://apr.apache.org/ 

tar zxvf apr-1.2.7.tar.gz

./configure
make
make install

tar zxvf apr-util-1.2.7.tar.gz

./configure --with-apr=/usr/local/apr/

make
make install
 
2、编译安装APACHE

 

tar zxvf httpd-2.2.3.tar.gz

 

cd httpd-2.2.3

 

./configure \

 

 --prefix=/usr/local/apache-2.2.3 \

 

 --enable-dav \

 

 --enable-so \

 

 --enable-maintainer-mode \

 

 --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

 
 

make

install
 
3、安装subversion-1.4.0

 

tar zxvf subversion-1.4.0.tar.gz

 

./configure \

 

--with-apxs= /usr/local/apache-2.2.3/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr

 
make
出错:

/usr/bin/ld: cannot find -lexpat

collect2: ld returned 1 exit status

make: *** [subversion/svn/svn] Error 1

处理:(来源:http://blog.sina.com.cn/s/blog_4156950c0100sfzz.html)

[root@localhost lib64]# ln -s /lib64/libexpat.so.0.5.0 /usr/bin/libexpat.so

 
再次make,出错:

/usr/lib/libexpat.so: could not read symbols: File in wrong format

collect2: ld returned 1 exit status

make: *** [subversion/svn/svn] Error 1

处理(来源:http://wuliangxx.iteye.com/blog/656856)
 

./configure \

 --bindir=/usr/bin/ \

LDFLAGS="-L/usr/lib64 \

 -L/lib64"  \

 

--with-apxs=/usr/local/apache-2.2.3/bin/apxs \

 

 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr

 
 

make

make install
 
4、查看subversion两个动态库有没有安装成功
vi /usr/local/apache-2.2.3/conf/httpd.conf
看到下面两个模块说明安装成功

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module   modules/mod_authz_svn.so

 
5、配置apache的主配置文件httpd.conf
在最后面增加:

#说明:

 <Location /svn>

   DAV svn

   SVNParentPath /home/svn/rep/     #svn父目录

   AuthzSVNAccessFile /home/svn/rep/authz.conf     #权限配置文件

   AuthType Basic     #连接类型设置

   AuthName "Subversion.zoneyump"     #连接框提示

   AuthUserFile /home/svn/rep/authfile     #用户配置文件

   Require valid-user     #采用何种认证

   </Location>

 
6、新建一个用户:svn ,以下操作非特别说明皆为root用户操作
 

#groupadd svn

 

#useradd svn -g svn

 

#passwd svn

jinguang
 
7、改apache启动用户

#在 /usr/local/apache-2.2.3/conf/httpd.conf 文件中配置,找到文件中的这两行:

User daemon

Group daemon

#将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
#改完后是这个样子

User svn

Group svn

 
8、创建库文件所在的目录 (svn用户进行下面的操作)

 

$ mkdir /home/svn/rep

#创建仓库"test"

 

$ svnadmin create /home/svn/rep/test

#查看svn是否安装成功

 

$ svnadmin --version

#不让其他人有该目录的权限

 

$ chmod 700 /home/svn/rep

 (svn用户操作结束)

#删除一个项目

 

$ svnadmin dump pjweb

导出项目(来源:

(http://www.diybl.com/course/3_program/gcs/2008911/141990.html)(http://hi.baidu.com/willor/blog/item/49492539a43fe723b8998f3d.html)

 

svnadmin dump test > testsvn

导入项目

svnadmin load test < testsvn

 
9、权限管理
 

1)增加用户

# /usr/local/apache-2.2.3/bin/htpasswd  /home/svn/rep/authfile   #用户名(加入新的用户,就不用-c了),更改用户密码也用这个

 

 

# /usr/local/apache-2.2.3/bin/htpasswd -c /home/svn/rep/authfile user-name

#第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加

 

New passwordpsbsa2f1fxxx

 

2)权限分配

# vi /home/svn/rep/authz.conf

 [groups]

admin=useradmin

devteamcs = useradmin,user1,user2//这里定义了一个用户组

[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限

@admin = rw

* = r

 

[test:/]//对test项目,

@devteamcs = rw

 

//重启apache

  #  /usr/local/apache-2.2.3/bin/apachectl restart

访问http://localhost/svn/test ,现在需要身份验证,且通过验证后应该可以看到信息
 

Subversion 权威指南

https://i18n-zh.googlecode.com/svn/www/svnbook-1.4/index.html