Linux下搭建svn服务器并提供http访问

原文地址:http://blog.chinaunix.net/uid-22935566-id-3518892.html

 

一,安装必须的软件包.
        yum install 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 = server_group
                        project_c = client_group
                        project_t = test_group
                        
                        [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 = rw
                        @project_c = rw
                        @project_t = rw
                        * =
                以上信息表示,只有pm有根目录的读写权,server_group能访问server目录,client_group能访问client目录,所有人都可以访问doc目录.

        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

        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/
                # cat 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 $_`;
                    }
                }

                # ./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,启动HTTPD服务器
                # service httpd restart
                Stopping httpd:                                            [FAILED]
                Starting httpd:                                            [  OK  ]

        4,用浏览器访问http://192.168.60.10/project/server/测试
                测试结果如下图所示:

                ( 测试成功 )

 

 

Linux服务器搭建SVN服务 Subversion(SVN) 是一个开源的版本控制系统, 也就是说 Subversion 管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 中。这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。 阅读详情

相关推荐

linux环境下实现svn服务器支持http协议

经过两天的努力,svn终于支持http协议来访问了,在此做个总结,收集一下过程中的错误,作为后来人的前车之鉴

天道酬勤 地道酬善 人道酬诚 8224

linux下svn配置http访问

CentOS服务器部署svn+apache http + ssl https访问,本文详细介绍了svn配置apache http访问安装及配置过程。

weixin_44462773的博客 7409

阿里云 Linux SVN Http服务搭建

第一步:通过yum命令安装SVN,命令如下: -&gt; yum -y install subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 第二步:创建版本库目录并初始化仓库 -&gt; mkdir /var/svn/repo/xxx      (创建目录,其中xxx为你的仓库名称) -&gt; svnadmin create /var/svn...

u010200829的博客 1148

在linux下部署svn,并且同时可以通过http进行访问(权限配置文件可以起作用)

本教程将讲解如何配置svn,并且用户可以通过http进行访问,同时可以使得权限配置文件在通过http访问时起作用(本教程是在centos6.x版本上实验的,本人亲测已实现) 一、仅通过svn协议访问svn的配置 步骤一:安装svn 1.通过以下命令安装svn yum -y install subversion 2.运行以下命令查看SVN版本 svn -...

one_directionforever的博客 1474

linux下安装SVN支持http

linux下安装SVN支持http;linux下安装SVN支持http;linux下安装SVN支持http

Cass三角网法土方计算优化技巧:如何根据地形特点调整边界采样间距

本文深入探讨了Cass软件中三角网法(DTM法)土方计算的优化技巧,核心在于如何根据地形的复杂程度动态调整边界采样间距。针对平坦、复杂及人工构造物等不同地形特征,提供了具体的间距调整策略与精度验证方法,旨在帮助工程师在计算精度与效率间找到最佳平衡,实现精细化土方计算。

weixin_29294975的博客 522

Linux中如何安装配置Mysql和SVN服务端

目标Linux系统为centOS 一、安装登陆mysql 1、直接以root用户运行:yum install mysql 和yum install mysql-server等带安装完成。 2、安装完成后在命令行输入service mysqld start启动mysql服务 3、然后在命令行直接敲mysql即可以默认用户root@mysql登陆,网上说的那些mysql -u root ...

weixin_30289831的博客 86

Simlink与PX4硬件在环仿真(HIL)实现

Simlink与PX4硬件在环仿真(HIL)实现 介于涉及的知识比较多,这里只是简单的介绍一下,更多内容可以参考阿木实验室《基于matlab模型开发》课程。 硬件在环HIL介绍 simlink与PX4通信实现 硬件在环HIL介绍 为来贯彻万物都可以用数学公式表示,我们以simlink的角度来看我们的无人机,那么UAV可以分为以下的几个模块: 传感器模型 滤波器模块 控制器模...

Zipout的博客 6210

linux svn 安装(支持http访问)

1.安装svn             yum install -y subversion 2.查看svn版本           svn --version 3.创建仓库      mkdir -p /opt/java/repos cd /opt/java/repos svnadmin create hello-world 4.配置svn mkdir -p /data/svn ...

u011200190的博客 4879

电动汽车充电设备标准化设计方案:电气原理图

80kW一体式一机一枪充电机电气原理 主电路拓扑见图1,配置1个250A直流充电连接装置,提供4个充电模块安装位置,根据充电功率需求可选配2~4个20kW充电模块。内置直流电能表和计费控制单元,实现计量计费和充电控制功能。 图1 80kW一体式一机一枪充电机主电路拓扑 ...

santirenpc的博客 1万+

PrimeTime生成.lib竟暗藏PG添加Bug

1. 确认原始库中是否包含PG引脚的定义。2. 查阅PrimeTime的write_lib命令文档,寻找相关选项。3. 在生成库时使用正确的选项,例如-include_pg_pins或类似参数。4. 验证生成的.lib文件是否包含pg_pin部分。

limanjihe的专栏 1919

初学者 熟悉基本centos6.5命令 以及 如何搭建SVN+http访问

为什么80%的码农都做不了架构师?>>> ...

weixin_34234721的博客 111

抖音短视频数据抓取实战系列(一)——模拟器性能对比与优化配置

本文是抖音短视频数据抓取实战系列的开篇,重点探讨了模拟器选型与优化配置。通过对比雷电、夜神、逍遥三大主流模拟器在性能、抖音兼容性及抓包友好度上的表现,文章指出雷电模拟器因其稳定的桥接网络模式和良好的兼容性,是数据抓取的优选。并提供了雷电模拟器从安装、网络桥接到系统优化的详细配置指南,旨在帮助读者构建稳定高效的抓取环境。

weixin_29230901的博客 242

SVN服务器搭建与迁移

实验环境: 服务器端 Linux+Subversion+Apach   客户端 windows 1、yum install subversion //安装svn(安装好之后需要有否则后期启httpd时会出错 mod_dav_svn.so、mod_authz_svn.so) 2、yum install httpd //安装apach 3、svnadmin create /home/

低调走过 3529

【迁移学习综述】

迁移学习的目标是将某个领域或任务上学习到的知识应用到不同的但相关的领域或问题中。迁移学习的研究来源于一个观测:人类可以将以前的学到的知识应用于解决新的问题,更快的解决问题或取得更好的效果。迁移学习被赋予这样一个任务:从以前的任务当中去学习知识(knowledge)或经验,并应用于新的任务当中。换句话说,迁移学习目的是从一个或多个源任务(source tasks)中抽取知识、经验,然后应用于一个目标领域(target domain)当中去。

afadgas的博客 4318

Android 13 灭屏音乐播放问题解决与优化建议

通过在中增加对音乐播放状态的检测,我们成功解决了客户应用在灭屏状态下音乐播放被中断的问题。

m0_60898338的博客 1156

linux 下 Apache+Svn 服务器搭建

------本文非原创,是总结了网上的几个帖子--------(一) 、先介绍一下Subversion和apache,apr,apr-util的关系很多朋友初次接触Subversion时不是很理解subversion和apache的关系。我在这里简单说明一下svn服务器和客户端的安装说明。服务器subversion服务器是不需要apache的,但是可以使用apache,视具体情况来选择。1、如果只要通过file://或svn://来访问,则不需要apache,只安装svn即可,使用svnserve来作为服务

zhangboyj的专栏 1109

王炸联动!OpenClaw 对接微信 / 企业微信保姆级教程,AI 办公效率翻倍

《OpenClaw对接微信/企业微信全指南》摘要:本文提供开源AI智能体OpenClaw与微信生态的完整对接教程。核心内容包括企业微信配置四步法(获取凭证、修改配置、重启服务、验证对接)和个人微信通过企业微信插件的一键打通方案。对接后支持微信/企微发指令AI秒执行、群聊机器人、文件同步等高效办公场景,并附常见问题排查代码。教程强调配置简单(全程可复制代码)、适用广泛(个人/团队场景),实现沟通与AI协作的无缝衔接。文末包含端口放行等实用命令,助力用户快速实现移动端AI办公。(149字)

2501_93651177的博客 582

linux(centeros)svn的安装

SVN linux搭建svn服务器参考:http://www.cnblogs.com/chaichuan/p/3758173.htmlSubversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理随着时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可...

weixin_30558305的博客 209

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

(总结)CentOS Linux搭建SVN Server配置详解

PS:虽然在公司linux服务器上搭建过几次svn,但是时间长了,有些配置操作会忘掉,上网搜索的结果都不大满意,有幸在前几天看到一篇算是最满意的svn搭建文章,转载一下以备以后使用,原文地址http://www.ha97.com/4467.html。 SVN简介和工作原理 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软...

weixin_30618985的博客 79

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

linux服务器(centos) 搭建svn服务;并修改为 http方式访问

转载并修改: 环境为centos7 1.首先 看看机器上安装了svn了没有 rpm -qa |grep svn 2.如果没有安装 执行 yum -y install subversion 3.安装好了之后 新建一个svn目录,这里就是建立为一个文件夹; mkdir /home/svn 4.新建一个版本仓库 ----建立后,可以认为算是一个svn管理的顶层文件夹(如果只有一个的话)...

LEE_ZCF 1546

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

centos7搭建SVN并配置使用http方式访问SVN服务器

一、检查SVN是否安装 centos7系统自带SVN # rpm -qa subversion [root@localhost ~]# rpm -qa subversion subversion-1.7.14-14.el7.x86_64 如果没有则通过yum安装 # yum install subversion -y 二、检查已安装版本 # svnserve --...

weixin_30500289的博客 523

linux访问svn服务器文件,Linux下搭建可以http访问的SVN服务

前言最近打算迁移自己项目的SVN代码,这里对搭建SVN服务进行一下回顾。相关软件安装使用SSH远程登录服务器ssh pi@192.168.1.201 # 例如安装软件sudo apt-get install subversionsudo apt-get install apache2sudo apt-get install libapache2-svn其中subversion是SVN必须的,apa...

weixin_34921054的博客 406

使用http协议访问svn

使用http方式访问svn

小鱼儿的专栏 1万+

Linux HTTPS+SVN服务器搭建

Linux HTTPS+SVN服务器搭建 一、SVN简介: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用...

弱弱的猿 5578

linux下部署svn服务器, 并使svn服务能通过http被访问

安装指引 安装过程可见:linux下安装svn1.14.0 部署指引 相关路径 svn安装路径: /usr/local/svn apache安装路径: /usr/local/apache2 svn路径: /var/svn/test svn服务部署 cd /var/svn/test/conf 修改svn代代码库账号密码sudo vim passwd 在[users]下补充用户名和密码 testUser=testPassword 修改用户授权sudo vim authz 补充路径和用户名和用户权限, 如下图所

zzsan的博客 500
上一篇: c++读写锁的实现
下一篇: fork函数的详解
eric509
博客等级 码龄19年 8粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值