设为首页 收藏本站
查看: 1659|回复: 6

[经验分享] apache+svn部署

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-8-30 09:35:27 | 显示全部楼层 |阅读模式

1. 前言

Subversion(简称svn)是跨平台的开源版本控制系统,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件。Subversion支持linux和windows,但较多安装在linux下。

svn服务器有两种运行方式:独立服务器和借助于apache。 svn://    http://

svn客户端:tortoisesvn

svn的基本工作思路: 在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。有源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里德项目文件下载到本地,然后开发人员可以在本地修改,左后用svn命令进行提交,游源代码库统一管理修改。

版本控制解决了:代码管理混乱、解决代码冲突困难、在代码整合期间引发bug、无法对代码的拥有者进行权限控制、项目不同版本的发布困难

配置subversion:

dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据

db目录:就是所有版本控制的数据存放文件

hooks目录:放置hook脚本文件的目录

locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端

format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号

conf目录:是这个仓库的配置文件(仓库的用户访问账号.权限等)

2. 安装




[Shell] 纯文本查看 复制代码
cat /etc/redhat-release        #查看系统版本
CentOS release 5.8 (Final)
uname -r                       #查看内核
2.6.18-308.el5
yum install httpd httpd-devel subversion mod_dav_svn -y
#yum安装apache、svn,mod_dav_svn是apache+svn结合的模块
3. 配置
3.1 查看/etc/httpd/conf/httpd.conf中,apache默认启用用户是否被注释,如果注释,取消注释
1
2
sed -i 's/^#User apache/User apache/g' /etc/httpd/conf/httpd.conf
sed -i 's/^#Group apache/Group apache/g' /etc/httpd/conf/httpd.conf
3.2 Apache服务器配置SVN访问的目录
cat >> /etc/httpd/conf.d/subversion.conf << EOF
#####by-hooper-2013-08-28#####

      DAV svn
      SVNParentPath /opt/svn/                    
      AuthType Basic
      AuthName "hooper's svn"
      AuthUserFile /etc/httpd/passwd.conf        
      AuthzSVNAccessFile /opt/svn/authz           
      Require valid-user

#####by-hooper-2013-08-28#####
EOF
svn的apache配置文件会自动生成/etc/httpd/conf.d/subversion.conf
配置文件的说明如下:

#在url或svn客户端上指定的访问路径
      DAV svn
#声明svn
      SVNParentPath /opt/svn/
#svn的根目录                  
      AuthType Basic
#基础密码认证
      AuthName "hooper's svn"
#网站说明文字
      AuthUserFile /etc/httpd/passwd.conf
#apache登陆密码认证文件       
      AuthzSVNAccessFile /opt/svn/authz
#svn目录权限          
      Require valid-user

3.3 创建svn目录及项目库并授权apache用户
mkdir /opt/svn
svnadmin create /opt/svn/hooper
chown -R apache:apache /opt/svn/hooper
3.4 创建通过apache访问svn的账户和密码
htpasswd -cm /etc/httpd/passwd.conf  hooper
New password:
Re-type new password:
Adding password for user hooper
htpasswd  /etc/httpd/passwd.conf  nil
New password:
Re-type new password:
Adding password for user nil
htpasswd  /etc/httpd/passwd.conf  hj
New password:
Re-type new password:
Adding password for user hj
# htpasswd -c  创建一个加密文件
# htpasswd -m  默认apache htpassswd命令采用MD5算法对密码进行加密
3.5 配置svn账户访问库权限

cat >> /opt/svn/authz << EOF
#####by-hooper-2013-08-28#####
[groups]
admin = hooper,hj
user = nil
[hooper:/]
@admin = rw
@user = r
[/]
#####by-hooper-2013-08-28#####
EOF
配置文件说明如下:

[groups]
#群组设置
admin = hooper,hj
#admin组中的用户,多个用户用“,”隔开
user = nil
#user组中的用户
[hooper:/]
#hooper项目库
@admin = rw
#admin组对hooper这个库有读写权限
@user = r
#user组对hooper这个库有读的权限
[/]
#PS:“* = r 表示对所有的用户都具有读权限”
3.6 启动svn及apache
svnserve -d -r /opt/svn/
apachectl -t
#Syntax OK
apachectl start
[backcolor=white !important]
[size=1em][backcolor=white !important][size=1em]



3.7 检查进程及端口

[backcolor=white !important]
[Shell] 纯文本查看 复制代码
ps -ef|egrep "svn|httpd"|grep -v grep
netstat -ltnp|egrep "80|3690"
[size=1em][backcolor=white !important][size=1em]



至此apache+svn部署完成。

4. 在客户端查看时候部署完成

4.1 在客户端安装tortoisesvn(安装过程略过)

URL:http://tortoisesvn.net/downloads.html

4.2 设置

新建一个文件夹,右键SVN checkout


145216627.jpg

在URL里输入:http://192.168.10.166/svn/hooper 点击“OK”


145746345.jpg

输入用户及密码:hooper,点击“ok”


150039537.jpg

显示登录成功


150129563.jpg

这样就可以使用了

5. SVN管理命令

5.1 svn命令

导入数据到版本库

# svnadmin create /data/svndata/pro1

# svn import /www/shop file:///data/svndata/pro1 -m “import”

查看版本库下的内容

# svn list file:///data/svndata/pro1

注:在导入仓库后,原来的目录树并没有转化成一个工作副本,需要使用checkout手动导出一个工作副本。


从版本库导出数据

# svn checkout file:///data/svndata/pro1

取出任意深度的数据

# svn checkout file:///data/svndata/pro1/ad/html

将数据放到新目录

# svn checkout file:///data/svndata/pro1 testweb

//将pro1工作副本放到testweb中,而不是默认生成的pro1目录

# svn co file:///data/svn/my_xywy_com/ /www/other/my.xywy.com

// 导出my_xywy_com全部文件,到/www/other/my.xywy.com下

它可以显示工作副本中的所有项目

# svn status -u -v


18       16 sum          fff.txt

18        1 root         index2.php

18       10 sum          index20090416.html

18       17 sum          111/fff.txt

18       17 sum          111/index2.php

18       17 sum          111/index20090416.html

18       17 sum          111/index.jsp


5.2 svnlook命令

查看当前的版本仓库内容

# svnlook info 版本仓库


Sum//作者

2009-09-10 11:51:17 +0800 (Thu, 10 Sep 2009)//提交时间

0//最后一次提交参数信息


查看最近一次更新的修订号

# svnlook youngest 版本仓库


显示一个版本仓库中文件和目录的树形结构图

# svnlook tree /data/svndata/pro2/ --show-ids


jytk.html <0-1.0.r1/232049>

gallery.php <3-1.0.r1/232223>

gywm.html <5-1.0.r1/232402>

database.php <7-1.0.r1/232579>

lxyp.html


查看仓库中某一个文件内容

#svnlook cat /data/svndata/pro2/ index.html//查看pro2项目的index.html文件中的内容


显示被修改的文件

# svnlook diff /data/svndata/pro2/


Added: 11.txt//显示增加了11.txt文件

5.3 导出svn版本库中的文件夹

若要彻底删除SVN版本库某文件夹,可以使用下面的方法。

查看项目sumitest中的列表

# svn list file:///data/svn/sumitest


fxywy/

fxywy/src

jxywy/

jxywy/src

src/

要把fxywy/src文件夹删除,重新导入到新的项目sumitest2中,方法如下:

# svnadmin dump /data/svn/sumitest > sumi1.dump

// 导出sumitest整个项目到sumi1.dump

# cat sumi1.dump | /usr/local/svn/bin/svndumpfilter exclude /fxywy/src > sumi2.dump

// 从sumi1.dump过滤出/fxywy/src目录。Windows中cat换成type

# svnadmin create /data/svn/sumitest2

// 创建新的项目库

# svnadmin load /data/svn/sumitest2 < sumi2.dump

//导出/fxywy/src 到sumitest2库

5.4 删除svn版本库中的文件夹

svn delete 可以从工作拷贝或版本库删除一个项目。

# svn delete -m “Deleting file”file:///data/svn/sumitest2/fxywy/

// 删除sumitest2下的/fxywy目录



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-8850-1-1.html 上篇帖子: apache 日志分析工具(webalizer、awstats)的使用 下篇帖子: apache配置--源码包安装的子配置文件介绍

尚未签到

发表于 2013-8-31 15:50:30 | 显示全部楼层
男人在结婚前觉得适合自己的女人很少,结婚后觉得适合自己的女人很多。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-2 11:02:52 | 显示全部楼层
与时俱进,你我共赴高潮!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-3 03:34:58 | 显示全部楼层
丑,但是丑的特别,也就是特别的丑!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-5 00:00:35 | 显示全部楼层
我在马路边丢了一分钱

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-8 02:30:49 | 显示全部楼层
下雨了,别忘了打伞,湿身是小,淋病就麻烦啦*^_^*

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-9-9 13:40:39 | 显示全部楼层
所有刻骨铭心的爱都灵魂游离于床上的瞬间!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表