• linux下subversion server安装手册


    linux下subversion server安装手册

    安装基于的Linux版本为:Red Hat Enterprise Linux Server release 6.3。

    一 准备需要的安装包。

    (1)下载 apache: httpd-2.2.23.tar.gz 

     (2) 下载Subverson  。下载地址

    http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz

    http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz

    二 安装

    安装顺序有要求, 先安装Apache ,再安装Subversion 。

    1 安装apache 

    把安装压缩包[ httpd-2.2.23.tar.gz ]上传linux环境/usr/local/下面。 

    [root@localhost /]# cd /usr/local/

    [root@localhost /]# tar zxfhttpd-2.2.23.tar.gz

    [root@localhost /]# cd /usr/local/httpd-2.2.23

    [root@localhost /]# configure -prefix=/usr/local/apache -enable-dav -enable-so && make && make install

    2 启动apache, 安装无错误后  进入

     #cd /usr/local/apache/bin 

    # ./apachectl start 

    若提示启动失败,端口口被占用: #vi /usr/local/apche/conf/http.conf 

    找到

    #Listen 12.34.56.78:80
    Listen 80   

    将80修改为自己的端口号。---若启动成功,不用修改端口号。

    重启apache ,客户端输入地址 http://172.18.49.180/

    页面展示

    It works! 字样 ,表示安装成功。

    3 安装Svn 

    把安装压缩包[subversion-1.6.12.tar.gz]和[subversion-deps-1.6.12.tar.gz]拷到linux环境/usr/local/下面。

    [root@localhost /]# cd /usr/local/

    [root@localhost /]# tar zxf subversion-1.6.12.tar.gz

    [root@localhost /]# tar zxf subversion-deps-1.6.12.tar.gz

    (安装包解压缩,解压缩后生成安装文件夹[subversion-1.6.12],两个文件都会解压缩到同一个文件夹下)

    [root@localhost local]# cd /usr/local/subversion-1.6.12

    [root@localhost subversion-1.6.12]# rm -rf apr

    [root@localhost subversion-1.6.12]# rm -rf apr-util(删除subversion自带的apr和apr-util文件夹,用apache的就可以)

    [root@localhost subversion-1.6.12]# cd /usr/local/subversion-1.6.12

    [root@localhostsubversion-1.6.12]#

     ./configure -prefix=/usr/local/subversion -with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apache/bin/apr-1-config -with-apr-util=/usr/local/apache/bin/apu-1-config 

    [root@localhostsubversion-1.6.12]#

     make

    [root@localhostsubversion-1.6.12]#

     make install

    [root@localhost subversion-1.6.12]# svnserve --version
    安装过程中报错:“cannot find –lexpat”,需要安装expat-2.0.1.tar.gz。

    但是 执行#svnserve --version 显示的版本不是1.6的,而是1.4(老版本)说明之前安装过旧版本的svn。

    解决办法#vi

     /etc/profile

    在最后填加

    #set svnpath

    export PATH=/usr/local/subversion1.6/bin:$PATH

    export PATH

    保存退出。

    执行 #scource /ect/profile

    重新执行 #svnserve --version --ok

    4 检查svn是否与apache兼容

    # 分别查找文件/usr/local/apache/conf/httpd.conf和/etc/httpd/conf/httpd.conf中是否增加了以下两行:

    LoadModule dav_svn_module     modules/mod_dav_svn.so

    LoadModule authz_svn_module   modules/mod_authz_svn.so

    并且查看/usr/local/apache/modules 下是否有mod_dav_svn.so,

     和mod_authz_svn.so 文件,有的话将这两个文件拷贝到/etc/httpd/modules下面。

    如果http.conf 中没有的话则增加这两行代码。

    如果没有mod_dav_svn.so和mod_authz_svn.so,说明svn安装的错误。按照步骤重装。

    配置 svn+apache

    1 创建svn库

    (1) 创建 svn专用户   # useradd pocsvn

    (2) 创建SVN 版本库目录  #mkdir /home/pocsvn/project 

    (3) 创建SVN仓库 # svnadmin create /home/pocsvn/project/poc

    (4) 将目录 project 目录拥有者修改为 pocsvn 用户  :

    #chown -R pocsvn:pocsvn /home/pocsvn/project

       并 增加权限 chmod 755 /home/pocsvn/project

    2 配置svn 依赖apache

    (1) 使用root用户  # vi /usr/local/apache/conf/httpd.conf 和/etc/httpd/conf/httpd.conf将

    LoadModule dav_svn_module     modules/mod_dav_svn.so

    LoadModule authz_svn_module   modules/mod_authz_svn.so

    需要load以上module

    (2 )找到

    User apache

    Group apache

    修改为

    User pocsvn

    Group pocsvn

    (3) 在文件末尾添加

    <Location /svn>

    DAV svn

    SVNParentPath /home/pocsvn/project     -----svn库的根目录

    AuthType Basic

    AuthName "welcome to cjybt"      -----浏览器登陆时的提示信息。随便写

    AuthUserFile /home/pocsvn/project/passwd

    ---  用户的密码信息

    AuthzSVNAccessFile /home/pocsvn/project/poc/conf/authz

    --- 指向svn库的conf目录下authz

    Require valid-user

    -- ("Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库)

    </Location>

    (4) 生成passwd文件

    #htpasswd -b /home/pocsvn/project/passwd   hello   hello123

    ---在/home/pocsvn/project/下生成passwd文件,用户名为hello,密码为hello123

    #htpasswd -b /home/pocsvn/project/passwd   hello2   hello123

    ---在/home/pocsvn/project/passwd文件中添加用户名为hello,密码为hello123

    (5) 编辑用户权限文件 authz

    #vi /home/pocsvn/project/poc/conf/authz

    [groups]       --表示群组设置

    admin = hello    --表示admin群组里的成员有hello,如果要配置多个,用逗号分隔

    develop = hello2  --表示develop群组里的成员有hello2,如果要配置多个,用逗号分隔

    [poc:/]        --表示仓库poc的根目录下的访问权限

    hello = rw       --poc仓库hello用户具有读和写权限

    hello2 = r        --poc仓库hello2用户具有只读权限

    @admin = rw    --表示群admin的成员都具有读写权限

    @develop = r   --表示群poc的成员都具有只读权限

    [/]            --表示在所有仓库的根目录下

    * = r          --表示对所有的用户都具有读权限

    --- 在编辑authz时,所有行都必须要顶头写,不能有缩进,否则报错。

    (5)修改权限

    chmod 755 /home/pocsvn/project/passwd

    chown -R pocsvn:pocsvn   /home/pocsvn/project/passwd

    (6)启动svn

    切换到pocsvn用户  #svnserve -d --listen-port 8888 -r /home/pocsvn/project

    -d 表示以 daemon 方式(后台运行)运行

    -r 指定根目录是/home/pocsvn/project

    --listen-port 8888  --表示在8888端口上进行监听

    检查svn其否启动

    ps -ef|grep svnserve 或 ps -ef|grep 8888

    (7)重启apache,切换回root用户。启动apache

    (8) 客户端 访问 :http://ip:81/svn/poc 出现登陆窗口则为配置成功。

    --如果登陆后提示403或无法访问。为权限配置不对,按如下命令重新配置下权限即可。

    chcon -R -h -t httpd_sys_content_t <SVN Root 目录>,本文的测试为:

    chcon –R –h –t  httpd_sys_content_t  /home/pocsvn/project

    至此,svn和apache结合的svn配置就搭建好了。

    如果需要通过客户端更改账户密码,需要在/var/www/cgi-bin目录下添加两个文件:

    svnpass.cgi和svnpass.ini。然后通过访问如下的web页面就可以更改密码了:http://172.18.49.180/cgi-bin/svnpass.cgi

    svnpass.ini的内容:

    我在安装的过程中出现了很多问题。总结如下

    1 启动apache 报错httpd: Syntax error on line 111 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dav_svn.so

     into server: /usr/local/subversion/lib/libsvn_subr-1.so.0: undefined symbol: apr_hash_clear

    解决办法:重新安装apache,注意增加参数

    命令 # ./configure --prefix=/usr/local/apache2/ --enable-dav --enable-so

    --enable-dav --enable-so参数是必须要加的,你还可以根据您的需要添加其他的参数。

    --enable-dav 启用davweb支持,是subversion+apache组合必选,缺少的话,在运行apache会出现undefined symbol: dav_register_provider的错误

    --apr 和 apr-util一般会在httpd的安装包内,subversion安装会使用到apr和par-util,如果当前系统没有,最好安装一下

    2 重转apache后。必须重装subversion,重装svn是执行make ,make install 是提示有错误信息。

    可以先执行# make clean ,然后在 #make ,#make install

    最好一次装好,重装的话问题不少。

    3 apr 和apr-util有问题。

    网上资料在svn和apache集成的时候是有分开装apr,和apr-util的,这两个在apache中就有了。删除subvision自带的。

  • 相关阅读:
    0x1L
    失败全是无能,成功多是侥幸。
    也谈不甘
    维护网站小笔记
    C#反射(二) 【转】
    C#反射(一) 【转】
    短期学习目标
    局域网手机遥控关机
    密码验证
    字符串反转
  • 原文地址:https://www.cnblogs.com/liulei058/p/4079228.html
Copyright © 2020-2023  润新知