关于Subversion的安装、配置和权限管理
SubVersion 安装sdlkfjSubversion 是一个版本控制系统,它是根据 CVS的功能为基础来设计,但是改进了一些 CVS 的缺点,例如:在 CVS 中搬移档案目录很不方便,Subversion 则连目录的移动都纳入版本管理;此外,它也增加了其它的功能,例如:不可分割的送交(如同数据库交易的概念,送交多个档案时,若有任何一个档案失败,则这次送交的所有档案都不会进入档案库中)、支持多种网络协议(file、HTTP、HTTPS、SVN)、一致的档案差异比对(不管什么档案类型,均使用二进制差异比对方式)等。Subversion是一个自由、开放源码的版本控制系统。它是一个通用系统,可用来管理任何类型的文件, 其中包括程序源码。
1. 需要的安装文件
httpd-2.0.*.tar.gz(http://www.apache.org)源代码包
Subversion-1.0.*.tar.gz(http://subversion.tigris.org/)的源代码包
2. 编译安装httpd
# tar xvzf httpd-2.0.54.tar.gz //解压apache2安装包
# cd httpd-2.0.54 //进入解压后的目录
# ./configure --enable-dav--enable-so --prefix=/usr/local/apache2/
//配置apache安装,以上的前两个参数是必须要加的,你还可以根据您的需要添加其他的参数。后面的参数制定你要把apache安装哪里
# make
# make install //安装
# cd /usr/local/apache2/bin
# ./apachectl start//启动apache服务
打开浏览器http://localhost/如果有测试页出现则证明已经安装成功。
3. 安装Subversion
# tar xvzf Subversion-1.1.4.tar.gz //解压SubVersion安装包
# cd Subversion-1.1.4 //进入解压后的目录
#./configure--with-apxs=/usr/local/apache2/bin/apxs--prefix=/usr/local/subversion //配置subversion安装
# make
# make install //安装
# mkdir /usr/local/repository //创建库文件所在的目录
# cd /usr/local/subversion/bin //进入subversion的bin目录
# ./svnadmin create /usr/local /repository/test //创建仓库”test”
# cd /usr/local/repository/test
# ls –l //看看是不是多了些文件,如果是则说明Subversion安装成功了
# cd /usr/local/subversion/bin
# ./svnimport /home/user/import file:/// usr/local /repository/test –m ‘注释’//这条语句将把路径/home/user/import下找到的文件导入到你开始创建的Subversion 知识库中去。这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,提交后的修订版为1。
# chmod –R 777 /usr/local/repository/test//不要忘了让每个人都有使用权限
4. 修改Apache配置文件
# cd /usr/local/apadche2/bin
# ./apachect1 start //起动Apache
# 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 /usr/local/repository///svn父目录
AuthzSVNAccessFile /usr/local/repository/authz.conf//权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion.zoneyump" //连接框提示
AuthUserFile /usr/local/repository/authfile //用户配置文件
Require valid-user //采用何种认证
</Location>
//其中authfile是通过"htpasswd [–c] /usr/local/repository/authfile username password"来创建的
//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库
# cd /usr/local/subversion/bin
# ./svnimport /home/user/import file:/// usr/local /repository/test –m ‘注释’//这条语句将把路径/home/user/import下找到的文件导入到你开始创建的Subversion 知识库中去。这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,提交后的修订版为1。
# chmod –R 777 /usr/local/repository/test//不要忘了让每个人都有使用权限
5. 重启apache
# ./usr/local/apache2/bin/apachectl restart
//打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。
6. 权限管理
1) 增加用户
# htpasswd [–c] /usr/local/repository/authfile hui
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd authfile 用户名(加入新的用户)
2) 权限分配
# vi /usr/local/repository/authz.conf
everyone = hui,xxx,yyy //输入所有的用户
groupA = hui ,xxx
groupB = xxx,yyy//进行分组管理
//顶层目录
@everyone = r
//对各级文件夹进地设置用户权限
Sample Text@groupA = rw
@groupB = r
……
7. Subversion组件
安装好之后,Subversion 会有数个不同的工具,主要分为客户端组件和服务器组件两类。
1. 客户端组件供使用者使用,主要包括以下两个组件:
svn 是命令行客户端程序,用来管理数据。
Svnversion 用来查看工作拷贝的混合版本状态。
2. 服务器组件供管理员使用,包括以下几个组件:
svnlook 用来查看Subversion的文件库的工具。
Svnadmin 用来创建与调整Subversion的文件库的工具。
mod_dav_svn 给Apache2.0网页服务器使用的模块;可以用来将用户的文件库透过网络对外开放。Sample Text 请问LZ,有辅助的软件对Subversion进行权限控制吗? 很好,多谢楼主分享,找了好久了 保存 等linux下验证
页:
[1]