提问的智慧SVN版 - 提问者必读
发新话题
打印

[原创] 在RHEL4上安装subversion1.4.2

在RHEL4上安装subversion1.4.2

windows上使用svn已经有一阵子了,最近在准备svn备份策略,想配置一台linux作为svn的备份,先拿个虚拟机做实验,搞定了再实战。

1、在vmware 5上安装RHEL4U2
安装过程中什么组件都不选,像apache、ftp、smb这些。主要想安装好系统后手动安装最新版本,反正在定制软件时什么勾勾都不选,包括图形界面,装完后发现进入kde桌面了,可能是漏选了,也罢,有个图形也好。

2、安装Apache2.2.3
在http://httpd.apache.org上看到2.2.3是最好的版本,于是下载下来安装

  tar -zxvf httpd-2.2.3.tar.gz
  cd cd httpd-2.2.3最初用下面的命令进行配置,结果subversion装好后不能造成apache启动
  ./configure --prefix=/usr/local/apache --enable-module=most --enable-shared=max
后来改为
./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite=share --enable-proxy=share --enable-proxy-ajp=share --enable-dav=share --enable-dav-fs就没有问题了

运行后发现报错,找不到编译器,这才想起没有安装gcc,于是mount上光盘,先把gcc装了再说 rpm -ivh /media/cdrom/RedHat/RPMS/gcc*.rpm,安装gcc时也遇到一些包的依赖关系,逐一解决,主要是以下几个rpm的依赖
rpm -ivh /media/cdrom/RedHat/RPMS/zlib-devel-1.2.1.2-1.2.i386.rpm
rpm -ivh /media/cdrom/RedHat/RPMS/libstdc++-devel-3.4.4-2.i386.rpm
rpm -ivh /media/cdrom/RedHat/RPMS/libgcj-devel-3.4.4-2.i386.rpm
装好gcc之后再运行上面的apache的configure命令,然后make,再make install

装好apache后,测试一下看apache能否运行
/usr/local/apache/bin/apachectl start
用浏览器访问,看到it works字样,说明apache成功了

3、安装subversion1.4.2
一开始我是准备用rpm方式安装的,下载的1.4.0的rpm包,安装时报告apr版本太低,刚好看到subversion的下载目录里有
apr-0.9.12-2.i386.rpm和apr-util-0.9.12-1.i386.rpm,这两个包以-U方式安装后,subversion就可以装上去了
rpm -U apr-0.9.12-2.i386.rpm
rpm -U apr-util-0.9.4-21.i386.rpm
rpm -ivh subversion-1.4.2-1.i386.rpm

之后建个资料库测试一下
svnadmin create /svn_repo/test 成功

但是我把1.4.0卸载了,准备安装1.4.2的tar.gz的包
rmp -e subversion

下载的是subversion1.4.2.tar.gz
还是先解压
tar -zxvf subversion-1.4.2.tar.gz
cd subversion-1.4.2
开始配置
./configure --prefix=/usr/local/svn
报告说apr找不到,qq群里问了老大,又在论坛里找,最后下面的命令不会有错
./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2
然后make 再make install

再看apache的配置文件,已经自动加上了如下两行
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
这两个so文件也被copy到相应的modules目录了。

现在apache和subversion都成功了,接下来就是建立配置文件

4、权限配置
我在/svn_repo下建了个conf文件夹,专门用于存放用户信息、权限配置信息
mkdir /svn_repo/conf
建立一个用户名、密码文件
/usr/local/apache2/bin/htpasswd -cm /svn_repo/conf/users.conf yourname
根据屏幕提示输入两次密码
zaiconf目录下再建test资料库的权限文件和组文件(个人觉得组文件没有用)
mkdir /svn_repo/conf/test
cd /svn_repo/conf/test
vi testAccess.conf
输入如下配置信息,最简单的权限配置
[groups]
admin = wangdm,zhugang,yinfei,zhumz
[/]
@admin = rw

vi testGroup.conf
输入ms:ligw wanghj
这里是组名+冒号+以空格分隔的用户名列表

保存退出

创建svnadmin用户,用户名可以随便取
useradd svnadmin

编辑/usr/local/apache2/conf/httpd.conf文件
把user daemon和group daemon中的daemon换成svnadmin
在文件尾部输入和此项目配置库的访问信息

<Location /svn/test>
    DAV svn
    SVNPath /svn_repo/test

    # our access control policy
    AuthzSVNAccessFile /svn_repo/conf/test/testAccess.conf

    # how to authenticate a user
    AuthType Basic
    AuthName "Test SVN"
    AuthUserFile /svn_repo/conf/users.conf
    AuthGroupFile /svn_repo/test/testGroups.conf
    Require group test
</Location>
我个人喜欢每一个资料库单独配置一个访问路径,每个资料库都使用同一个用户文件,但权限文件是独立的,这样不像svnparentpath那种方式,权限文件看上去很复杂,不好管理。

注意,还要把/svn_repo整个目录的属主设为svnadmin用户
chown -R svnadmin:svnadmin /svn_repo

重新启动apache,到此一个项目的svn就完成了。下一步配置ssl,实现了再发帖。

重启apache后即可

TOP

不错,希望这个文章持续更新,后面继续出2.0,3.0版,把它打造成最热帖

ps:首先你得把这个文章用svn管起来

  • 提问前先用多种搜索方式、多种可能的关键字对论坛进行搜索
  • 提问时详细描述软件版本,自己要做什么,做了什么,遇到了什么
  • 最后的绝招:PM版主
  • 问题解决后,请自行将“求助”修改为“已解决”

TOP

引用:
原帖由 PCplayer 于 2006-11-22 16:31 发表
不错,希望这个文章持续更新,后面继续出2.0,3.0版,把它打造成最热帖

ps:首先你得把这个文章用svn管起来
期待! 我也是到了这一步就走不动了!

TOP

刚好看到subversion的下载目录里有
apr-0.9.12-2.i386.rpm和apr-util-0.9.12-1.i386.rpm,这两个包以-U方式安装后
这两个东东在哪里下的呀,我怎么没找到,

我的也是到这步就不能下去啦

TOP

谢谢分享

TOP

首先感谢楼主的分享。
我目前在浏览器中输入版本库的访问URL后,能正常弹出输入用户名和密码的窗口,但是我无法登录。
请问是不是输入/svn_repo/conf/users.conf 文件中配置的那个用户名和密码访问?
我输入设置的用户名和密码后,提示“您无权查看该网页“,如果我随便输入一个错误的密码,提示如下:
Authorization RequiredThis server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

真是郁闷了,请问这是怎么回事呀?

[ 本帖最后由 chenyufan 于 2007-2-6 17:41 编辑 ]

TOP

回复 #6 chenyufan 的帖子

将你是如何配置的、如何访问的,另起一主题提问

  • 提问前先用多种搜索方式、多种可能的关键字对论坛进行搜索
  • 提问时详细描述软件版本,自己要做什么,做了什么,遇到了什么
  • 最后的绝招:PM版主
  • 问题解决后,请自行将“求助”修改为“已解决”

TOP

回复 #1 zhumingzhou 的帖子

为什么我按照你说的步骤就不行呢。
我的也是加入了AuthUserFile /svn_repo/conf/users.conf
就出现无权访问页面。
如果这样#AuthUserFile /svn_repo/conf/users.conf
就ok.

TOP

回复 #8 swallow_liyan 的帖子

问题已经解决。

TOP


我的也有类似的问题
解决了的
说来共享一下啊

TOP

如此文章,不顶都难。

好文,详细,称职的班主任。

TOP

发新话题
订阅 我用Subversion - SVN中文论坛 邮件列表:iUseSVN@googlegroups.com
电子邮件:
网站重要事项将会在这个列表进行通知,点击这里浏览存于列表中的所有邮件