|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
小知识:CentOS并不是第一个提供商业支持的RHEL克隆版,其他企业例如Oracle也提供了基于RedHat的自己的企业Linux发布版。
在CentOS6.364位机械上设置装备摆设SVN办事器,并设置只许可HTTPS衔接,可以设置装备摆设多个repos源,每一个源都具有本身的组和成员,用于权限掌握。
装置相干软件
- Apache装置
yuminstallhttpdhttpd-devel
yuminstallmod_dav_svnsubversion yuminstallmod_sslopenssl
创立版本库
- #mkdir/var/svn
- #cd/var/svn
- #svnadmincreatemyapp
- #chown-Rapache.apachemyapp
- #chcon-R-thttpd_sys_content_tmyapp//selinux相干
类似的,我添加了另外一个版本库myapp2
修正设置装备摆设文件/etc/httpd/conf.d/subversion.conf,添加以下内容
- <Location/repos>
- DAVsvn
- SVNParentPath/var/svn
- AuthTypeBasic
- AuthName"AuthorizationRealm"
- AuthUserFile/var/svn/passwd//用户文件
- AuthzSVNAccessFile/var/svn/authz//用户权限掌握文件
- Requirevalid-user
- </Location>
此处须要留意添加/var/svn/passwd文件的相干权限,不然能够出想权限毛病。相干日记文件为/var/log/httpd/error_log碰到成绩要检查毛病日记。
用户文件passwd的内容只能经由过程htpasswd敕令添加
如添加用户leon
- #htpasswd-c/var/svn/passwdleon//-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,办法:setenforce0,SeLinux的治理办法参考CSDN网站http://blog.csdn.net/haiong0707/article/details/8137633
2.防火墙成绩
封闭防火墙或许翻开相干端口
经由过程下面的设置装备摆设,SVN办事器经由过程HTTP拜访根本就没有成绩了,接着设置装备摆设HTTPS拜访
- #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
以上步调必需在相干文件夹下发生所需的文件,包管输出敕令准确,包管发生文件地点文件夹准确,不然前面将能够产生毛病
修正/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/>
- OptionsFollowSymLinks
- AllowOverrideNone
- SSLRequireSSL//添加此行
- </Directory>
重启httpd
如斯SVN就只可以经由过程HTTPS拜访了,而且可以或许对多个项目分派人员和权限。
能够碰到的成绩
1.SVN开启HTTPS加密后,一切的WEB拜访都酿成HTTPS,例如,localhost将没法拜访,须要拜访https://localhost,这个应当是可以在https.conf文件中设置装备摆设辨别的,临时不做处置,故建议此办事器不再看成WEB办事器。
----------------------------------------------------------------------------------------------------------------
localhost须要https的处理办法
不在httpd.conf添加SSLRequireSSL,添加到subversion.conf
- <Location/repos>
- DAVsvn
- SVNParentPath/var/svn
- AuthTypeBasic
- AuthName"AuthorizationRealm"
- AuthUserFile/var/svn/passwd//用户文件
- AuthzSVNAccessFile/var/svn/authz//用户权限掌握文件
- Requirevalid-user
- SSLRequireSSL//须要https加密拜访
- </Location>
如许,只要/repos目次须要https加密拜访,不影响httpd做web办事器
转载自:http://blog.csdn.net/haiong0707/article/details/8259235
Linux下svn恢复到某一版本
常常因为坑爹的需求,功效要切回到之前的某一个版本。有两种办法可以完成:办法1:用svnmerge
1)先svnup,包管更新到最新的版本,如20;
2)然后用svnlog,检查汗青修正,找出要恢复的版本,如10。假如想要更具体的懂得情形,可使用svndiff-r10:20[文件或目次];
3)回滚到版本号10:svnmerge-r20:10[文件或目次],留意版本号之间的次序,这个叫反向归并;
4)检查以后任务版本中的文件,如test.cpp和版本号10中文件的差异:svndiff-r10test.cpp,有差异则手动改之;
5)若无差异,则提交:svnci-m“backtor10,xxxxx”[文件或目次]。这时候svn库中会生成新的版本,如21。
办法2:用svnup
前2步如办法1,然后直接svnup-r10。以后的任务版本就是版本10了。然则留意,这时候svn库中会其实不会生成新的版本,下次在当地svnup以后,照样会回到之前的版本。
小知识:Linux发展和成长过程始终依赖着五个重要支柱:UNIX操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet网络。 |
|