yum -y install subversion httpd mod_dav_svn 使用yum命令安装svn(subversion),httpd(apache服务器)和svn在apache上的插件(mod_dav_svn)

安装过程

安装完成

rpm -q subversion 查看svn安装信息

svnserve --version 也可以使用svnserve 命令加选项的方式查看svn版本信息

rm -rf /opt/svndata 先删除svndata这个目录和它的子目录
mkdir -p /opt/svndata/oa 递归方式创建svn数据仓库oa目录
svnadmin create /opt/svndata/oa 创建svn数据仓库oa版本库

ls -l /opt/svndata/oa 查看oa版本库目录的长格式信息

ls -l /opt/svndata/oa/conf 查看oa版本库目录中conf目录所有信息,这三个文件是用来控制svn权限的

authz表示每个用户的权限设置信息

passwd表示每个用户和密码存储信息

svnserve.conf表示svn用户和权限的配置信息

vim /opt/svndata/oa/conf/svnserve.conf 修改svnserve.conf文件

1、为每一个工厂创建属于自己独立的用户和权限管理,注意:svn不识别配置文件中开头带空格的参数,下面这幅图是带空格开头的,这是错误的。

2、为每一个工厂创建公用的用户和权限管理,注意:svn不识别配置文件中开头带空格的参数

mkdir -p /opt/svn/conf/ 递归方式创建/opt/svn/conf目录
cp -p /opt/svndata/oa/conf/authz /opt/svn/conf/authz.conf 复制/opt/svndata/oa/conf/authz文件到/opt/svn/conf/authz.conf,保留文件属性信息
cp -p /opt/svndata/oa/conf/passwd /opt/svn/conf/passwd.conf 复制/opt/svndata/oa/conf/passwd文件到/opt/svn/conf/passwd.conf,保留文件属性信息
ls -l /opt/svn/conf 查看/opt/svn/conf目录所有长格式信息

vim /opt/svn/conf/passwd.conf 编辑用户配置文件passwd.conf
注意:
* 对用户配置文件的修改立即生效,不必重启svn。
文件格式如下:
[users]
<用户1> = <密码1>
<用户2> = <密码2>
其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:
[users]
wyp = wyppwd
shuaige = shuaigepwd
为了简化配置,多个版本库共用1个权限配置文件/opt/svn/conf/passwd.conf。如有必要,也可以分开。

配置svn用户访问权限vim /opt/svn/conf/authz.conf
文件中定义用户组和版本库目录权限。
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
<用户组名> = <用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。
oa:/,表示对版本库oa设置权限
oa:/abc, ,表示对版本库erp中的abc项目设置权限
oa:/abc/aaa, ,表示对版本库erp中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
admin = wyp
[/]
@admin = rw 组admin设置读写权限
* =  所有用户设置无权限
[oa:/]
@admin = rw
wyp = rw
[oa:/abc]
meinv =  用户meinv设置无权限
[oa:/abc/aaa]
shuaige = rw 用户shuaige设置读写权限
svn配置完毕,删除无用文件
rm /opt/svndata/oa/conf/authz
rm /opt/svndata/oa/conf/passwd
vim /opt/svn/conf/authz.conf 编辑权限配置文件authz.conf

svnserve -d -r /opt/svndata 启动svn服务器

service iptables stop 临时关闭防火墙

在windows系统中,D:\创建oa目录,进入oa目录,右键菜单选择svn检出

输入用户名和密码

检出完成!

在D:\oa目录中创建abc目录,注意abc文件夹图标样式“?”,右键菜单选svn提交

选"全部(A)",点"确定"按钮

提交时需要输入用户名和密码之后,点"确定"按钮关闭认证窗口,点"确定"按钮关闭后面的提交窗口。

查看abc文件加图标样式“对勾”。

svn co svn://192.168.6.3/oa  连接SVN服务器,需要提示输入用户名和密码
输入用户wyp和它的密码,看到获取oa版本库成功,说明大功告成啦。
svn co svn://192.168.6.3/oa  连接SVN服务器,需要提示输入用户名和密码
输入用户shuaige和它的密码,获取oa版本库失败,原因为shuaige没有获取oa的权限。

svn co svn://192.168.6.3/oa/abc  测试服务器,需要输入密码

输入用户wyp和它的密码,获取oa版本库的abc目录成功

输入用户shuaige和它的密码,获取oa版本库的abc目录成功

配置SVN服务器的HTTP支持
cd /opt/svndata/oa/conf  切换到oa版本库的conf目录下
vim PtoWP.pl 这个文件,或者直接复制这个文件到当前目录中,修改 "passwd.conf"为"/opt/svn/conf/passwd.conf"
 #!/usr/bin/perl

 use warnings;
use strict; #open the svn passwd file
open (FILE, "/opt/svn/conf/passwd.conf") or die ("Cannot open the passwd file!!!\n"); #clear the apache passwd file
open (OUT_FILE, ">webpasswd") or die ("Cannot open the webpasswd file!!!\n");
close (OUT_FILE); #begin
foreach (<FILE>) {
if($_ =~ m/^[^#].*=/) {
$_ =~ s/=//;
`htpasswd -b webpasswd $_`;
}
}

PtoWP.pl

./PtoWP.pl  执行这个文件,现在目录下会多一个webpasswd文件。

cat webpasswd 查看webpasswd文件,注意密码是密文格式的

vim /etc/httpd/conf/httpd.conf 修改httpd.conf,添加关于SVN服务器的内容,编辑/etc/httpd/conf/httpd.conf,在最后添加如下信息:
 <Location /oa>
DAV svn
SVNPath /opt/svndata/oa/
AuthType Basic
AuthName "svn for oa project"
AuthUserFile /opt/svndata/oa/conf/webpasswd
AuthzSVNAccessFile /opt/svndata/oa/conf/authz
Satisfy all
Require valid-user
</Location>

httpd.conf


<Location /oa>表示在url地址是http://192.168.6.3/oa时访问的就是/opt/svndata/oa/ 。
/opt/svndata/oa/表示我们要将svn的创库放在这个位置,当然你也可以放在其它位置。
AuthUserFile /opt/svndata/oa/conf/webpasswd指明了svn用户信息文件是/opt/svndata/oa/conf/webpasswd 。修改后保存文件。

service httpd restart 重新启动HTTPD服务器

如果出现下图的情况,需要进一步设置

rpm -ql httpd | grep httpd.conf 查找httpd.conf文件

cat /etc/httpd/conf/httpd.conf | grep -n ServerName 查找ServerName字符串所在位置,显示行号

vim /etc/httpd/conf/httpd.conf 编辑/etc/httpd/conf/httpd.conf这个文件

输入:set nu回车显示行号,276G定位到276行,然后删除"#"号,取消这一行的注释

service httpd restart 重新启动HTTPD服务器

看到此图的结果,表示成功!

在浏览器中输入http://192.168.6.3/oa/回车之后,输入用户名和密码之后,点“确定”按钮

如果看到下图说明你的apache服务器还是缺少配置信息的修改,apache默认是不允许访问的

cat /etc/httpd/conf/httpd.conf | grep -n Deny 查找Deny字符串并显示行号

vim /etc/httpd/conf/httpd.conf 再次编辑httpd.conf文件,修改417行的代码,其它行都是注释不用管它

修改前:

修改后:

cat /etc/httpd/conf/httpd.conf | grep -n Directory

修改前:

修改后:

service httpd restart 重新启动HTTPD服务器

配置http访问svn成功!

转:http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html

Linux-yum在线安装svn步骤的更多相关文章

  1. centos在线安装svn

    centos在线安装svn 用下列命令安装svn服务 yum install subversion 创建svn版本库目录 mkdir -p /var/svn/svnrepos 创建版本库 svnadm ...

  2. Eclipse在线安装SVN

    一.SVN在线安装 下面为在线安装SVN插件.以下是在线安装步骤: 其中http://subclipse.tigris.org/update_1.10.x是最新版本的SVN插件的下载站点[subcli ...

  3. 转】Eclipse在线安装SVN

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4354199.html 感谢! 对于,搞大数据的博主我,svn是需要了解的,很多源码包! 一.SVN在线安装 下面 ...

  4. eclipse在线安装svn插件

    原文地址:http://www.cnblogs.com/xdp-gacl/p/4354199.html Eclipse在线安装SVN 一.SVN在线安装 下面为在线安装SVN插件.以下是在线安装步骤: ...

  5. Linux中在线安装Mysql和修改密码设置服务启动

    一.说明:本文教大家在linux下在线安装mysql.网上的很多文章写的太乱,我们只取操作最方便的在线安装方式.本文以Centos为例. 二.安装过程. 1.安装客户端和服务端: (1)检查是否已经安 ...

  6. eclipse在线安装svn插件subclipse

    eclipse在线安装svn插件subclipse 1 Help > Eclipse Marketplace,打开Eclipse Marketplace 2 切换到Search,输入subcli ...

  7. 第4章 yum在线安装

    1.概述 <1>rpm包的安装过程中,rpm包的依赖性太强 如果所有rpm包都是手工安装,则rpm包使用难度较大, 因而出现了yum在线安装的方法 <2>好处:将所有软件包放到 ...

  8. android stuido 在线安装svn插件,添加版本库无响应

    问题:android stuido 中在线安装svn插件,添加版本库无响应. 原因: 由于android stuido 版本较高,在线安装1.6x 版本的svn,添加版本库一直没有响应,最后卡死.. ...

  9. CentOS 通过yum在线安装MySQL5.7

    CentOS 通过yum在线安装MySQL5.7 Step1: 检测系统是否自带安装mysql # yum list installed | grep mysql Step2: 删除系统自带的mysq ...

随机推荐

  1. MySQL 之 Index Condition Pushdown(ICP)

    简介 Index Condition Pushdown (ICP)是MySQL 5.6 版本中的新特性,是一种在存储引擎层使用索引过滤数据的一种优化方式. 当关闭ICP时,index 仅仅是data ...

  2. CentOS下的RPM包制作教程收集(rpmbuild)

    http://www.jinbuguo.com/redhat/rpmbuild.html(中文手册) https://www.linuxidc.com/Linux/2016-09/134955.htm ...

  3. CentOS6 下编译安装 MySQL 5.6.26

    CentOS6下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.26. 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | ...

  4. HDU 4577 X-Boxes

    X-Boxes Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Sub ...

  5. x64 寄存器使用

    http://blog.csdn.net/cosmoslife/article/details/8771773 http://blog.csdn.net/herx1/article/details/3 ...

  6. 利用tca时间聚簇分析方法分析fmri数据

    一.利用ica进行fmri数据分解时,在得到相互独立的成分后,这些成分的后续处理,其实是有很多文章可以做的.比如,对这些成分进行排序和选择.如果能够提出某种方法,能够自动地制造特征,并将这些特征与分解 ...

  7. Junit初级篇

    @Test介绍 @Test是我们在写测试脚本时最常用到的,大部分情况下如果没用这个注解,一个方法就不能成为测试用例.如下代码是一个最普通的测试脚本: import org.junit.Assert; ...

  8. C#调用API向外部程序发送数据

    C#调用API向外部程序发送数据 最近有可能要做一个项目.在项目中有这么一个功能,在A程序中调用B程序,同时在A程序中进行登陆后,要将A程序的登录名和密码自动填充到B程序的登陆对话框中,这样B程序就不 ...

  9. mac的dns缓存查询和清除

    1.清楚dns缓存 dscacheutil -flushcache 2.查询nslookup

  10. iOS:CoreData数据库的使用二(创建多个数据库表,表之间有对应关系)

    CoreData数据库框架是一个封装性好,功能强大数据库,它底层使用的还是sqlite数据库,不过苹果公司在其基础上,为其封装新和安全性的维护上做了大量的处理,例如对一些事物做了详细的操作,如读脏数据 ...