ubuntu10.10 搭建svn服务器 配合Apache2实现目录访问权限控制
2012-02-16 14:56
561 查看
1.安装
# sudo apt-get install subversion subversion-tools # sudo apt-get install apache2 libapache2-svn
2.增加svn用户组,用于管理svn,并加入到www-data的apache组:
# sudo addgroup subversion # sudo usermod -G subversion -a www-data
3.然后可以创建svn项目仓库了:
# 一般可以将项目仓库建立到/home/svn目录 # 假设项目名为myproject,先建立空目录 $ sudo mkdir /home/svn $ cd /home/svn $ sudo mkdir myproject $ sudo chown -R root:subversion myproject #创建为svn项目,使用以下命令 $ sudo svnadmin create /home/svn/myproject # 然后才赋予组成员对所有新加入文件仓库的文件拥有相应的权限: # 如果命令顺序搞错,可能会报错,请参照官方wiki $ sudo chmod -R g+rws myproject
4.最后是配置apache2,用http协议访问svn服务:
# 在安装了libapache2-svn时会自动生成该文件 $ sudo vi /etc/apache2/mods-available/dav_svn.conf # 编辑dav_svn.conf配置文件,内有注释,可以去掉前面的#使语句生效,最后内容大概如下即可: <Location /svn> #/svn表示http://hostname/svn/myproject DAV svn SVNParentPath /home/svn #配置仓库父目录 AuthType Basic AuthName "welcome to subversion repository" AuthUserFile /etc/subversion/dav_svn.passwd #svn用户文件 AuthzSVNAccessFile /etc/subversion/dav_svn.authz #授权访问文件 Require valid-user </Location>
5.创建svn用户文件/etc/subversion/passwd 和 授权访问文件/etc/subversion/authz:
创建svn用户文件:
#首次创建需要加-c选项,同时可以增加一个svn用户 #执行该命令会提示为新用户user_name设置密码 sudo htpasswd -c /etc/subversion/passwd user_name #以后添加新用户,需要去掉-c选项,否则以前的用户就被覆灭了 sudo htpasswd /etc/subversion/passwd new_name创建svn授权访问文件(用于多个svn项目,划分不同的用户组):
#用户组指令 [groups] #格式为 组名 = 用户名1,用户名2 group1 = user1, user2 group2 = user1, user3 #other groups... #格式为 svn项目的仓库名:对应目录 [svn_repository_name:/] #设置组的权限,r=read, w=write @group1 = rw [svn_repository_name2:/web/css] @group2 = rw
6.改完最后重启apache:#sudo
/etc/init.d/apache2 restart。这样工作就全部完成了。
参考http://cssor.com/ubuntu-server-svn.html
创建布局
可以在客户端使用svn mkdir在版本库中逐个创建诉需要的目录,更快的方式是使用svn import命令:首先在本地创建一个临时目录,并按照设计好的布局在其下面创建子目录,然后通过svn import一次性提交整个布局到版本库中, 然后删除这个临时目录:
$ mkdir tmp
$ mkdir tmp/project_A/trunk
$ mkdir tmp/project_A/branches
$ mkdir tmp/project_A/tags
$ cd tmp
$ svn import . file:///home/svn/project_A -m "Initial repositorylayout" (必须标注修改信息)
$ cd ..
$ rm -fr tmp
然后可以用svn list确认导入的结果是否正确:
$ svn list --verbose file:///home/svn/project_A
相关文章推荐
- svn 实现精细的目录访问权限控制
- ubuntu上搭建svn服务器,实现版本控制和多台电脑文件互传
- svn 实现精细的目录访问权限控制
- svn 实现精细的目录访问权限控制(转载)
- Cent OS上配置Apache2 + SVN(续)实现对目录访问的精确控制
- Ubuntu Server 安装 Subversion实现精细的目录访问权限控制 安装Subversion和Apache sudo apt-get install subversion li
- Ubuntu16.04下搭建SVN服务器+apache2和添加版本库
- [摘]Subversion之路---实现精细的目录访问权限控制
- 您不具备查看该目录或页面的权限,因为访问控制列表 (ACL) 对Web服务器上的该资源进行了配置
- SVN精确地控制目录访问权限的经验总结
- Subversion之路---实现精细的目录访问权限控制
- Subversion之路--实现精细的目录访问权限控制
- SVN精确地控制目录访问权限的经验总结
- CentOS6.5 Nginx搭建web服务器,实现平滑升级,虚拟主机及访问控制
- Centos7上搭建SVN服务器并实现自动同步至web目录
- 在Centos7上搭建SVN服务器并实现自动同步至web目录
- Subversion实现精细的目录访问权限控制
- Subversion之路-----实现精细的目录访问权限控制
- Subversion之路--实现精细的目录访问权限控制
- ubuntu搭建svn服务器+apache http访问