CentOS搭建svn服务器支持https访问
安装相关软件
Apache
yum install httpd httpd-devel
Subversion
yum install mod_dav_svn subversion
SSL
yum install mod_ssl openssl
创建版本库
#mkdir /var/svn
#cd /var/svn
#svnadmin create myapp
#chown -R apache.apache myapp
#chcon -R -t httpd_sys_content_t myapp //selinux相关相似的,我添加了另一个版本库myapp2
修改配置文件/etc/httpd/conf.d/subversion.conf,添加如下内容
<Location /repos>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/svn/passwd //用户文件
AuthzSVNAccessFile /var/svn/authz //用户权限控制文件
Require valid-user
</Location>此处需要注意添加/var/svn/passwd文件的相关权限,否则可能出想权限错误。相关日志文件为/var/log/httpd/error_log 遇到问题要查看错误日志。
用户文件passwd的内容只能通过htpasswd命令添加
如添加用户leon
#htpasswd -c /var/svn/passwd leon //-c 表示新建一个文件,以后就不需要加了
相似的我添加了其他用户hailong,gao,wang
用户权限控制文件authz
[groups]
myapp = leon,hailong //myapp项目有两个成员leon和hailong
myapp2 = wang, gao
[myapp:/]
@myapp = rw //myapp组拥有myapp项目的读写权限,其他人无权限
[myapp2:/]
@myapp2 = rw这样就做到权限控制。
可能遇到的问题
1.权限问题
通过查看错误日志,添加相关权限。重点注意SeLinux引起的权限问题,可以暂时关闭SeLinux,方法:setenforce 0,SeLinux的管理方法参考CSDN网站http://blog.csdn.net/haiong0707/article/details/813763- 防火墙问题
关闭防火墙或者打开相关端口 通过上面的配置,SVN服务器通过HTTP访问基本就没有问题了,接着配置HTTPS访问
#cd /etc/pki/tls/private
#openssl genrsa -out my.key 1024
#openssl req -new -key my.key -out my.csr
#cd /etc/pki/tls/certs
#openssl x509 -req -days 365 -in /etc/pki/tls/private/my.csr -signkey /etc/pki/tls/private/my.key -out my.crt
以上步骤必须在相关文件夹下产生所需的文件,保证输入命令正确,保证产生文件所在文件夹正确,否则后面将可能发生错误
修改/etc/httpd/conf.d/ssl.conf文件
SSLCertificateFile /etc/pki/tls/certs/my.crt
SSLCertificateKeyFile /etc/pki/tls/private/my.key
修改/etc/httpd/conf/httpd.conf文件
<Directory />
Options FollowSymLinks
AllowOverride None
SSLRequireSSL //添加此行
</Directory>
重启httpd
#service httpd restart
如此SVN就只可以通过HTTPS访问了,并且能够对多个项目分配人员和权限。
可能遇到的问题
1.SVN开启HTTPS加密后,所有的WEB访问都变成HTTPS,例如,localhost将无法访问,需要访问https://localhost,这个应该是可以在https.conf文件中配置区分的,暂时不做处理,故建议此服务器不再当作WEB服务器。
----------------------------------------------------------------------------------------------------------------
localhost需要https的解决方法
不在httpd.conf添加 SSLRequireSSL ,添加到subversion.conf
<Location /repos>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/svn/passwd //用户文件
AuthzSVNAccessFile /var/svn/authz //用户权限控制文件
Require valid-user
SSLRequireSSL //需要https加密访问
</Location>
这样,只有/repos目录需要https加密访问,不影响httpd做web服务器
转载自:http://blog.csdn.net/haiong0707/article/details/8259235
Linux 下svn恢复到某一版本经常由于坑爹的需求,功能要切回到之前的某一个版本。有两种方法可以实现:方法1: 用svn merge1) 先 svn up,保证更新到最新的版本,如20;2) 然后用 svn log ,查看历史修改,找出要恢复的版本,如10 。如果想要更详细的了解情况,可以使用svndiff -r 10:20 [文件或目录];3) 回滚到版本号10:svnmerge -r 20:10 [文件或目录],注意版本号之间的顺序,这个叫反向合并;4) 查看当前工作版本中的文件,如test.cpp和版本号10中文件的差别:svn diff -r 10 test.cpp, 有差别则手动改之;5) 若无差别,则提交:svn ci -m“back to r 10,xxxxx” [文件或目录]。这时svn库中会生成新的版本,如21。方法2: 用svn up前2步如方法1,然后直接 svn up -r 10。当前的工作版本就是版本10了。但是注意,这时svn库中会并不会生成新的版本,下次在本地svn up之后,还是会回到之前的版本。
CentOS搭建svn服务器支持https访问的更多相关文章
- [记录]CentOS搭建SVN服务器(主从同步)
CentOS搭建SVN服务器(主从同步)1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: #/ ...
- CentOS搭建SVN服务器,并通过Apache HTTP方式访问
摘要:本文主要讲述了在centos 6.5环境下搭建svn服务器,可通过svn:\\IP方式访问.同时由于部分公司内网端口限制,并不能访问外网的svn服务器,所以特地结合了apache服务器,使得可以 ...
- ubuntu搭建svn服务器并htpp访问版本库并svn与web同步
Ubuntu搭建SVN服务器多版本库 1 介绍 Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况.这样就可 ...
- 【svn】Centos搭建svn服务器环境
1.需求描述 在Centos系统中搭建svn服务器环境 2.搭建过程 2.1 yum安装svn [root@localhost /]# yum install svn 2.2 新建目录存储svn目录 ...
- centos7 搭建svn服务器&客户端的访问&备份迁移
当今用于版本控制的软件程序主要的有svn和git,其它软件咱不熟悉,今天记录下搭建svn服务器和svn客户端使用: 使用环境:虚拟机为centos7系统,svn服务器安装在centos7系统平台上,s ...
- CentOS 搭建 SVN 服务器 及使用教程
服务器与客户端 1.搭建SVN服务器 ① CentOS安装SVN 命令: yum -y install subversion 检查是否安装成功 命令: svn --version 如果显示如下内容说明 ...
- centos搭建svn服务器
1.在centos6.5上面搭建svn服务器,安装svn服务器:yum install subversion 2.在任意目录下创建仓库目录,这里放在/data/mypros目录下 3.执行命令:svn ...
- Linux(CentOS)搭建SVN服务器全攻略
虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN 安装#yum ...
- 使用Linux(CentOS)搭建SVN服务器全攻略
虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN 安装 #yu ...
随机推荐
- Java通过JNI调用C
Java调用C有多种方式,本文介绍笔者最近的学习过程,避免今后再犯类似的错误. 首先,Java肯定是调用C的动态链接库,即通过编译器编译后的dll/so文件. 下面介绍gcc编译dll的方法. 一般情 ...
- parastor2000挂载方式
1.先授权 2.客户端安装使用0528parastor-client-centos6.6-38390.tar.xz clusconf -f fatnodes --sync-do "cd /m ...
- Python网络socket学习
Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...
- 网站SEO优化之添加Sitemap文件。
Sitemap.xml 故名思意就是站点地图文件,可以指引Google spider 收录相应网页.正确地使用Google Sitemap,可以确保让Google spider 不遗漏网站内的任何页面 ...
- iOS: 如何正确的绘制1像素的线
iOS 绘制1像素的线 一.Point Vs Pixel iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量.系统在实际渲染到设置时会帮 ...
- HDOJ 3507 Print Article
Print Article Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)To ...
- java之stream(jdk8)
一.stream介绍 参考: Java 8 中的 Streams API 详解 Package java.util.stream Java8初体验(二)Stream语法详解 二.例子 im ...
- C# switch
要开学了(啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊) 做个沉默的行动者吧!(嘘嘘嘘嘘嘘嘘)今天去水题发现好多基础都不知道啊 1. switch(控制语句) { case 常量表达式:{statement ...
- 实操UNITY3D接入91SDK安卓版
原地址:http://bbs.18183.com/thread-149758-1-1.html 本文内容为创建UNITY3D接入91SDK的DEMO的具体操作过程.本人水平有限,UNITY3D与And ...
- Linux使用手册-vi使用手册
vi使用手册 VI是unix上最常用的文本编辑工具,作为unix软件测试人员,有必要熟练掌握它. 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filen ...