文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>subversion-svn 安装

subversion-svn 安装

时间:2007-01-22  来源:ghbspecial

软件下载:www.subversion.org   参考:http://www.jdkcn.com/entry/29.html          http://www.blogjava.net/liveandletdie/articles/72484.html   1、安装apache2.0.58   tar zxvf apache2.0.58.tar.gz ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/ --enable-maintainer-mode --enable-rewrite  --enable-MODULE=shared  --with-mpm=worker   make && make install   2、安装 subversion 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作
#groupadd svn
#useradd svnroot -g svn
#passwd svn
  2.1  tar jxvf subversion-1.4.2.tar.bz2     #./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2   make && make intall   2.2 创建库文件所在的目录 (svnroot用户进行下面的操作)
# mkdir /home/svnroot/
    创建仓库"repository"
# /usr/local/subversion/bin/svnadmin create /home/svnroot/repository
  查看svn是否安装成功
#  /usr/local/subversion/bin/svnadmin --version
//不让其他人有该目录的权限
# chmod 700 /home/svnroot/repository
 (svnroot用户操作结束)
2.3
修改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 /home/svnroot/repository/ //svn父目录
   AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
   AuthType Basic //连接类型设置
   AuthName "Subversion.zoneyump" //连接框提示
   AuthUserFile /home/svnroot/repository/authfile //用户配置文件
   Require valid-user //采用何种认证
   </Location>
 
//重启apache
 # /usr/local/apache2/bin/apachectl restart
//打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。
   权限管理
1)增加用户
# htpasswd -c /home/svnroot/repository/authfile 用户名
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
# htpasswd  /home/svnroot/repository/authfile 用户名(加入新的用户,就不用-c了)

2)权限分配
# vi /home/svnroot/repository/authz.conf 
 [groups]
admin=useradmin
devteamcs = useradmin,user1,user2//这里定义了一个用户组
[/]//对所有的项目,所有的用户都有读权限,admin用户有读写权限
@admin = rw
* = r
[test:/]//对test项目,
@devteamcs = rw

在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
User daemon
Group daemon
 // 将daemon改为svnroot,组也做相应更改,让apache进程以svnroot的身份运行
//改完后是这个样子
User svnroot
Group svn
//重启apache
  # /usr/local/apache2/bin/apachectl restart
访问http://localhost/svn/test ,现在需要身份验证,且通过验证后应该可以看到信息
 补充:在xp的环境下,如果你运行着卡巴斯基,可能会导致无法访问svn,通常会报400 Bad Request错误
解决办法是:进入卡巴斯基的设置-->网络设置--->端口设置,然后从端口列表中去掉80端口即可
再次补充:eclipse有svn的插件,subclipse,安装路径为:http://subclipse.tigris.org/update

服务器端安装完毕

  1. 安装客户端
    http://tortoisesvn.tigris.org/ 下载TortoiseSVN。一个WIndows资源管理器插件, 把Subversion客户端和资源管理器近乎完美的结合到了一起,现在就可以开始用了。 Let’s GO!

通过自带协议访问(svn://)

当您创建了 SVN 文件仓库,您可以修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制。

例如,您可以取消下面的注释符号来设置授权机制:

# [general]

# password-db = passwd

现在,您可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下:

username = password

要了解详情,请参考该文件。

现在,您可以在本地或者远程通过 svn:// 当文 SVN 了,您可以使用“svnserve”来运行 svnserver,语法如下:

$ svnserve -d --foreground -r /home/svn

# -d -- daemon mode

# --foreground -- run in foreground (useful for debugging)

# -r -- root of directory to serve

要了解更多信息,请输入:

$ svnserve --help

当您执行了该命令,SVN 就开始监听默认的端口(3690)。您可以通过下面的命令来访问文件仓库:

$ svn co svn://hostname/myproject myproject --username user_name

基于服务器的配置,它会要求输入密码。一旦通过验证,就会签出文件仓库中的代码。

要同步文件仓库和本地的副本,您可以执行 update 子命令,语法如下:

$ cd project_dir

$ svn update

要了解更多的 SVN 子命令,您可以参考手册。例如要了解 co (checkout) 命令,请执行:

$ svn co help

 

后记:

要注意的还有如下几点:

  1. 服务器端的运行方式除了通过http访问外,还可以是用svn自己的服务器运行,但没有尝试
  2. svn存储数据有两种方式,一种是文件,一种是berklydb, 但是没有让我选择。
  3. Subversion服务器端全靠字符界面来配置,自己手动写配置文件,很麻烦, 尤其是要对整个项目树进行精确的权限管理的时候。 有个Web界面的配置工具 SVNManager,应该能节省很多力气。可惜因为php5安装出现莫名奇妙的问题而没有尝试成功,如果有尝试成功的还请给出测试报告。
 
 
     
相关阅读 更多 +
排行榜 更多 +
味子夫

味子夫

购物比价 下载
恩猫

恩猫

购物比价 下载
街头纷争

街头纷争

动作格斗 下载