红联Linux门户
Linux帮助

Linux的subversion安装配置

发布时间:2007-01-31 01:03:09来源:红联作者:Kesirst
linux下一步步配置subversion
软件包:
httpd-2.23
下载地址
http://apache.justdn.org/httpd/httpd-2.2.3.tar.gz
apr-1.27
apr-util-1.27
http://apache.justdn.org/apr/,版号自已找,最好和我的所提供的版本号一样
Oracle Berkeley DB 4.0.14
下载地址
http://download.oracle.com/berkeley-db/db-4.0.14.tar.gz
subversion-1.4.0
下载地址
http://www.iusesvn.com/bbs/download/subversion-1.4.0.tar.gz

首先安装Berkeley DB 4.0.14
# tar zxvf db-4.0.14.tar.gz
# cd db-4.0.14/build_unix
# ../dist/configure --prefix=/usr/local/db-4.0.14 --enable-compat185
# make
# make install

安装apr,apr-util
# tar zxvf apr-1.2.7.tar.gz
# cd apr-1.2.7
# ./configure --prefix=/usr/local/apr
# make
# make install


# tar zxvf apr-util-1.2.7.tar.gz
# cd apr-util-1.2.7
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-berkeley-db=/usr/local/db-4.0.14/
# make
# make install

安装apache
# tar zxvf httpd-2.2.3.tar.gz
# cd httpd-2.2.3
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite=share --enable-proxy=share --enable-proxy-ajp=share --enable-dav=share --enable-dav-fs --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/
# make
# make install

安装subversion
# tar zxvf subversion-1.4.0.tar.gz
# cd subversion-1.4.0
# ./configure --prefix=/opt/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-berkeley-db=/usr/local/db-4.0.14/ --with-ssl
# make
# make install

创建库文件所在的目录
# mkdir -p /home/svnroot/repository
进入subversion的bin目录
# cd /usr/local/subversion/bin
创建仓库"test"
# ./svnadmin create /home/svnroot/repository/test
# cd /home/svnroot/repository/test
看看是不是多了些文件,如果是则说明Subversion安装成功了
# ls -l
# cd /opt/subversion/bin
这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion仓库中去,
提交后的修订版为1。
# ./svn import -m "注释" /home/user/import file:///home/svnroot/repository/test
修改仓库的权限
# chown -R daemon:daemon /home/svnroot/repository

#后面有如何添加用户的命令

# 修改版本库配置文件:
版本库1:
# vi /home/svnroot/repository/test/conf/svnserve.conf

内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /home/svnroot/repository/authfile
authz-db = /home/svnroot/repository/authz.conf
realm = test

修改Apache配置文件
# cd /usr/local/apache/bin
启动Apache
# ./apachect1 start
# vi /usr/local/apache/conf/httpd.conf
//在最下面添加,我在配置的时候,下面这两句话是自动加上的,可以不加
#LoadModule dav_svn_module modules/mod_dav_svn.so
#LoadModule authz_svn_module modules/mod_authz_svn.so

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 //采用何种认证

//其中authfile是通过
htpasswd -b -c /home/svnroot/repository/authfile username password
//来创建的
//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。


重启apache
# cd /usr/local/apache/bin/
#./apachectl restart
//打开浏览器访问http://localhost/svn/test/,这样会有提示对话框,是不能访问的.

这里的权限和用户可以自己去定义

权限管理
1)增加用户
//由于htpasswd是apache的内置命令,所以先进入apache的命令目录
# cd /usr/local/apache/bin/
# htpasswd /home/svnroot/repository/authfile jackey
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加,再增加别的用户时,不用加c


2)权限分配

配置用户访问权限,用于定义用户组和版本库目录权限
# vi /home/svnroot/repository/authz.conf

注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。也就是在前面用htpasswd添加的用户
* 对权限配置文件的修改立即生效,不必重启svn。

用户组格式:
[groups]
用户组名 = 用户1,用户2
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:
[版本库:/项目目录]
@用户组名 = 权限
用户名 = 权限

其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/home/svnroot/repository。这样,/就是表示对全部版本库设置权限。
test:/,表示对版本库test设置权限

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

示例:
[groups]
admin = mangosoft

[/]
@admin = rw

[test:/]
@admin = rw
lsw = rw
jackey=rw

删除Subversion默认安装库文件权限文件authz,passwd
# rm /home/svnroot/repository/test/conf/authz
# rm /home/svnroot/repository/test/conf/passwd

测试
如果顺利的话,就可以通过http://localhost/svn/test访问了,GoodLuck!
文章评论

共有 129 条评论

  1. 82.231.93.* 于 2007-03-18 04:55:57发表:

    http://4e5123f3a71e25142de9960df6b94549-t.vefivje.info 4e5123f3a71e25142de9960df6b94549 http://4e5123f3a71e25142de9960df6b94549-b1.vefivje.info 4e5123f3a71e25142de9960df6b94549 http://4e5123f3a71e25142de9960df6b94549-b3.vefivje.info 1ec40c9f5f69b56a04356fcd453c9762

  2. wu1wu2 于 2007-02-02 19:36:57发表:

    好 好
    谢谢 你 了 你 辛苦 了
    谢谢

  3. 7799416 于 2007-01-31 06:04:49发表:

    唯一能够在一个站点内实现前后台11种语言同时使用的自助建站系统! www.30t.com 唯一能够使网站在世界不同的区域展示语言自动识别功能的自助建站系统!www.30t.net 唯一能够利用自助网站平台手工建站个性化建站自选网站的自助建站系统!www.30a.net 唯一能够通过在线支付实现网站自动开通和文件自动下载的自助建站系统!www.62h.com