很多同学对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
|
/etc/profile添加以下1行内容:
exportPATH=/usr/local/svn/bin:$PATH
安装完成后,查看svn版本信息是否已经安装, /usr/local/svn/bin/svn--version
二、SVN服务配置
1)建立版本库目录
1
2
3
|
mkdir
-p
/data/svn/
建立svn版本库,关联puppet目录。
svnadmin create
/data/svn/puppet
|
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
最后将puppet数据导入到SVN版本库中:
svn import /etc/puppet/ file:///data/svn/puppet/svn -m 'ver1'
你若觉得作者的文章写得不错,请奖励作者几锭银子,让作者感受到来自你满满的鼓励和继续创作的动力!我们支持原创!鼓励原创!
打赏之后,文章底部显示参与打赏者的记录,可以直接通过微信扫描打赏哟,直接按打赏根据提示操作。
自定义打赏金额,友情提示打赏金额不要超过50元哦,土豪可以随意哦,51CTO谢谢您对作者的支持!谢谢你的慷慨大方!
本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1899895