庄周梦蝶

生活、程序、未来
   :: 首页 ::  ::  :: 聚合  :: 管理

redhat9安装subversion手记

Posted on 2007-07-06 13:47 dennis 阅读(1225) 评论(0)  编辑  收藏 所属分类: linux & C
一、subversion最新版本已经到1.4.4,我安装的还是老版本,新版本也可以,BerkeleyDB和Apache的版本要与subversion要求的一致,安装所需文件及下载地址:
1) Subversion 1.2.3
http://subversion.tigris.org/downloads/subversion-1.2.3.tar.gz

2)Berkeley DB 4.4.20
http://downloads.sleepycat.com/db-4.4.20.tar.gz

3)Apache 2.0.54
http://apache.justdn.org/httpd/httpd-2.0.54.tar.gz

二、以root用户登陆系统。

安装Apache
#tar -zxvf httpd-2.0.54.tar.gz
#cd httpd-2.0.54
#./configure --enable-dav --enable-so --enable-maintainer-mode
#make
#make install

安装Berkeley DB
#tar -zxvf db-4.4.20.NC.tar.gz
#cd db-4.4.20.NC/build_unix/
#../dist/configure --prefix=/usr/local/bdb
#make
#make install

安装Subversion
#tar -zxvf subversion-1.2.3.tar.gz
#cd subversion-1.2.3
#./configure --with-berkeley-db=/usr/local/bdb --with-apxs=/usr/local/apache2/bin/apxs
#make
#make install
/* 你可以用以下命令检验subversion是否安装成功 */
#svnadmin --version

三、新建一用户组svn,并建立一用户svnroot,用于管理svn的运行和维护
groupadd svn
useradd -G svn -m "the svn mananger" svnroot
passwd svnroot  #设置svn密码

四、使用svnroot登录,执行下列操作
# mkdir /home/svnroot/repository

//创建仓库test
svnadmin create /home/svnroot/repository/test

//导入项目到仓库中
svn import /home/yourproject file:///home/svnroot/repository/test –m "initial import"
//改变权限,仅限svnroot拥有读、写、执行权利
chmod 700 /home/svnroot/repository

五、root用户登录,设置Apache
//编辑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 
/home/svnroot/repository/
   AuthzSVNAccessFile 
/home/svnroot/repository/authz.conf
   AuthType Basic
   AuthName 
"Subversion.svn"
   AuthUserFile 
/home/svnroot/repository/authfile
   Require valid
-user
   
</Location>

这段信息设置了/svn/目录需要认证才能访问,用户信息放在authfile,授权信息在authz.conf文件里。

六、权限管理,使用svnroot登录
1)增加用户,通过下列命令第一次增加时建立authfile文件,比如添加了一个用户dennis
htpasswd -c /home/svnroot/repository/authfile dennis
会提示你输入密码,以后再添加就不用-c选项了

2)权限分配,建立并编辑authz.conf
# vi /home/svnroot/repository/authz.conf
[groups]  #这个表示群组设置
admin
=svnroot  #svnroot是admin组
[test:
/]  #这表示,仓库test的根目录下的访问权限
dennis
=rw #test仓库dennis用户具有读和写权限
[test2:
/] #假设有test2仓库,它的访问权限
dennis
=r  #test2仓库dennis有读权限
[
/] #这个表示在所有仓库的根目录下
* = r     #这个表示对所有的用户都具有读权限
@admin
=rw #admin组有读和写权限,比如svnroot


设置完成后,
重启apache
/usr/local/apache2/bin/apachectl restart
启动svn服务
#svnserve -d

通过浏览器访问http://localhost/svn/test/,输入用户名密码,一切OK!

我只在我的windows机器上安装了subversion管理我的文档,这次在redhat9上的安装还算顺利,参考了下列文章:
Linux 上安装 Subversion
《在Redhat9 Linux下安装,配置Subversion 1.3.1》
 

只有注册用户登录后才能发表评论。


网站导航: