Apache+SVN构建代码仓库平台

简介:

很多同学对SVN+Apache整合很少头疼,今天整理了一版Apache+SVN整合的文档,希望能帮助到大家!


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


Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python解释器编译到服务器中。


一、SVN软件安装

1
2
3
4
5
6
wget https: //archive .apache.org /dist/subversion/subversion-1 .7.10. tar .bz2
http: //www .sqlite.org /sqlite-amalgamation-3071502 .zip
mvsqlite-amalgamation-3071502 subversion-1.7.10 /sqlite-amalgamation
cdsubversion-1.7.10
. /configure--prefix = /usr/local/svn/
make &&  make  install

wKioL1ir_Iii9fuYAACdM_I86zM062.png

/etc/profile添加以下1行内容:

exportPATH=/usr/local/svn/bin:$PATH

安装完成后,查看svn版本信息是否已经安装, /usr/local/svn/bin/svn--version

wKiom1ir_J3iHf7BAABPYe-9MtA664.png


二、SVN服务配置

1)建立版本库目录

1
2
3
mkdir  -p  /data/svn/
建立svn版本库,关联puppet目录。
svnadmin create /data/svn/puppet

wKiom1ir_LKS_oi3AAAl38NuMRo331.png

2)   修改版本库配置文件

Vi/data/svn/puppet/conf/svnserve.conf

1
2
3
4
5
6
7
8
9
10
11
[general]
# 使非授权用户无法访问
anon-access = none
# # 使授权用户有写权限
auth-access = write
# # 指明密码文件路径
password-db =  passwd
# # 访问控制文件
authz-db = authz
# # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
realm = /data/svn/puppet

3)   配置用户及权限

vi/data/svn/puppet/conf/passwd

1
2
3
[ users ]
wugk1 = 123456
wugk2 = 123456

vi/data/svn/puppet/conf/authz

1
2
3
[/]
wugk1 = rw
wugk2 = rw


三、启动SVN服务

/usr/local/svn/bin/svnserve-d -r /data/svn/ --listen-port=8001

查看本地8001端口有没有启动,netstat –ntl|grep 8001

可以在服务器使用SVN命令:

svn co -r  "5" svn://192.168.33.10:8001/puppet迁出代码。

svn commit提交代码,svn up更新代码。


四、SVN+Apache整合配置

拷贝svn模块至apache modules模块目录:

1
2
cp  /root/svn/subversion-1 .7.10 /subversion/mod_dav_svn/ .libs /mod_dav_svn .so /etc/httpd/modules/
cp /root/svn/subversion-1 .7.10 /subversion/mod_authz_svn/ .libs /mod_authz_svn .so  /etc/httpd/modules/

#vi/etc/httpd/conf/httpd.conf

末行添加如下内容:

1
2
LoadModule dav_modulemodules /mod_dav .so
LoadModuledav_svn_module modules /mod_dav_svn .so

在配置文件最後添加

1
2
3
4
5
6
7
8
9
10
<Location /svn >
DAV svn
SVNPath /data/svn/puppet
AuthType Basic
AuthName  "svnfor project"
AuthUserFile   /etc/httpd/conf/passwd
AuthzSVNAccessFile /data/svn/puppet/conf/authz
Satisfy al
Require valid-user
< /Location >

生成HTTP访问密钥:

1
htpasswd -c /etc/httpd/conf/passwd  wugk01


五、访问并测试SVN

重启apache服务,/etc/init.d/httpd restart

wKioL1ir_Mmx6rJkAABc7MEGL7U348.png

最后将puppet数据导入到SVN版本库中:

svn  import /etc/puppet/ file:///data/svn/puppet/svn -m 'ver1'

wKioL1ir_QXxP4b3AAGFi1ym368131.png


你若觉得作者的文章写得不错,请奖励作者几锭银子,让作者感受到来自你满满的鼓励和继续创作的动力!我们支持原创!鼓励原创!

打赏之后,文章底部显示参与打赏者的记录,可以直接通过微信扫描打赏哟,直接按打赏根据提示操作。

自定义打赏金额,友情提示打赏金额不要超过50元哦,土豪可以随意哦,51CTO谢谢您对作者的支持!谢谢你的慷慨大方!

wKioL1lDsc3i7hEqAAAfoPude7I249.png


本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1899895


相关文章
|
2月前
|
消息中间件 监控 数据挖掘
基于RabbitMQ与Apache Flink构建实时分析系统
【8月更文第28天】本文将介绍如何利用RabbitMQ作为数据源,结合Apache Flink进行实时数据分析。我们将构建一个简单的实时分析系统,该系统能够接收来自不同来源的数据,对数据进行实时处理,并将结果输出到另一个队列或存储系统中。
108 2
|
13天前
|
存储 分布式计算 分布式数据库
深入理解Apache HBase:构建大数据时代的基石
在大数据时代,数据的存储和管理成为了企业面临的一大挑战。随着数据量的急剧增长和数据结构的多样化,传统的关系型数据库(如RDBMS)逐渐显现出局限性。
70 12
5-20|本文目标为svn合并代码
5-20|本文目标为svn合并代码
|
2月前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
41 1
|
2月前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
76 0
|
4月前
|
消息中间件 存储 Java
深度探索:使用Apache Kafka构建高效Java消息队列处理系统
【6月更文挑战第30天】Apache Kafka是分布式消息系统,用于高吞吐量的发布订阅。在Java中,开发者使用Kafka的客户端库创建生产者和消费者。生产者发送序列化消息到主题,消费者通过订阅和跟踪偏移量消费消息。Kafka以持久化、容灾和顺序写入优化I/O。Java示例代码展示了如何创建并发送/接收消息。通过分区、消费者组和压缩等策略,Kafka在高并发场景下可被优化。
107 1
|
4月前
|
SQL 存储 运维
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
随着网易游戏品类及产品的快速发展,游戏数据分析场景面临着越来越多的挑战,为了保证系统性能和 SLA,要求引入新的组件来解决特定业务场景问题。为此,网易游戏引入 Apache Doris 构建了全新的湖仓一体架构。经过不断地扩张,目前已发展至十余集群、为内部上百个项目提供了稳定可靠的数据服务、日均查询量数百万次,整体查询性能得到 10-20 倍提升。
网易游戏如何基于阿里云瑶池数据库 SelectDB 内核 Apache Doris 构建全新湖仓一体架构
|
5月前
|
OLAP 数据处理 Apache
众安保险 CDP 平台:借助阿里云数据库 SelectDB 版内核 Apache Doris 打破数据孤岛,人群圈选提速4倍
众安保险在CDP(Customer Data Platform,客户数据平台)建设中,通过引入阿里云数据库SelectDB版内核Apache Doris,成功打破了数据孤岛,并显著提升了人群圈选的速度
255 1
|
5月前
|
应用服务中间件 网络安全 Apache
构建高性能Web服务器:Nginx vs Apache
【5月更文挑战第16天】Nginx与Apache是两种主流Web服务器,各具优势。Nginx以其轻量级、高并发处理能力和反向代理功能见长,适合大型网站和高并发场景;而Apache以功能丰富、稳定性强闻名,适合企业网站和需要多种Web服务功能的场景。在性能上,Nginx处理高并发更优,Apache则可能在高负载时遭遇瓶颈。在选择时,应根据实际需求权衡。
|
5月前
|
存储 缓存 监控
Java一分钟之-Apache Ignite:分布式内存计算平台
【5月更文挑战第21天】Apache Ignite是一款开源的分布式内存计算平台,涉及内存数据网格、流处理和计算服务。本文关注其常见问题,如数据丢失、分区不均、内存管理和网络延迟。为保证数据一致性,建议使用适当的數據模式和备份策略,实现数据持久化。优化内存配置和监控网络可提升性能与稳定性。提供的Java代码示例展示了如何创建分区缓存并设置备份。正确配置和管理Ignite是构建高可用、高性能应用的关键,持续监控集群状态至关重要。
130 0

推荐镜像

更多
下一篇
无影云桌面