`
wj98127
  • 浏览: 268169 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

svn+apache windows和linux安装笔记

阅读更多
一、window的svn仓库安装配置
前段时间因为一些情况,要将项目移到window上去,所以装了一个window的svn服务.这里讲的是使用http协议的svn,window下比较省事一点,方法讲二种:一是下载到windows下的安装包:Subversion,tortoiseSVN,apach,下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91,
http://www.apachelounge.com/download/,安装方法跟linux下就差不多。但是这个方法有一点不好的就是apache的版本和subversion的版本有点问题,apache的某个版本不定支持某个版本svnsubversion,我在这块是吃过亏的。所以第二种方法,比较懒的直接在http://www.collab.net/downloads/subversion/下载一个集合subversion和apache的安装包:CollabNetSubversion-server-1.5.1-5.win32.exe,双击就替你全部装好了。现在的版本应该是1.5.4了,反正比较省事省力了。www.collab.net这个网站也有提供linux、solaris的集成安装包,我试过linux的,没装上,还是按原始的安装方法装上去的。

二、linux下的svn仓库安装配置
1、下载所需要的安装包:httpd-2.2.9.tar.gz,subversion-1.4.3.tar.bz2,subversion-deps-1.4.3.tar.bz2
下载路径:http://subversion.tigris.org/,http://httpd.apache.org/

2、安装Apache
# tar zxf httpd-2.2.9.tar.gz
# ./configure --prefix=/opt/apache --enable-dav --enable-so && make && make install
这里的/opt/apache替成你自己的安装目录。

如果系统安装时没有默认安装(Berkeley DB--svn的数据库),需要手动安装一下
a.解压安装文件.
unzip db-4.3.21.NC.zip
b.编译.
进入build_unix目录
cd build_unix/
编译.
../dist/configure --prefix=/opt/Berkeley&&make&&make install
完成

3、安装Subversion
SVN的安装一定要注意:svn依赖的APR版本要正确。如果Apache为2.0.x,对应的APR版本应为0.9.x;Apache为2.2.x,对应的APR版本应为1.2.x。 由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的。
命令如下:
# tar xfz subversion-1.4.3.tar.bz2
# tar xfz subversion-deps-1.4.3.tar.bz2
# ./configure --prefix=/opt/subversion --with-apxs=/opt/apache/bin/apxs
--with-apr=/home/tang/httpd-2.2.9/srclib/apr
--with-apr-util=/home/tang/httpd-2.2.9/srclib/apr-util
&& make && make install
注意这里的三个路径一定要替换成你自己包的路径,下面的apr的路径/home/tang/指到apache的源安装文件路径。

注:64位,不带apache安装
apr包安装
#yum search apr
#yum -y install apr-util apr-util-devel apr apr-devel
在subversion安装之前bdb确认已安装成功
编译命令
#./configure --bindir=/usr/bin/  LDFLAGS="-L/usr/lib64 -L/lib64" --prefix=/opt/subversion && make && make install


安装完成后,查看是否存在文件$APACHE_HOME/modules/mod_dav_svn.so(默认 /usr/local/apache2/modules/mod_dav_svn.so)。另外,如果该机器上以前是装过旧版本的SVN,要把 "/usr/local/lib/libsvn*"文件都删除。

4、在apache中配置svn
创建SVN库:
cd /opt/subversion
svnadmin create /opt/svnroot

说明:默认版本为0,命令可以使用—fs-type参数指定仓库后台的数据库类型,默认为fsfs,可以修改为dbd,一般使用默认的fsfs即可,差别是如果应用了nfs的话会有文件读写的影响,一般不会涉及到。
可以用svnserve –d –r /path/to/repos启动服务,默认只支持以svn协议访问,可以用来测试是否初始化成功,/opt/svnroot表示仓库的路径。

创建后需要改变一下svnroot下db和dav的权限。
# chmod 777 svnroot/db
# chmod 777 svnroot/dav
# chown -R apache:apache svnroot

在Apache 的配置文件httpd.conf中加入以下代码,重启apache,便可以通过http://192.168.0.1/svn(如果默认端口是80可如些访问,如果有需要可以修改apache的端口号),通过AuthzSVNAccessFile和AuthUserFile指令分别配置SVN用户的用户名和密码文件。
httpd.conf文件添加:
<location /svn>
DAV svn
SVNParentPath /opt/svnroot
AuthzSVNAccessFile /opt/svnroot/conf/accessfile
Require valid-user
AuthType Basic
AuthName "Subversion System"
AuthUserFile /opt/svnroot/conf/passwdfile
</location>
需要注意的是SVNParentPath是对多个项目进行管理,设置单个项目管理使用SVNPath就可以了。在多个项目配置环境中访问路径后面必须接项目名称例:http://svnserverip:port/svn/projectname,否则将会出现错误。

创建文件/opt/svnroot/conf/accessfile:
[groups]
user = admin
anonymous = guest
[/]
* = r
@user = rw
@anonymous = r

使用htpasswd命令创建/home/svn/svnroot/conf/passwdfile文件,设置密码
注意选项中有c时会创建新文件,如果原来已存在同名文件,会被覆盖:
# htpasswd -cm /home/svn/svnroot/conf/passwdfile admin
如果 passwdfile文件已存在,运行下面的命令追加用户
htpasswd –m svn-auth-file username2为username2
系统会提示输入两遍密码,设置成功后重装apache新帐号生效。

5、导入初始项目目录结构
# svn import -m "项目说明" /opt/project1
项目导入到svn仓库以后,项目将由svn仓库接管,可以将/opt/project1文件备份后删除,然后从svn仓库中将project1 checout出来,例:
# svn checkout http://svnserverip:port/svn/project1

一般svn仓库中项目的布局如下:
project1/
    trunk/
    tags/
    branches/
project2/
    trunk/
    tags/
    branches/
每个项目一个目录,下面的trunk目录为项目主干版本,tags为打了标签的某个版本,一般只读,branches为分支版本,svn对tags的处理是和branches完全一样的,都是主干版本的某个特定版本的一个拷贝。

参参考资料
http://www.iusesvn.com/subversion/svnbook/1.1/index.html
http://doc.owind.org/TortoiseSVNBook/index.html
http://www.diybl.com/course/3_program/rg/2007104/76274.html
http://www.subversion.org.cn/bbs/viewthread.php?tid=1706&extra=page%3D1
分享到:
评论

相关推荐

    linux下svn安装笔记带钩子

    ### Linux下SVN安装与配置含钩子详解 #### 一、SVN简介与作用 Subversion(简称SVN)是一种分布式版本控制系统,主要用于代码管理。它可以追踪每一项对文件或目录所做的更改,并且能够查看任何时刻的版本状态。这...

    Maven+Svn安装笔记.rar

    1. **SVN安装**:笔记将涵盖如何在不同操作系统(如Windows、Linux或Mac OS)上安装SVN客户端和服务器。这可能包括下载安装包,配置环境变量,以及设置SVN仓库。 2. **SVN使用教程**:"svn-笔记.docx"和"svn.docx...

    SVN中文教程 SVN简明教程 SVN学习笔记

    - Linux和Mac用户可以使用命令行工具`svn`,通过包管理器如apt或brew来安装。 2. **SVN仓库创建** - SVN仓库是存储项目文件的地方,可以本地创建,也可以在服务器上创建。使用`svnadmin create`命令可以创建本地...

    SVN笔记学习

    1. **Linux下SVN的搭建** - **安装SVN**: 在Linux系统中,通常通过包管理器来安装SVN,如在Ubuntu或Debian上使用`apt-get install subversion`,在CentOS或Fedora上使用`yum install subversion`。 - **创建SVN...

    SVN安装笔记

    【SVN安装笔记】这篇笔记主要讲述了在LINUX环境下如何配置和安装SVN,这是一个版本控制系统,对于软件开发团队协作至关重要。以下是对整个过程的详细解释: 1. **检查是否已安装SVN**:首先通过`rpm –qa |grep svn...

    svn.pdf.tar.gz_linux svn

    本笔记主要针对Linux环境下如何安装、配置及使用SVN进行详细介绍,旨在帮助用户在Linux系统上顺利搭建SVN服务器并进行日常的代码管理。 ### 1. SVN简介 SVN是Apache软件基金会的一个项目,用于管理文件和目录版本...

    SVN_自动同步备份环境搭建笔记

    - **系统环境**:虽然示例中使用的是Windows作为主服务器和Linux作为镜像服务器,但实际环境中可以根据需求选择不同的操作系统组合。 - **理解关系**:理解主版本库与镜像版本库之间的逻辑关系是关键,无论具体的...

    svn应用笔记

    - 安装:根据操作系统选择适合的SVN客户端,如Windows上的TortoiseSVN,Linux下的svn命令行工具。 - 配置:设置SVN客户端的用户名、密码,以及代理服务器等网络配置。 3. SVN日常使用 - 创建版本库:可以使用...

    SVN和Git简单使用文档

    根据提供的文件名,"svn笔记.docx"可能包含对SVN更深入的使用细节,比如解决冲突、标签(branching & tagging)、回滚等操作的步骤。而"svn和git的简单使用.pptx"很可能是对SVN和Git的对比,可能会涵盖两者的优缺点...

    我的SVN学习笔记(原创)

    在Windows、Linux和Mac OS X等平台上,都有相应的SVN客户端和服务器端软件可供安装。初学者通常先从安装客户端开始,例如TortoiseSVN,它是一个直观的图形用户界面,集成在文件资源管理器中,方便进行SVN操作。 3....

    笔记配置文档_linux_

    9. **Linux下安装SVN** - SVN(Subversion)是一种版本控制系统,这部分可能介绍了如何在Linux上安装和配置SVN服务器,以便团队协作和代码管理。 这些笔记内容全面,覆盖了从基础的Linux操作到复杂的分布式系统配置...

    linux-mysql-oracle- 笔记资料

    总的来说,这份“Linux MySQL Oracle 笔记资料”是一个丰富的学习资源,适合那些希望在Linux环境下深化数据库知识和提升系统管理技能的人士。通过深入研究每个文件的内容,可以系统地学习并掌握这些关键领域,为IT...

    linux笔记_运维

    19. 服务与自动化:`ssh`远程登录,`saltstack`和`Ansible`自动化运维工具,`kickstart`自定义安装脚本。 20. 服务器应用:`Nginx`作为反向代理,`Nginx + Tomcat`组合,`MySQL`数据库,`PHP`编程语言,`Apache`...

    NetBeans学习笔记

    2. 安装:根据操作系统(Windows、Mac或Linux)的指示进行安装。 3. 配置:设置JDK路径,确保NetBeans能识别并使用正确的Java环境。 三、项目创建与管理 1. 新建项目:选择“文件”&gt;“新建项目”,根据需求选择合适...

    Linux各种常用服务搭建学习笔记

    ftp,nfs,rsync,sersync,DNS,DHCP,Mysql,apache,tomcat,iptables,Nagios,zabbix,SVN&&git&github,saltstack等各种服务

    Maven information

    例如,在类Unix系统(Linux、Solaris和Mac OS X)上使用命令`tar zxvf apache-maven-2.0.x.tar.gz`;在Windows 2000/XP系统上使用`unzip apache-maven-2.0.x.zip`。 2. **创建安装目录**:解压后会在指定位置创建名...

    第四部分笔记.docx

    ### 第四部分笔记知识点概述 #### 一、LNMP+Redis集群与ECShop电商项目介绍 ##### 1. LNMP架构及其优势 - **LNMP**:指**Linux**操作系统、**Nginx**作为Web服务器、**MySQL**作为数据库管理和**PHP**脚本语言的一...

    ghostlyhui

    系统安装是计算机使用的基础步骤,通常涉及到Windows、Linux或Mac OS等操作系统。在这个环节,用户需要选择合适的系统版本,进行硬盘分区,然后执行安装过程。对于初学者,理解安装过程中涉及的概念如MBR与GPT分区表...

Global site tag (gtag.js) - Google Analytics