免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1387 | 回复: 0
打印 上一主题 下一主题

svn+apache服务搭建 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-20 20:11 |只看该作者 |倒序浏览

                                                    其实接触svn都是很久以前的事了,有此博士让去sourceforge下个soft自己先研究研究,下下来后被问道用什么下的,我当时还不解可好久,这有什么好问的windows当然是thunder了哦,linux下就wget了!博士很生气后果不严重,要摇头,告诉我用svn去下.用了后才知道这玩意的伟大,佩服老外~~~svn用了后,你好我好他也好,大家好才是真的好.废话说了这么多开始吧!
   之间已经安装好apache2了的哦,这个怎么装DIY喽~~
   install:
     sudo apt-get install subversion  libapache2-svn
   prepare:
     sudo groupadd subversion
     sudo useradd -g subversion svn(ps:这里两条添加用户到组的命令有所不同,第一个svn用户不存在,而www-data用户是已经存在的)
     sudo usermod -g subversion www-data然后将www-data(apache帐号)添加到这个组,也可以直接修改sudo vi /etc/group
     我的subversion:x:1003:www-data,svn(就是svn和www-data属于这个组了哦)
   $ sudo mkdir /home/svn
    $ cd /home/svn
    $ sudo mkdir myproject
    $ sudo chown -R root:subversion myproject
    $ sudo chmod -R g+rws myproject(赋予组成员对所有新加入文件仓库的文件拥有相应的权限)
   创建 SVN 文件仓库:
      sudo svnadmin create /home/svn/myproject
      sudo htpasswd -c /etc/subversion/passwd svn(添加svn用户并设置密码,注意是写道了/etc/subversion/passwd文件,这个后面要使用的)
     导入你的源码:
     
sudo svn import ~/Desktop/iptables file://ip/home/svn/myproject(把iptables整个目录导入到储存库中的myproject目录中 ps:vi编辑器会让你输入一些提示,随便输几个字就可以了)
      svn list file://ip/home/svn/myproject(显示储存库内容)
      由于是本地ip可有可无
     上面我使用了file://ip/形式的URL来访问Subversion库,这表示在本地通过文件系统访问。但我们的Subversion库可能需要通过网络被其它用户访问,这就需要用到其它的协议,下表是Subversion支持的各种访问协议:
     file:/// 通过本地磁盘访问
   
http:// 与Apache组合,通过WebDAV协议访问
   
https:// 同上,但支持SSL协议加密连接
   
svn:// 通过svnserve服务自定义的协议访问
     svn+ssh:// 同上,但通过SSH协议加密连接
       ssh现在对我来说是nothing,我还就喜欢走明文呢!这里只将http
     配置文件位于/etc/apache2/mods-enabled/目录下,配置文件共有两个,分别是dav_svn.conf和dav_svn.load,dav_svn.load文件负责装载必要的模块,内容如下:
   
# Load mod_dav_svn when apache starts
   
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
     LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
  
在装载mod_dav_svn.so前,必须先装载mod_dav.so模块。它由dav.load文件控制,内容如下:
   
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
   
dav_svn.conf是mod_dav_svn.so模块的配置文件,内容如下:
   
#设置访问路径
   
DAV svn #启用
   
SVNPath /home/svn/myproject #设置储存库路径
   
AuthType Basic #启用Apache基础验证
   
AuthName "Subversion Repository" #设置验证框标题
   
AuthUserFile /etc/apache2/dav_svn.passwd #指定验证用户文件名
     AuthzSVNAccessFile /etc/apache2/dav_svn.authz #启用目录级别授权
  

      AuthzSVNAccessFile
     
Require valid-user
  
   
修改/home/svn/myproject目录访问权限使它可被Apache进程访问,我的Apache是用www-data启动的,所以设置方法如下:
   
sudo chown -R www-data.www-data /home/svn/myproject
   
通过Apache的用户验证功能可以区别匿名用户和验证用户,从而赋予匿名用户读权限和验证用户读/写的权限。这些权限只能在全局范围内设置,不能设置具
体的某个目录是否能被某个用户操作。要实现目录级别的授权,就要使用mod_authz_svn.so模块提供的
AuthzSVNAccessFile指令。它会指定一个授权文档,该授权文档设置具体的目录权限。根据上面的配置,授权文档名叫
dav_svn.authz,它的内容如下:
[groups] #定义组
admin=svn
[/] #定义储存库目录的访问权限
* =t
@admin=rw
    梦八比赛到了图等下截上
   

   
sudo svn import ~/Desktop/iptables file://ip/home/svn/myproject
     sudo svn inport ~/Desktop/tcp_ip_code file:///home/svn/myproject/tcp_ip
     以上两条是我的导入命令,出图中也可以看出,第一条command由于没有有指定文件夹上传后比较紊乱,指定文件夹名后(tcp_ip)就将要导入的文件夹(tcp_ip_code)内的所有内容copy到tcp_ip
     要svn co http://hostname/svn/myproject myproject_local --username svn
     你也可以http://hostname/svn/myproject/tcp_ip只下载tcp_ip文件夹,第二个myproject_local就是保存在当前路径下的myproject文件夹下,这个文件夹会自行创建,文件夹名字任意
     要同步文件仓库和本地的副本
     $ cd project_dir(这个dir是本地副本的dir,就是上面的myproject_local)
     $ svn update
     svn在windows也是可以运行的哦,安装相应的soft就可以了,好像是tortisesvn(乌龟svn),我不知道单词拼写出错没^_^
      

   两幅图的地址栏比较,这个并没有对我的apache造成任何影响,这是我自己之前care的  
   在该文件中使用的用户需在apache2的用户文件/etc/subversion/passwd中预先设置好这两个文件可能个人的设置不一样其实就是上面dav_svn.conf文件中AuthUserFile,AuthzSVNAccessFile指定的.
   svn自带的svn方式,http://blog.chinaunix.net/u2/64853/showart_528172.html,这哥们写的比较详细,我DIY了下还可以,也比较easy,我这里就不写了
   wiki的http://wiki.ubuntu.org.cn/SubVersion也可以参考下,wiki+sourceforge简直就是无敌组合,搞不懂政府为什么要封~~~,我一般都使用代理上的,firefox有个代理插件,听说现在好像解封了,我不care了.
  
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/76292/showart_1136367.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP