Linux SVN安装所需创建的文件夹
创始人
2024-06-22 15:21:24
0

Linux SVN安装还是比较常用的,于是我研究了一下Linux SVN安装,在这里拿出来和大家分享一下,希望对大家有用。

1. Linux SVN安装所需module:#yum install mod_dav_SVN安装完毕之后发现,在/etc/httpd/conf.d下多出了subversion.conf,以及/etc/httpd/modules下多出了 mod_dav_svn.so和mod_authz_svn.so两个文件,这正是subversion.conf中所需要的。

2. 修改subversion.conf,取消一下几行的注释,使之成为:

  1.  /repos> 
  2.          DAV svn  
  3.          SVNParentPath /var/www/svn/  
  4.     #  
  5.     #   # Limit write permission to list of valid users.  
  6.     #    GET PROPFIND OPTIONS REPORT> 
  7.     #      # Require SSL connection for password protection.  
  8.     #      # SSLRequireSSL  
  9.     #  
  10.     #      AuthzSVNAccessFile /etc/httpd/authz.conf  
  11.     #      AuthType Basic  
  12.     #      AuthName "Please enter your name and password"  
  13.     #      AuthUserFile /etc/httpd/conf.d/authfile  
  14.     #      Require valid-user  
  15.     #    
  16.      

其中,Linux SVN安装ParentPath是所有Repository的上层目录,此处并没有对访问Linux SVN安装的Repository进行限制,就像google code一样,无须用户名密码即可查看,甚至checkout源代码。

3. 在/var/www/下创建一个svn/的文件夹,并在此目录下创建subversion版本库:
$ svnadmin create your_repo_name

4. 进入该repository,修改配置文件,位于your_repo_name/conf下,首先修改svnserve.conf,找到并去掉以下几行的注释:

  1. anon-access = read             #匿名访问的权限,可以是read,write,none,默认为read  
  2. auth-access = write             #认证用户的权限,可以是read,write,none,默认为write  
  3. password-db = passwd       #密码数据库的路径  
  4. authzauthz-db = authz                #用户操作权限 

5. 修改passwd文件,其格式为:

  1. [users]  
  2. user1 = password1 
  3. user2 = password2 

6. 修改authz文件,格式为:针对每一个repo_name下的目录,指定每一个用户应该具有怎样的权限(注意每行前面不能有空格):

  1. [repo_name:/directory1]  
  2. user1 = rw        #user1具有read和write权限  
  3. [repo_name:/directory2]  
  4. user2 = r          #user2只具有read权限 

7. 在windows下用TortoiseSVN导入项目:
将项目初始文件,建立成包含以下三个文件夹的形式,其中项目根目录放入trunk下:

  1. svn_temp\trunk                    #包含项目整体的,稳定的代码  
  2. svn_temp\branch                 #包含项目的一个分支,如一个子功能  
  3. svn_temp\tag                       #标志项目的一个milestone,如一个release  
  4. 然后使用TortoiseSVN的import功能,这时可能会出现Permission denied的问题,这是因为上传文件的目录的owner是root,需要修改目录的owner:  
  5. Can't open file '/var/www/svn/repo_name/db/txn-current-lock': Permission denied  
  6. $ cd /var/www/svn  
  7. $ chown -R apache.apache repo_name  
  8. # chcon -R -t -t http_sys_content_rw_t repo_name       #这一步不需要,因为已经关闭了selinux 

这样可能存在问题,就是任意用户如果知道了Linux SVN安装下载的地址,都可以import任意文件到repository中。这可能需要引入访问控制(to be continued)。

【编辑推荐】

  1. Linux SVN安装启动访问模式
  2. 建立Linux SVN仓库文件与安装及配置
  3. 利用本地Linux iso镜像进行相应的操作
  4. Linux WAS安装与准备环境
  5. Linux yum强大的基本操作

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...