Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6098103
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类:

2012-05-07 23:51:07

原文地址:Linux下安装配置SVN 作者:enchen

(一).准备的源码包
1.subversion-1.6.4.tar.gz下载路径:subversion.tigris.org
2.httpd-2.2.9.tar.gz下载地址apache官网,很容易找的
3.subversion-deps-1.6.4.tar.gz,它为subversion安装时所依赖的,能过解压缩subversion-1.6.4.tar.gz文件,查看里面的INSTALL
文件,我们可以在dependency中看到,安装subversion需要libapr,libapr-util,sqlite,libz,libserf(option),其中'apr',
'apr-util', 'serf', 'zlib',已经包含在subversion-deps-1.6.4.tar.gz

(二).安装apache

1.首先先安装apache,解压httpd-2.2.9.tar.gz
tar -xzvf httpd-2.2.9.tar.gz
cd httpd-2.2.9

2.编译
./configure --enable-module=so --enable-dav --enable-dav-fs --enable-so --prefix=/usr/local/apache2
make
make install

3.测试
$ /usr/local/apache2/bin/apachectl start
检查/usr/local/apache2/logs/error_log 是否有错
打开浏览器如果有测试页"It works!"出现则证明已经安装成功

(二).安装subversion
1.首先为安全起见,先执行以下语句
rm -f /usr/local/lib/libsvn*
rm -f /usr/local/lib/libapr*
rm -f /usr/local/lib/libexpat*
rm -f /usr/local/lib/libneon*

#检查依赖包是否完整
$ sh ./autogen.sh

2.安装subversion-1.6.4.tar.gz
tar -xzvf subversion-1.6.4.tar.gz
tar -xzvf subversion-deps-1.6.4.tar.gz
cd subversion-1.6.4
./configure --prefix=/usr/local/subversion
   --with-apxs=/usr/local/apache2/bin/apxs
   --with-apr=/usr/local/apache2
   --with-apr-util=/usr/local/apache2
   --with-ssl --with-zlib
   --enable-maintainer-mode
注.subversion apache 服务模块
#subversion会共享库在/usr/local/lib/. mod_dav_svn.so必须在/usr/local/apache2/modules/
./configure --with-apxs=/usr/local/apache2/bin/apxs
   make
   make install

3.创建一个新linux用户svnroot
useradd svnroot

4.创建库文件所在的目录 (svnroot用户进行下面的操作)
   mkdir /home/svnroot/repository

5.创建仓库"test"
   cd /usr/local/subversion/bin
   ./svnadmin create /home/svnroot/repository/test
   cd /home/svnroot/repository/test
   ll 这时会多一些文件出来

6.在apache中配置subversion
修改httpd.conf,添加以下subversion模块
LoadModule dav_svn_module    
LoadModule modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

在文件末添加

   DAV svn
   #svn父目录
   SVNParentPath /home/svnroot/repository/
   #权限配置文件
   AuthzSVNAccessFile /home/svnroot/repository/authz.conf
   #连接类型设置
   AuthType Basic
    #连接框提示
   AuthName "Subversion.zoneyump"
   #用户配置文件
   AuthUserFile /home/svnroot/repository/authfile
   #采用何种认证
   Require valid-user
  

   //其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username password"来创建的
   //"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,
   //则只能第一个用户可以访问新建库
   //顺便把你的端口号也改一下,要不然可能&你以前的Apache的端口冲突

7.重启apache # ./usr/local/apache2/bin/apachectl restart
//打开浏览器访问,如果有东西显示就说明成功。

8.权限管理
1)增加用户
# htpasswd [-c] /home/svnroot/repository/authfile davide
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd authfile 用户名(加入新的用户)

2)权限分配
# vi /home/svnroot/repository/authz.conf
   [test:/] //这表示,仓库test的根目录下的访问权限
   davide = rw //test仓库davide用户具有读和写权限
   [test2:/] //test2仓库根目录下的访问权限
   ydw = r //ydw用户在test2仓库根目录下只有读权限
   [/] //这个表示在所有仓库的根目录下
   * = r //这个表示对所有的用户都具有读权限
   #[groups] //这个表示群组设置
   #svn1-developers = davide, ydw //这个表示某群组里的成员
   #svn2-developers = ydw
   #[svn1:/]
   #@svn1-developers = rw //如果在前面加上@符号,则表示这是个群组权限设置

阅读(705) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~