SVN服务器集群(基于LDAP)

SVN服务器操作手册

1. svn服务器整体架构

1.1 svn服务器分类和作用

svn主服务器:下发svn区域服务器的权限文件和配置文件。

svn备份服务器:提供数据备份,如果出现源主机宕机,更改备机IP为源主机IP后,还可备份svn区域服务器上的库。

南京svn服务器:提供区域svn服务。

武汉的svn服务器:提供区域svn服务。

1.2 svn服务器的目录结构

svn主服务器:

svn备份服务器:

svn南京服务器:

svn武汉服务器:

1.3 svn服务器联系图

2. svn服务下载和创建库

下载svn服务

yum –y install mod_dav_svn

创建svn版本库

svnadmin create /home/svn/repos1

svnadmin create /home/svn/repos2

3. svn服务的ldap认证配置

步骤一:

vi /etc/httpd/conf.d/subversion.conf

修改svn的ldap认证配置,如下所示:

<Location /svn/>
 
   DAV svn
   SVNListParentPath on
   AuthType Basic
   AuthName "svn"
   AuthBasicProvider ldap
   AuthzLDAPAuthoritative off
   #AuthUserFile /home/svn/conf/pwd.conf
   #AuthzSVNAccessFile /data/user.acl
  include /work/svn/svnconfig/svnadmin.conf
   #AuthLDAPBindDN "domainldap"
   AuthLDAPBindDN "CN=domainldap,OU=IT,OU=archermind,DC=archermind,DC=com"
   AuthLDAPBindPassword "archerminD_2006"
   AuthLDAPURL "ldap://192.168.100.101:389/OU=archermind,DC=archermind,DC=com?sAMAccountName?sub?(objectClass=person)"
 
   Require valid-user
   #Require ldap-group CN=domainldap,OU=it,OU=archermind,DC=archermind,DC=com
   #Require ldap-group DC=archermind,DC=com
 
</Location>

4. 管理员可见的svn配置文件和权限文件

增加权限文件user.acl

vi /data/wh /userwh.acl

样例如下:

[groups]

admin=n006253

user=002731,n000714

test=user3

[/]

@admin=rw

@user=r

n000714=r

[repos1:/]

@admin=rw

@user=r

解释:[groups]为组定义,可以在该组下加很多用户,以分割,但是该用户数据必须是ldap服务器中的用户。

[/]表示根目录以下的权限定义

[repos1:/]表示仓库下的权限定义

如果要分项目,则以此规则类推:

如:[repos1:/aaa]则表示仓库下的aaa项目的权限定义。

@admin 表示admin这个组下的用户权限。

n000714=r 表示n000714这个用户的权限。

权限类型:r,w,rw 分别表示只读,只写,读写。如果是user1= 这种空情况则表示没有。

增加管理员配置文件

 # SVN ROOT
  DAV svn
  SVNParentPath "/work/svn/svn_wh"
 
  # Access Control Policy
  AuthzSVNAccessFile /work/svn/svnconfig/userwh.acl
  # IP Access
  #Order Deny,Allow
  #       Deny from all
  #       Allow from all
  #       #Allow from 172.16.2
  #       #Allow from 127.0.0.1
   
  Order Allow,Deny
  Allow from all

5. svn服务启动

svnserve -d -r /home/svn/

service httpd restart

ps aux | grep svn

##出现以下内容说明svn服务已经成功启动

root      8610  0.0  0.0 152864   740 ?        Ss   11:25   0:00 svnserve -d -r /home/svn/repos1/

root     13128  0.0  0.0 103252   876 pts/0    S+   14:00   0:00 grep svn

登录网页:http://10.20.70.175/svn/

输入账号密码以后如下图所示:

6. svn实现https服务

步骤一:生成密钥

下载ssl认证服务

yum install mod_ssl

开始进行证书的申请

cd /etc/pki/tls/private

openssl  genrsa  -out  ca.key  1024

openssl req -new -key  ca.key  -out  ca.csr

cd /etc/pki/tls/certs

根据提示填写公司名等内容,可以回车跳过

openssl x509 -req -days 365 -in /etc/pki/tls/private/ca.csr -signkey /etc/pki/tls/private/ca.key  -out  ca.crt

最后会生成ca.crt证书。

步骤二:ssl配置

vi /etc/httpd/conf.d/ssl.conf

修改ssl配置里的两处密钥(在上面配置过)

SSLCertificateFile /etc/pki/tls/certs/ca.crt

SSLCertificateKeyFile /etc/pki/tls/private/ca.key

重启apache服务

即可以https的方式登录

7. svn命令

svn导出代码

svn co http://10.20.70.163/svn/repos1

svn添加文件

svn add 3.txt

svn将改动文件提交到版本库

svn commit -m "this is a test" 3.txt --username=n006253 [email protected]

svn删除代码库文件

svn delete http://10.20.70.163/svn/repos1/3.txt -m "error"

svn查看文件日志

svn log 1.txt

或者svn info 1.txt

svn比较差异

svn diff -r 2:3 3.txt(版本2和版本3)

svn解决冲突

svn resolved

svn更换代码库的URL

svn switch [PATH]

8. svn的同步脚本和同步配置

8.1 svn主服务器

rsyncd.conf同步配置:

uid = root
gid = named
user chroot =no
max connections = 20000
timeout =600
pid file= /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[svnnj]
path=/svn/nj
ignore errors
read only = false
list = no
hosts allow = 10.0.0.0/8 172.16.0.0/16 192.168.0.0/16
[svnwh]
path=/svn/wh
ignore errors
read only = yes
list = no
hosts allow = 10.0.0.0/8 172.16.0.0/16 192.168.0.0/16

8.2 svn备用服务器

svn备用服务器:

备用服务器的同步脚本,/etc/cron.daily/svnrsync.sh

#!/bin/bash
 
rsync -avz --delete 10.20.70.163::svnnj /data/nj/svn  --log-file /var/log/svnnjlog.log
rsync -avz --delete 10.20.70.175::svnwh /data/wh/svn  --log-file /var/log/svnnjlog.log
rsync -avz --delete  10.20.70.192::svnnj /data/nj --exclude=/svn  --ignore-errors --log-file /var/log/svnconf_njlog.log
rsync -avz --delete  10.20.70.192::svnwh /data/wh  --exclude=/svn --ignore-errors --log-file /var/log/svnconf_whlog.log

8.3 svn南京服务器

svn南京服务器:

南京的同步脚本,/etc/cron.daily/svnrsync.sh

#!/bin/bash

rsync -avz --delete  10.20.70.192::svnnj /work/svn/svnconfig  --ignore-errors --log-file /var/log/svnlog.log

南京的rsyncd.conf里的配置

uid = root
gid = named
user chroot =no
max connections = 20000
timeout =600
pid file= /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[svnnj]
path=/work/svn/svn_nj
ignore errors
read only = false
list = no
hosts allow = 10.0.0.0/8 172.16.0.0/16 192.168.0.0/16

8.4 svn武汉服务器

svn武汉服务器:

武汉的同步脚本,/etc/cron.daily/svnrsync.sh

#!/bin/bash

rsync -avz --delete  10.20.70.192::svnwh /work/svn/svnconfig  --ignore-errors --log-file /var/log/svnlog.log

武汉的rsyncd.conf里的配置

uid = root
gid = named
user chroot =no
max connections = 20000
timeout =600
pid file= /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[svnwh]
path=/work/svn/svn_wh
ignore errors
read only = false
list = no
hosts allow = 10.0.0.0/8 172.16.0.0/16 192.168.0.0/16
时间: 2024-10-12 13:00:18

SVN服务器集群(基于LDAP)的相关文章

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_ 基于Red5服务器集群负载均衡调度算法研究 http://www.doc88.com/p-0456863461331.html

Linux服务器集群系统(一)(转)

add by zhj:虽然是2002年的文章,但读来还是收益良多.在 章文嵩:谈LVS及阿里开源背后的精彩故事 中LVS发起人及主要贡献者谈了LVS的开发过程及阿里开源的一些故事 原文:http://www.linuxvirtualserver.org/zh/lvs1.html 本文介绍了Linux服务器集群系统--LVS(Linux Virtual Server)项目的产生背景和目标,并描述了LVS服务器集群框架及目前提供的软件,列举LVS集群系统的特点和一些实际 应用,最后,本文谈论了LVS

[Gerrit服务器集群搭建(一)]初识Gerrit代码审查系统

一.写在前面 公司安卓部门在扩张,尤其是我们这一拨新人进来后,本来负载就很重的Gerrit服务器更加吃不消了.前段时间,我有幸全程参与搭建了Gerrit服务器集群,在这里也将搭建过程总结记录下来,给自己也给他人做一个参考,有误或者有更好的建议都期待指教~ 二.Gerrit服务器简介 简言之,就是基于Git引入的强制代码审核机制,原来是git push->Git库,现在则变成了git push->Gerrit(代码管理者审核通过)->Git库.当然这是个不严谨的描述,较为详细的介绍请参见h

服务器===集群和分布式的区别是什么?

概念总是抽象的,配合实例会让你对概念的理解更加清晰.因此,如果刚好有使用到分布式和集群技术的猿友,可以边看本文的一些概念边回想你使用过的分布式和集群技术.如果你没有使用过相关技术,那其实也是可以以了解的心态将本文看完,后面接触到了,起码会有个大概的印象. 下面我们先看看其他猿友对"分布式"和"集群"的看法: (1)一位博主的观点(http://blog.csdn.net/bluishglc/article/details/5483162) 博主有对他的表述有作一点修

legend分布式服务器集群逻辑计算处理压力测试

(如果图小,可以Ctrl+鼠标滚轮给缩放) 基于上次<legend分布式服务器集群并发登陆上线游戏压测结果>之后做了逻辑处理压力测试,仍然只配置了单个网关与单个逻辑服在集群中,结果如下: 测试用例: 第一步:上线一万个玩家,然后每10秒钟让每个玩家都往网关服务器发送一个逻辑计算请求,网关服务器转发请求给逻辑服务器处理,逻辑服务器进行一百万次浮点运算,然后将结果再返回给网关服务器,最后由网关服务器转发计算结果给玩家客户端,如图: 先分10个机器人,每个上线1000个,如图: 可以看出,从最先上线

【整理学习Hadoop】Hadoop学习基础之一:服务器集群技术

        服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器.集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行. 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术.集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理

Zookeeper服务器集群的搭建与操作

ZooKeeper 作用:Zookeeper 可以用来保证数据在zk集群之间的数据的事务性一致(原子操作). 介绍:Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务.  它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. 特性:简单的.富有表现力的.具有高可用性.采用松耦合交互方式.是一个资源库. 如何搭建ZooKeeper服务器集群 2.1 ZooKeeper服务器集群规模不小于3个节点,要求各服务器之间

Linux服务器集群运维经验

公司大概有5000+以上的服务器节点,包括各种应用,我和同事共同维护大约2500+的服务器,主要包括一些视频cdn,直播视频cdn,webcdn和p2p服务器. 以下是自己在运维工作中的一点经验和看法,希望对大家有所帮助 1.       服务器型号的区分,为以后的统一化和标准化作硬件上的准备,很多人忽视这一点,其实如果这一点做得好会使后面的运维工作轻松很多,根据应用我们主要把服务器分为3中,cpu密集型,主要用于大量计算应用,比如p2p;内存密集型,用于cache类应用,比如squid,var

分布式服务器集群架构方案思考

nginx-reverse-proxy-conf 研究了一套完整的分布式服务器集群架构方案. 0x01.大型网站演化 简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率. 集群主要分为:高可用集群(High Availability Cluster),负载均衡集群(Load Balance Cluster,nginx即可实现),科学计算集群(High Performance Computing Cluster). 分布式是指将不同的业务分布在