zoukankan      html  css  js  c++  java
  • linux架设Apache + svn版本控制(强力推荐)

    原文:http://blog.csdn.net/fhway/article/details/1338351

    1.需要两个文件,httpd和subversion. httpd是web服务器,用来通过web访问subversion,httpd可以在apache官方网站上下载到
    最新下载地址为:
    httpd:
    http://httpd.apache.org/download.cgi?Preferred=http%3A%2F%2Fwww.apache.org%2Fdist
    subversion: http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz

    2.新建一个用户:svnroot
    最好不要让root用户参与到svn的权限管理和日常的运行和维护工作中来,但是下面的一些安装和配置操作还是 需要root用户来完成的,因为有些操作只有root才能做。权限问题很重要。曾经因为权限问题折腾了一天。

    3.编译安装httpd (root用户操作):
    //解压apache2安装包
    # tar xvzf httpd-2.2.2.tar.gz
    //进入解压后的目录
    # cd httpd-2.2.2
    //配置apache安装,前两个参数是必须要加的,你还可以根据您的需要添加其他的参数。
    //后面的参数制定你要把apache安装哪里
    # ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/
    # make
    //安装
    # make install
    # cd /usr/local/apache2/bin
    //启动apache服务
    # ./apachectl start
    //打开浏览器
    http://localhost/如果有测试页"It works!"出现则证明已经安装成功。

    4.
    安装Subversion
    //解压SubVersion安装包 (root用户进行下面的操作)
    # tar xvzf Subversion-1.3.1.tar.gz
    //进入解压后的目录
    # cd Subversion-1.3.1
    //配置subversion安装
    #./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion
    --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib
    --enable-maintainer-mode
    # make
    //安装
    # make install
    //创建库文件所在的目录 (svnroot用户进行下面的操作)
    # mkdir /home/svnroot/repository
    //进入subversion的bin目录
    # cd /usr/local/subversion/bin
    //创建仓库"test"
    # ./svnadmin create /home/svnroot/repository/test
    # cd /home/svnroot/repository/test
    //看看是不是多了些文件,如果是则说明Subversion安装成功了
    # ls –l
    # cd /usr/local/subversion/bin
    //这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,
    //提交后的修订版为1。
    # ./svn import /home/user/import
    file:///home/svnroot/repository/test –m "注释"
    //不让其他人有该目录的权限
    # chmod 700 /home/svnroot/repository


    5.修改Apache配置文件
    # cd /usr/local/apadche2/bin
    //启动Apache
    # ./apachect1 start
    # vi /usr/local/apache2/conf/httpd.conf

       //在最下面添加
       LoadModule dav_module modules/mod_dav.so
       LoadModule dav_svn_module modules/mod_dav_svn.so
       LoadModule authz_svn_module modules/mod_authz_svn.so
       <Location /svn>
       DAV svn
       SVNParentPath /home/svnroot/repository/ //svn父目录
       AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
       AuthType Basic //连接类型设置
       AuthName "Subversion.zoneyump" //连接框提示
       AuthUserFile /home/svnroot/repository/authfile //用户配置文件
       Require valid-user //采用何种认证
       </Location>
       //其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username password"来创建

       //"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,
       //则只能第一个用户可以访问新建库
       //顺便把你的端口号也改一下,要不然可能&你以前的Apache的端口冲突


    6.重启apache # ./usr/local/apache2/bin/apachectl restart
    //打开浏览器访问
    http://localhost/svn/test/,如果有东西显示就说明成功。


    7.权限管理
    1)增加用户
    # htpasswd [-c] /home/svnroot/repository/authfile wooin
    //第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
    # htpasswd authfile 用户名(加入新的用户)

    2)权限分配
    # vi /home/svnroot/repository/authz.conf
       [test:/] //这表示,仓库test的根目录下的访问权限
       wooin = rw //test仓库wooin用户具有读和写权限
       bao = r //test仓库bao用户具有读权限
       [test2:/] //test2仓库根目录下的访问权限
       wooin = r //wooin用户在test2仓库根目录下只有读权限
       bao = //bao用户在 test2仓库根目录下无任何权限
       [/] //这个表示在所有仓库的根目录下
       * = r //这个表示对所有的用户都具有读权限
       #[groups] //这个表示群组设置
       #svn1-developers = wooin, bao //这个表示某群组里的成员
       #svn2-developers = wooin
       #[svn1:/]
      
    #@svn1-developers = rw //如果在前面加上@符号,则表示这是个群组权限设置

    将这个设置完成后。重启Apache,就可以通过
    http://localhost/svn/test
    这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限


    备注:

    1。apache进程的权限:因为所有跟仓库传输的操作都是通过apache进程进行的,所以即使你给svn用户设置了 很大的权限,但是apache进程没有访问仓库或者相关文件的权限也没有用,apache进程的权限设置在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:
    User daemon # 将daemon改为svnroot,让apache进程以svnroot的身份运行
    Group daemon
     


    2。在/etc/profile的结尾设置一些svn启动时要做的工作 # start apache server for svn
    /usr/sbin/apachectl start
    export SVN_EDITOR=vi 


    3。/home/respository/svnroot下的文件操作权限有给svnroot.

    阅读(631) | 评论(1) | 转发(0) |
    给主人留下些什么吧!~~

    kowems2012-08-28 18:13:47

    评论热议
  • 相关阅读:
    7.21 高博教育 数组 内存
    【基础扎实】Python操作Excel三模块
    PAT 甲级 1012 The Best Rank
    PAT 甲级 1011  World Cup Betting
    PAT 甲级 1010 Radix
    链式线性表——实验及提升训练
    循环程序设计能力自测
    链表应用能力自测
    PAT 甲级 1009 Product of Polynomials
    1008 Elevator (20分)
  • 原文地址:https://www.cnblogs.com/black/p/5171765.html
Copyright © 2011-2022 走看看