Apache+SVN构建代码仓库平台

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

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

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


一、SVN软件安装

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

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

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

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


二、SVN服务配置

1)建立版本库目录

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

2)   修改版本库配置文件

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

[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

[users]
wugk1 = 123456
wugk2 = 123456

vi/data/svn/puppet/conf/authz

[/]
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模块目录:

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

末行添加如下内容:

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

在配置文件最後添加

<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访问密钥:

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


五、访问并测试SVN

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

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

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

时间: 2024-10-08 12:33:16

Apache+SVN构建代码仓库平台的相关文章

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(三)(网内首发超详细版)

3.3 权限配置样例 注意: * 权限配置文件中出现的用户名必须已在用户配置文件中定义. * 对权限配置文件的修改立即生效,不必重启svn. 用户组格式: [groups] = , 其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔. 版本库目录格式: [<版本库>:/项目/目录] @<用户组名> = <权限> <用户名> = <权限> 其中,方框号内部分可以有多种写法: [/],表示根目录及以下,根目录是svnserve启动时指定的,我们

Apache+SVN+Review Board代码审核服务器搭建流程

一.简介 代码审查(CodeReview)不但可以提高质量,而且还是一个知识共享和指导的极好的手段.ReviewBoard是一款比较优秀的,开源的基于WEB的代码审查工具. 二.准备工作 2.1.安装依赖包 yum -y install gcc gcc-c++ make cmake autoconfautomake libffi libffi-devel ncurses* bison* zlib* expat* openssl* apr* neon* 2.2.安装Apache yum -y in

最新apache+svn+reviewboard实现在线代码评审

本文重点说reviewboard的安装 作用,在线代码评审工具. --------------------------------------------------------------------------- mysql安装 yum -y install gcc gcc-c++ make cmake autoconf automake ncurses* bison* zlib* expat* openssl* apr* neon* yum -y install mysql-server

手游公司运维之利用Rundeck自动化运维工具和Shell脚本构建测试环境代码发布平台和生产环境代码发布平台

在做手游运维工作之前,我接触的代码发布都是常规的软件发布,有固定的发布周期.之前工作的那个外企有严格的发布周期,一年中的所有发布计划都是由Release Manager来控制,每次发布之前都需要做一些准备工作,如填写发布表单,上传发布需要的资源文件,联系发布过程中的相关人员,如开发和测试.最后在公司内部开发的发布平台上按照指定的时间点击鼠标对一个集群内的几台主机或全部主机进行代码发布.这个发布平台还是基于rsync服务实现的.虽然每个星期都有各种服务的发布,但是整个发布流程是可以控制的,并且发布

微信开发之SVN提交代码与FTP同步到apache的根目录

SVN是协同开发的,版本控制器,就是几个人同时开发,可以提交代码到SVN服务器,这样就可以协同开发,一般是早上上班首先更新下代码,然后自己修改代码 工作一天之后,修改代码之后,下班之前,更新代码,然后提交代码. 现在问题来了,微信开发比如把代码提交到自己的服务器,然后运行起来,这样微信公众号,才能运营相应的功能. 那么SVN服务器的代码是怎么才能跟Apache的www目录同步呢?其实这个是SVN与FTP同步的实现. 就是SVN提交代码到SVN服务器之后,然后SVN服务器检测到发生变化,马上利用钩

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(四)(网内首发超详细版)

6安装maven 下载地址:http://maven.apache.org/download.cgi 解压安装 unzip –o apache-maven-3.2.1-bin.zip mv apache-maven-3.2.1 maven 配置环境变量 MAVEN_HOME=/usr/local/maven export PATH=$MAVEN_HOME/bin:$PATH 7 java环境自动构建部署 7.1 新建job 输入名称如下图 输入SVN服务器地址 注意:上面已经认证过了,因此没有报

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(一)(网内首发超详细版)

目录结构如下: 目录 1说明及环境介绍3 1.1说明3 1.2环境准备及格式约定4 2 Linux下apache搭建svn服务器4 2.1 apache安装部署4 2.2 svn安装部署5 2.3整合svn和apache6 2.4 ssl方式部署apache7 2.4.1安装apache7 2.4.2安装svn7 2.4.2 部署认证8 3 Linux下svn独立服务器方式部署9 3.1安装SVN9 3.2 配置环境10 3.3 权限配置样例11 3.4 启动SVN服务器12 3.5 访问方式1

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(二)(网内首发超详细版)

2.4 ssl方式部署apache 2.4.1安装apache ./configure --prefix=/usr/local/apache2 --enable-dav --enable-ssl--enable-so --enable-mods-shared=all make && make install 2.4.2安装svn 安装apr-1.4.6.tar.gz.apr-util-1.5.1.tar.gz.neon-0.29.6.tar.gz同2.2章节部分 unzip sqlite-

利用apache+svn+jenkins+maven 实现java环境的自动化构建和部署(五)(网内首发超详细版)

8 Subversion FAQ 8.1 官方FAQ网址 http://subversion.apache.org/faq.zh.html 8.2 svn遇到错误总结 8.2.1 svn不显示日志 解决办法:1)找到你SVN版本库下conf文件夹下的svnserve.conf文件2)打开svnserve.conf文件,将其中名为anon-access的一项设置为anon-access=none. 这样的话,日志文件即可显示正常. 8.2.2 版本冲突问题 svn update --usernam