手机版
你好,游客 登录 注册
背景:
阅读新闻

CentOS下SVN服务器测试版安装记录

[日期:2013-03-17] 来源:oschina.net  作者:曾建凯 [字体: ]

其实我最想用的版本管理库是git,他的理念更符合现代编程的发展需要,保证提交的代码准确度较高的同时,本地又可以实现版本控制。更准确的说,git是一个本地库,其分支处理如同svn的解决差异。

不过和SVN比起来,git服务器配置还是有些麻烦,眼下需要的,是一个易于搭建、管理、稳定的代码版本库,所以最终还是选择了SVN,也是我对他比较熟悉吧!

SVN远程访问主要有两种模式,http协议(包含https)和svn协议(包括svn+ssh),之前在mixmedia,广州公司的局域网版 本库和远程版本库,都是基于http协议下的。目前通过http协议架设SVN服务器,只有通过Apache的mod_dav_svn和 mod_auth_svn。这个模式有个很麻烦的问题,就是Apache的dav请求处理会挂起,即当dav长期无请求,第一次请求的时候,会报http 错,这是很讨厌的事情。

现在webserver基本上都转nginx了,再装个apache真是很别扭。所以我尝试了几种SVN管理工具,看看是不是能通过svn://协议的模式直接部署,不过最终作罢,原因如下:

  1. svnserve的passwd文件是明文保存密码的,这个密码文件往往会和备份系统一起直接备份,明文密码是一个十分不靠谱的做法。
  2. svn允许通过sasl来管理用户登录,sasl的用户文件会集成了项目(域)\用户\密码的管理,理论上很好,那个文件下载到windows下,倒真的是bin文件,啥也读不出来,不过话说如果你用cat在linux上执行的话,还是能看到一些资料……这……
  3. 管理svn的各种工具,良莠不齐,基本上除了if.svnadmin(不过1.6.1版本是不支持svnserve密码文件处理的),其他的基本上不是存在bug,就是本身项目已经很久不更新了,实在有些担心。

所以得出结论是,最好的选择是:Apache+svn+if.svnadmin。可能我的结论有偏颇,欢迎拍砖!

以下主要记录整个SVN服务器各个安装的执行过程,详细说明就不列举了。另,注意标题,这个只是一个测试版的记录,是我用于研究时的操作记录,指令执行顺序、用户组管理、目录规划等在正式服务器上一定会有不同,这里提个醒。

服务器为CentOS,版本为6.2。

更换163源

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.back
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum makecache

安装lsb_release

yum install RedHat-lsb -y
lsb_release -a
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description:    CentOS release 6.2 (Final)
Release:        6.2
Codename:       Final

Setup OpenSSH Server

yum install openssh-server.x86_64
service sshd start
chkconfig sshd on

安装服务器

先停止了iptables,最后再来搞他。

service iptables stop

添加www用户

sudo adduser -d /srv/www -s /sbin/nologin www

安装httpd(Apache2)

yum install httpd
service httpd start
chkconfig httpd on

修改httpd的端口

安装semanage

yum -y install policycoreutils-Python

查询http端口

semanage port -l|grep http

添加端口支持

semanage port -a -t http_port_t -p tcp 9091
linux
相关资讯       svn  CentOS SVN  CentOS SVN服务器 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款