首先确认SVN和APACHE的版本,1.4.3版本以下的SVN不支持2.2.X的APACHE。查看版本可以用yum info Subversion或者rpm -qa |grep Subversion。
以下为配置过程:
Subversion的建立与使用仓库使用
#mkdir /var/repos
在这里假设设置/var/repos目录下的svn1和svn2两个目录为仓库。
svnadmin create /var/repos/svn1
svnadmin create /var/repos/svn2
用root用户,在运行完这两个程序之后要将这两个目录的所有者权限更改为启动APACHE的用户,这样才能正常CheckIn,可以使用命令chown –R apache:apache /var/repos
修改Apache的配置文件httpd.conf:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule dav_module modules/mod_dav.so
LoadModule authz_svn_module modules/mod_authz_svn.so
默认没有mod_dav_svn.so的,使用yum install mod_dav_svn.i386
如果/etc/httpd/conf.d/subversion.conf存在,在这个文件中更改也是一样。LoadModule和下面的Location都可以在此文件中添加。
然后配置仓库:
<Location /svn>
DAV svn
SVNParentPath /var/repos
</Location>
然后,配置验证方式:
这里使用Apache的验证方式:
htpasswd -cm /etc/svn-auth-file Username1
然后,会提示输入密码,这里就加入了一个用户了,并且在/etc下创建了svn-auth-file文件。
然后再加别的用户可以用以下命令(也可作为修改密码来使用,实在不想要这几个用户了,删掉重建就是,不过要对应修改svn-access-file):
htpasswd -m /etc/svn-auth-file Username2
htpasswd -m /etc/svn-auth-file Username3
然后修改配置:
<Location /svn>
DAV svn
SVNParentPath /var/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
AuthzSVNAccessFile /etc/svn-access-file
</Location>
下面,就要写这个svn-access-file文件了,它是用来控制用户访问仓库的权限的,我们把说明写在后面
[svn1:/] //这表示,仓库svn1的根目录下的访问权限
dl1 = rw // svn1仓库dl1用户具有读和写权限
dl2 = rw // svn1仓库dl2用户具有读和写权限
dl3 = r // svn1仓库dl3用户具有读权限
[svn2:/] //svn2仓库根目录下的访问权限
harry = r // harry用户在svn2仓库根目录下只有读权限
sally = // sally用户在 svn2仓库根目录下无任何权限
#[/] // 这个表示在所有仓库的根目录下
#* = r // 这个表示对所有的用户都具有读权限
#[groups] // 这个表示群组设置
#svn1-developers = harry, sally // 这个表示某群组里的成员
#svn2-developers = sally
#[svn1:/]
#@svn1-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置
将这个设置完成后。重启Apache,就可以通过
http://localhost/svn/svn1
http://localhost/svn/svn2
这两个URL来访问仓库了,当然,要受权限的限制,必须是合法用户才能访问且具有相应的权限
客户端的使用,可以通过许多客户端GUI软件来用。比如TortoiseSVN就很好用。
官方网址:http://tortoisesvn.tigris.org/
另注:
修改SELINUX权限
# chcon -R -h -u system_u -t httpd_sys_content_t /var/svn
注意:在SELINUX中,安全性得到了加强。如果不进行这样的修改,客户端访问时就会报错“Could not open the requested SVN filesystem.”。
可以关闭SELinux并打开防火墙关于Apache的端口。
分享到:
相关推荐
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有...
Chapter 1: Starting with Fedora Linux . . . . . . . 1 Chapter 2: Installing Fedora and Adding Software . . . . .13 Chapter 3: Using the Shell . . . . . . . . . 33 Chapter 4: Working with Files . . . ....
Fedora Linux Toolbox - 1000+ Commands for Fedora, CentOS and Red Hat Power Users
介绍各个Linux版本区别,对于学习Hadoop及安装Hadoop提供一个预备知识积累
为CentOS / Debian / Ubuntu安装LAMP(Linux + Apache + MySQL / MariaDB / Percona Server + PHP)描述LAMP是一个功能强大的bash脚本,用于安装Apache + PHP + MySQL / MariaDB / Percona Server等。 您可以通过...
fedora+7+安装图解 fedora+7+安装图解 fedora+7+安装图解
chrome.rpm redhat,fedora,centOs适用,
Fedora 9下VMWareTools安装步骤
svn fedora图形界面工具 很不错 不过还是要了解命令行
fedora-swift, 在Fedora和 CentOS x64 linux发行版上,编写快速语言的脚本 fedora-swiftFedora和CentOS中的Swift 语言的构建脚本。 注:CentOS脚本仍在进行中。注意:针对 Swift 3.1和 Fedora 25的新版本现在可以在 ...
自己整理的svn命令,还比较全面,贴出来与大家分享,希望对大家有用
此脚本在 Debian、Ubuntu、LinuxMint、Red Hat、Fedora 和 CentOS 上的 Tomcat 7 中安装当前的多核 Apache Solr 4.xx。 它将选择安装随 Drupal Apache Solr 或 Search API Solr 模块提供的 Solr 4.x 配置。 安装 有...
fedora 9中samba共享的设置方法
fedora 5 telnet配置fedora 5 telnet配置fedora 5 telnet配置fedora 5 telnet配置fedora 5 telnet配置fedora 5 telnet配置fedora 5 telnet配置
在vmware下安装Fedora9时同时安装vmtools的方法和安装包,以及修复鼠标错误bug
Fedora 10完全安装+虚拟工具安装+共享文件夹设置
RedHat、CentOS与Fedora CentOS操作系统的安装 06 SecureCRT远程终端的使用 CentOS操作系统的安装 5 安装前的准备 获得CentOS安装镜像 从CentOS的镜像站点下载 ISO文件 /centos/7/isos/x86_64/ /centos/ /centos/ ...
nec的socks代理服务器,在fedora14和centOS上都编译通过可以运行的~ 请按照文件夹下的txt文档记录的过程来对源代码进行替换等~ (另外附一个rpm包,可以直接用rpm包安装,比较简单)
Fedora9本地安装配置中文输入法,对Fedora9中im-chooser的bug进行修复。