设为首页 收藏本站
查看: 874|回复: 0

[经验分享] CentOS用yum安装配置svn服务器步骤

[复制链接]

尚未签到

发表于 2016-5-12 07:43:49 | 显示全部楼层 |阅读模式
  在centos中利用yum安装svn server是非常方法的,我们只要简单的几条命令即可快速的完成svn服务器安装与配置。
  
  
  
  简单的,用yum安装方式:
  #yum install subversion
  安装完成之后,采用以下查看是否安装完成
  #svn --version
  创建SVN的仓库,比如:
  #mkdir -p /data/svn 
  #svnadmin create opengeo
  然后会发现自动生成conf、db、format、hooks、locks、README.txt等文件或目录。
  修改conf目录下的配置文件
  在svnserve.conf中,编辑配置为:
  [general] 
  anon-access = none 
  auth-access = write 
  password-db = passwd 
  authz-db = authz
  在auth中,配置组和权限为:
  [groups] 
  dev = user1,user2,user3 
  [/] 
  @dev = rw
  在passwd中配置用户名和密码为:
  [users] 
  user1=pass1 
  user2=pass2 
  user3=pass3
  经过以上几步,安装和配置完成,启动svn并指定相应的目录:
  #svnserve -d -r /data/svn/
  查看服务是否启动成功
  #netstat -nlp | grep svn
  关闭svn服务
  #killall -9 svnserve
  然后,便可以通过如下地址访问,{ip}替换为你的SVN服务器IP地址或域名:
  svn://{ip}/opengeo
  SVN Server详细配置手册
  
  系统环境
  CentOS 5.8 最小化安装(关闭iptables和selinux) + ssh + yum
  一,安装必须的软件包.
  yum install subversion mysql-server httpd mod_dav_svn mod_perl sendmail wget gcc-c++ make unzip perl* ntsysv vim-enhanced
  说明:
  subversion (SVN服务器)
  mysql-server (用于codestriker)
  httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)
  sendmail (用于配置用户提交代码后发邮件提醒)
  wget gcc-c++ make unzip perl* (必备软件包)
  ntsysv vim-enhanced (可选)
  二,基本的SVN服务器配置
  1,新建一个目录用于存储SVN所有文件
  # mkdir /home/svn
  2,新建一个版本仓库
  # svnadmin create /home/svn/project
  3,初始化版本仓库中的目录
  # mkdir project project/server project/client project/test (建立临时目录)
  # svn import project/ file:///home/svn/project -m “初始化SVN目录”
  # rm -rf project (删除临时建立的目录)
  4,添加用户
  要添加SVN用户非常简单,只需在/home/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。为了测试,我添加了如下内容:
  [users]
  # harry = harryssecret
  # sally = sallyssecret
  pm = pm_pw
  server_group = server_pw
  client_group = client_pw
  test_group = test_pw
  5,修改用户访问策略
  /home/svn/project/conf/authz记录用户的访问策略,以下是参考:
  [groups]
  project_p = pm
  project_s = server1,server2,server3
  project_c = client1,client2,client3
  project_t = test1,test1,test1
  
  [project:/]
  @project_p = rw
  * =
  [project:/server]
  @project_p = rw
  @project_s = rw
  * =
  [project:/client]
  @project_p = rw
  @project_c = rw
  * =
  [project:/doc]
  @project_p = rw
  @project_s = r
  @project_c = r
  @project_t = r
  * =
  说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上!
  6,修改svnserve.conf文件,让用户和策略配置升效.
  svnserve.conf内容如下:
  [general]
  anon-access = none
  auth-access = write
  password-db = /home/svn/project/conf/passwd
  authz-db = /home/svn/project/conf/authz
  7,启动服务器
  # svnserve -d -r /home/svn
  注意:如果修改了svn配置,需要重启svn服务,步骤如下:
  # ps -aux|grep svnserve
  # kill -9 ID号
  # svnserve -d -r /home/svn
  8,测试服务器
  # svn co svn://192.168.60.10/project
  Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
  Password for 'root':
  Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
  Username: server_group
  Password for 'server_group':
  svn: Authorization failed ( server_group没用根目录的访问权 )
  # svn co svn://192.168.60.10/project
  Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
  Password for ‘root’:
  Authentication realm: <svn://192.168.60.10:3690> 92731041-2dae-4c23-97fd-9e1ed7f0d18d
  Username: pm
  Password for ‘pm’:
  A    project/test
  A    project/server
  A    project/client
  Checked out revision 1.  ( 测试提取成功 )
  # cd project/server
  # vim main.c
  # svn add main.c
  # svn commit main.c -m “测试一下我的C程序,看什么看,不行啊??”
  Adding         main.c
  Transmitting file data .
  Committed revision 2.  ( 测试提交成功 )
  三,配置SVN服务器的HTTP支持
  1,转换SVN服务器的密码
  由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。我写了一个Perl脚本完成这个工作.
  脚本内容如下:
  # cd /home/svn/project/conf/
  # vim PtoWP.pl
  #!/usr/bin/perl # write by huabo, 2009-11-20  use warnings; use strict;  #open the svn passwd file open (FILE, "passwd") 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 $_`; } }# chmod +x PtoWP.pl
  # ./PtoWP.pl
  Adding password for user pm
  Adding password for user server_group
  Adding password for user client_group
  Adding password for user test_group
  现在目录下会多一个webpasswd文件。
  2,修改httpd.conf,添加关于SVN服务器的内容
  编辑/etc/httpd/conf/httpd.conf,在最后添加如下信息:
  <Location /project>
  DAV svn
  SVNPath /home/svn/project/
  AuthType Basic
  AuthName "svn for project"
  AuthUserFile /home/svn/project/conf/webpasswd
  AuthzSVNAccessFile /home/svn/project/conf/authz
  Satisfy all
  Require valid-user
  </Location>
  
  3,修改svn目录的属主为apache帐号:chown -R apache.apache /home/svn/project/
  (注意:原文少了这一步,会出权限问题。)
  4,重启Web服务器:
  # /etc/init.d/httpd restart
  Stopping httpd: [FAILED]
  Starting httpd: [ OK ]
  5,用浏览器访问http://192.168.60.10/project/server/测试
  转:http://www.iyunv.com/sys/CentOS/55316.htm

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-215763-1-1.html 上篇帖子: Centos 6.3 安装fcitx小企鹅中文输入法 下篇帖子: 配置tomcat5在centos下自动启动与关闭
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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