二、SVN服务器的搭建和基础配置——Linux服务器篇

来源:互联网 发布:车秘油耗数据导出 编辑:程序博客网 时间:2024/06/06 14:01

SVN服务器的搭建和基础配置

——Linux环境

IT项目管理的第一步就是文档的管理。文档包括需求文档、详细设计文档、源代码、测试用例等等。对文档的管理,主要工作就是对文档版本的管理。

Subversion(SVN)就是一个最常用的版本控制系统,本文主要提供一个简易的安装指南。

一、下载软件

1、apr-1.4.6.tar.gz

2、apr-util-1.4.1.tar.gz

下载地址:http://apr.apache.org/

3、httpd-2.2.22.tar.gz

下载地址:http://httpd.apache.org/

4、pcre-8.30.tar.gz

下载地址:http://sourceforge.net/projects/pcre

5、subversion-1.6.18.tar.gz

6、subversion-deps-1.6.18.tar.gz

下载地址:http://httpd.apache.org/

二、安装软件

把以上安装包上传至/usr/local目录,cd /usr/local 进入该目录。

1、安装APR

tar zxvf apr-1.4.6.tar.gz#解压包

         cd apr-1.4.6

./configure

make

make install

2、安装APR-UTIL

tar zxvfapr-util-1.4.1.tar.gz

cd apr-util-1.4.1

./configure--with-apr=/usr/local/apr

make

make install

       3、安装PCRE

tar zxvf pcre-8.30.tar.gz

cd pcre-8.30

./configure--prefix=/usr/local/pcre

make

make install

4、安装Apache

tar zxvf httpd-2.2.22.tar.gz

cd httpd-2.2.22

         ./configure --prefix=/usr/local/apache2.2.22--enable-dav --enable-so --enable-maintainer-mode--with-apr=/usr/local/apr/bin/apr-1-config--with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre=/usr/local/pcre

#--prefix表示把apache安装在指定目录

make

make install

5、安装subversion

tar zxvf  subversion-1.6.18.tar.gz

tar zxvf  subversion-deps-1.6.18.tar.gz

cd subversion-1.6.18

./configure--prefix=/opt/svn --with-apxs=/usr/local/apache2.2.22/bin/apxs--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr

make

make install

至此,安装基本完毕,接下来为Apache和Subversion的集成配置。注意:因为这些安装包需要gcc编译,所以要确保linux上装有gcc程序,否则是没办法进行安装的。

三、在apache中配置SVN

验证安装Subversion是否已经自动修改Apache的配置:

vi /usr/local/apache2.2.22/conf/httpd.conf

1、如果你看到如下两句,说明安装是成功的

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModuleauthz_svn_module modules/mod_authz_svn.so

如果有下面一句就用#注释掉

#LoadModule foo_modulemodules/mod_foo.so

做完以上配置后,启动Apache HTTP Server,如果出现:

It works!

即表示集成Subversion到Apache成功。

四、在Subversion中建立文件库

建立一个SVN的文件库路径很简单,使用如下命令即可:

svnadmin create /opt/SVN/BlogDemo

其中/opt/SVN为SVN文件库存放路径,BlogDemo为仓库名,可以理解为项目名。

创建完成后,仓库目录中的目录结构如下图所示:

五、在Apache中添加文件库访问路径

在{Apache_Hoot}/conf/httpd.conf中添加如下路径配置段:

<Location/svn>

     DAV svn

     #如果为SVNPath,那么/svn为/svn/BlogDemo

        #SVNPath /opt/SVN/BlogDemo

     SVNParentPath /opt/SVN

     AuthName "Subversion repository"

     #指定了文件库访问政策文件

     AuthzSVNAccessFile /opt/SVN/conf/AuthzSVNAccessFile.txt

        #只有经过认证的用户才可以访问

     Require valid-user

     #表示允许匿名访问

     Satisfy Any

     #The following is Basic authenticationsetting

     AuthType Basic

        #用来指示使用htpasswd创建的密码文件的位置

     AuthUserFile /opt/SVN/conf/AuthUserFile.txt

</Location>

其中"/svn"就是用户端存取特定文件库的URI(Uniform ResourceIndentifier),SVNPath后面指定的路径则是文件库的绝对路径,假设我们的文件库实际存放的路径是/opt/SVN/BlogDemo,并且希望用户端使用 "http://localhost:8888/svn/BlogDemo"的URL来存取文件库,那么要加入 httpd.conf的內容就是:

<Location /svn/BlogDemo>

        DAV svn

        SVNPath /opt/SVN/BlogDemo

</Location>

SVNParentPath后面指定的路径是文件库的绝对路径,表示可以让任何人都可以通过http://localhost:8888/svn/<文件库名称>的方式,存取位于/opt/SVN这个目录以下的所有文件库。也就是说,这个设定动作只需要一次,如果使用SVNPath,那么你必须为各个文件库分别指定对应的路径。

六、管理用户信息

用Apache的htpasswd指令生成用户名和密码:

/usr/local/apache2.2.22/bin/htpasswd –cm /opt/SVN/conf/AuthUserFile.txtadmin

/usr/local/apache2.2.22/bin/htpasswd -m /opt/SVN/conf/AuthUserFile.txtken

htpasswd的参数-c 是创建文件的意思,故只在首次使用,使用命令后会提示输入密码和确认密码,仅使用-m参数时也可用来修改密码。

七、配置文件库访问政策文件

         vi /opt/SVN/conf/AuthzSVNAccessFile.txt

加入以下内容:

       [groups]

admin= admin

development= ken

[/]

@admin= r

@development= rw

代表admin组里面有admin用户,development组里面有ken用户,多个用户用“,”号分隔。

八、启动Apache服务

       启动服务,即可通过http协议访问SVN中的内容,如果出现以下内容,那么证明已经安装成功。

BlogDemo - Revision 0: /

九、导入项目

如果我们要在BlogDemo文件库中引入多个项目,比如再将/opt/SVN/BlogDemo/SVNProject项目放到BlogDemo/SVNProject目录下,则进入 SVNProject目录,用下面的命令引入SVNProject:

svn import /opt/SVN/BlogDemo/SVNProjecthttp://localhost/svn/BlogDemo/SVNProject-m "Initialrepository layout"

 

原创粉丝点击