仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 570|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 给大家带来CentOS搭建svn办事器撑持https会见

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:17:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!关于svn,之前我也不懂得这是个甚么器材,客岁(年夜二)的时分,在黉舍打仗过一个项目,事先就用到了这个,也都不是我设置的,都是他人给我整好了,我就写代码呗,写了就提交上往,事先也没有思索过甚么事svn,如今在公司练习了,工夫很丰裕,就想玩玩svn,也特地把我筹办做的卒业计划都传上往,阿里云给了我时机,老手注册,ECS收费半年,多好的事,固然没有外网带宽,可是买1M的外网带宽也就20多块钱一个月吧!我仍是能够承受的,好了不空话了,阿里云在这里就不空话了,归正感到很宏伟上,在这里就复杂聊聊svn吧!也是自创了良多小同伴们的博客!
svn,subversion的缩写,版本把持体系,项目中一定用到它吧应当,特别是团队开辟,小同伴们修改了某个文件,传到办事器上往,其他的小同伴更新一下本人本机,如许我们的本机情况一直都能够包管是分歧的,给开辟带来了良多的便当性。而且他会纪录版本,你每提交更新一次,城市发生一个版本出来,假如错了,还能够用绝对较长远的版本对其举行规复,固然了,我如今还不很分明,规复的详细操纵!明天先容一下怎样搭建SVN办事器!
起首,我们要明白的是,svn能够在离开数据库的情形下,存储数据!一样平常的静态web网站,一定都没法分开数据库吧,只要N年前的静态html站点才是逝世的!
更多常识能够看看:http://www.ckuyun.com/developerworks/cn/java/j-lo-apache-subversion/

阿里云给我供应的是CentOS5.864位体系,而且撑持SSH,如许我就能够用putty近程操纵它了!
svn撑持https会见,以是最少,你必要装置的有三个模块:


  • svnyuminstallmod_dav_svnsubversion
  • apacheyuminstallhttpdhttpd_devel
  • opensslyuminstallmod_sslopenssl
起首装置svn:
利用root账号往登录以后,间接输出下令就好了:yuminstallmod_dav_svnsubversion
一般情形下,体系会主动的往下载所必要的数据包,然后活提醒你是不是当即装置,确认装置就是了
上面入手下手设置svn,让办事器能够经由过程svn://的会见体例
1.创立svn办事器根文件夹:
[quote]#mkdir/home/svn
那末今后我的每一个项目,假如必要提交到svn办事器上,我都应当放到这个路径上面往了
2.创立一个版本库
如今必要创立一个版本库,名字任意吧,只管本人看懂哈!
#svnadmincreate/home/svn/lfdcwtjxt
然后入手下手设置svn办事器,我仍是对照喜好用vi编纂器来编写基本文件,我不是玩linux的哈,我做java开辟的,linux就会一点基本的器材!
在这里,必要注重的是,假如svn上面未来会有良多个项目标时分,我的倡议是,专门创建一个一致的用户文件和权限文件,我也是这么做的!而且我都是放在svn根目次下,即:/home/svn/
实在在/home/svn/lfdcwtjxt/conf/路径下已有了一个名叫passwd的文件了,这个就是一个用户文件,可是我不必他,我独自创建了一个一致办理用户的文件:
新建用户文件:(用vi编纂器就能够)
#vi/home/svn/svn_passwd
#:wq
对用户文件的内容能够是:(键值对的体例:用户名=暗码)
[users]
hujie=hujie123
接上去必要设置用户的读写权限,一样的,独自新建一个文件,来办理一切的项目

#vi/home/svn/svn_authz
#:wq
文件的内容一样平常有如许几个局部:[aliases]
[groups]svn的用户组
admins=hujieadmins用户组下今朝只要hujie一个用户,多个用英文逗号离隔
[lfdcwtjxt:/]lfdcwtjxt版本库的根目次
@admins=rw用户组后面必要加上@标记,rw暗示读、写权限
*=其他统统用户连读都不让读
好了,如许独自的用户与权限文件也就创建好了,我们必要在lfdcwtjxt版本库内里往设置让其失效,编纂/home/svn/lfdcwtjxt/conf/svnserve.conf
[general]
anon-access=none
auth-access=write
password-db=/home/svn/svn_passwd这就是我创建的一致用户文件
authz-db=/home/svn/svn_authz我创建的一致的权限文件
3.启动办事
如今启动svn办事,就能够用svn://的体例会见了,倡议是间接用上面的体例往启动
#svnserve-d-r/home/svn
然后测试一下:
#svncosvn://localhost/lfdcwtjxt
会提醒你输出用户名,暗码,就和近程用putty毗连近程主机很相似,登录出来就能够看到有关路径和文件信息了,
我之前用的/etc/init.d/svnserverestart体例启动,就碰着实践上并没有启动乐成的征象,把持台是显现启动ok了,可是运转身份不是root,也招致没法用svn://的体例往会见,呈现的毛病是:
Norepositoryfoundinsvn://localhost/lfdcwtjxt
这个毛病,起首要包管上述的权限文件设置对了,也就是[lfdcwtjxt:/]这个中央
然后就是办事的确启动了,我用第一种***启动就一般,第二种就呈现这个毛病了
可是如今仍是不克不及够经由过程扫瞄器用http://的会见体例往会见,必要装置httpd
4.装置apache撑持
#yuminstallhttpdhttpd_devel
一样,一样平常都是下载,然后提醒是不是当即装置,装置便可,
5.这时候候也是必要设置的:
第一步是新曾一个httpd的用户(不是svn用户,他们对用户考证是自力的)
#htpasswd-c/home/svn/svn_http_passwdhujie
依据提醒,输出暗码便可
给httpd增加用户,必需是htpasswd下令,第一次增加必要新建文件,带上-c参数,今后就不必要了
第二部必要修正一下这个文件/etc/httpd/conf.d/subversion.conf增加以下信息
<Location/svn>
DAVsvn
#SVNPath/home/svn/lfdcwtjxt//假如你只要一个版本库能够用它
SVNParentPath/home/svn///多个版本库用它,共同SVNListParentPath
SVNListParentPathon//多个版本库的时分能够用他,共同SVNParentPath
AuthTypeBasic
AuthName"AuthorizationRealm"
AuthUserFile/home/svn/svn_http_passwd//不成与svn的用户公用一个文件
AuthzSVNAccessFile/home/svn/svn_authz//这个能够与之前的谁人权限文件公用
Requirevalid-user//必要考证用户
</Location>
上述必要注重的是:/home/svn/svn_http_passwd不该该与svn配合利用一个用户文件,缘故原由是httpd与svn用户都是独自的,前者会对用户文件中的暗码举行加密,后者则不会加密,我之前用的就是公用的,然后招致用svn://会见,暗码一直都是毛病的
<Location/svn>,那末会见的时分,会见体例就酿成了..../svn/lfdcwtjxt了
6.启动httpd办事
servicehttpdrestart
然后用扫瞄器就能够会见了,好比:http://192.168.0,1/svn/lfdcwtjxt
输出用户名和暗码便可
如今还不克不及撑持https://的会见体例呢,eclipse内里仿佛是必需为https://
上面持续吧!
7.装置openssl
#yuminstallmod_sslopenssl
仍是一样,先主动下载,然后提醒是否是装置,装置便可
上面的这些操纵,暗示我不很分明,我是依照小同伴们的唆使,这么做的:
#cd/etc/pki/tls/private
#opensslgenrsa-outmy.key1024
#opensslreq-new-keymy.key-outmy.csr
#cd/etc/pki/tls/certs
#opensslx509-req-days365-in/etc/pki/tls/private/my.csr-signkey/etc/pki/tls/private/my.key-outmy.crt
到这一步的时分,会让你输出良多器材
上面openssl会请求为证书输出一些相干信息:
CountryName(2lettercode)[XX]:CH
StateorProvinceName(fullname)[]:BEIJING
LocalityName(eg,city)[DefaultCity]:BEIJING
OrganizationName(eg,company)[DefaultCompanyLtd]:173LU.COM
OrganizationalUnitName(eg,section)[]:CS
CommonName(eg,yournameoryourservershostname)[]:hujie
EmailAddress[]:5349691@qq.com
然后仍是要你输出信息,不外这时候候enter能够停止输出了,没需要的就不输出了哈!
这时候,在目次/usr/local/apache2/conf/下天生了两个文件:server.key,server.crt
8.修正/etc/httpd/conf.d/ssl.conf文件
SSLCertificateFile/etc/pki/tls/certs/my.crt
SSLCertificateKeyFile/etc/pki/tls/private/my.key
9.修正/etc/httpd/conf/httpd.conf文件
<Directory/>
OptionsFollowSymLinks
AllowOverrideNone
SSLRequireSSL//增加此行
</Directory>
假如是修正的/etc/httpd/conf/httpd.conf文件的话,localhost大概就没法会见了,也能够不在这修正,能够修正/etc/httpd/conf.d/subversion.conf
<Location/svn>
DAVsvn
#SVNPath/home/svn/lfdcwtjxt
SVNParentPath/home/svn/
SVNListParentPathon
AuthTypeBasic
AuthName"AuthorizationRealm"
AuthUserFile/home/svn/svn_http_passwd
AuthzSVNAccessFile/home/svn/svn_authz
Requirevalid-user
SSLRequireSSL//在这里增加加密会见设置
</Location>
如许就能够了
10.重启httpd
servicehttpdrestart
好了,如今能够往eclipse,把工程share了,条件是eclipse有svn插件哈!然后提交到svn办事器上往了
到了这,我仍是碰到成绩了,eclipse下提交的时分呈现的:
Cantopenfile/home/svnroot/repository/test/db/txn-current-lock:Permissiondenied
我这里呈现这个缘故原由是:之前创立利用root创立的,用hujie登录,目次权限不太一样,以是修正了一下权限就能够了:
cd/home
sudochmod777-Rsvn
我在网上还看到其余小同伴们用的办理计划:
http://aben328.iteye.com/blog/1070850
http://www.ckuyun.com/macula7/archive/2011/06/08/2075150.html
http://blog.csdn.net/spring21st/article/details/22556555
今天是周日,完了,我要睡一上午了!!!!!
值得注重的几个成绩:
成绩1:
前期增加新的版本库操纵
[quote]svnadmincreate/home/svn/newSubversionName
设置新创建的版本库,为其设置用户文件信息与权限文件信息(在这里我利用的是一致的办理文件,每一个版本库中城市在conf文件夹下自带一个passwd用户文件和authz权限文件,而我利用的是自行创建的一个一致办理用户与权限的文件,在svn根目次/home/svn/路径下:svn_http_passwd、svn_authz)
修正新建版本库路径下的svnserver.conf,
修正的内容参考上述设置内容

假如必要增加新的用户:
[quote]htpasswd-c/home/svn/svn_http_passwduserName
假如这个http的用户文件已存在了,那末就能够不加参数-c了
依据提醒输出两次暗码便可
假如必要修正权限,间接编纂svn_authz便可

然后最好是重启httpd办事和svnserver
/etc/init.d/httpdstop
/etc/init.d/svnserverstop
/etc/init.d/httpdstart
/etc/init.d/svnserverstart
(仿佛是能够间接用restart取代哈)
[/quote]成绩2
相干简单搅浑的信息
[quote]权限文件:这里实在有两种,分离是svn版本库自己的和httpd办事的,可是可使用统一个
用户文件:这里也是两种,一个是svn自己的,暗码是明文,如hujie=hujie123,一个是httpd的,可是暗码是加密的,以是就不克不及利用不异的一个文件了
[/quote][/quote][/quote]如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
变相怪杰 该用户已被删除
沙发
发表于 2015-1-15 11:49:54 | 只看该作者

给大家带来CentOS搭建svn办事器撑持https会见

介是神马?!!
飘飘悠悠 该用户已被删除
板凳
 楼主| 发表于 2015-1-24 15:51:17 | 只看该作者
期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?
透明 该用户已被删除
地板
发表于 2015-2-2 11:26:01 | 只看该作者
让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。?
admin 该用户已被删除
5#
发表于 2015-2-7 20:31:47 | 只看该作者
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
谁可相欹 该用户已被删除
6#
发表于 2015-2-23 20:54:41 | 只看该作者
通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。
爱飞 该用户已被删除
7#
发表于 2015-3-7 11:56:05 | 只看该作者
主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
小魔女 该用户已被删除
8#
发表于 2015-3-15 07:37:09 | 只看该作者
其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
因胸联盟 该用户已被删除
9#
发表于 2015-3-22 00:54:21 | 只看该作者
下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 15:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表