CONAN ZONE

你越挣扎我就越兴奋

BlogJava 首页 新随笔 联系 聚合 管理
  0 Posts :: 282 Stories :: 0 Comments :: 0 Trackbacks
注; 这里的/data要修改为你的httpd.confDocumentRoot 目录或其子目录

/data/svnroot/  目录结构如下
        |-- authfile
        |-- authz.conf
        `-- cns_server_auto_install  我的svn库项目目录
                             |-- README.txt
                             `-- conf
                                             `-- svnserve.conf


1)下载并安装相关软件
wget http://apache.mirrors.pair.com/apr/apr-1.3.3.tar.gz
tar xvf apr-1.3.3.tar.gz
cd apr-1.3.3
./configure --prefix=/usr/local/apr && make && make install

cd ..

wget http://apache.mirrors.pair.com/apr/apr-util-1.3.4.tar.gz
tar xvf apr-util-1.3.4.tar.gz
cd apr-util-1.3.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

cd ..

wget http://subversion.tigris.org/downloads/subversion-1.6.2.tar.gz
tar xvf subversion-1.6.2.tar.gz

wget  http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
tar xvf sqlite-amalgamation-3.6.13.tar.gz
mkdir subversion-1.6.2/sqlite-amalgamation
cp sqlite-3.6.13/sqlite3.c subversion-1.6.2/sqlite-amalgamation/

wget http://www.webdav.org/neon/neon-0.28.4.tar.gz
tar xvf neon-0.28.4.tar.gz
mv neon-0.28.4 subversion-1.6.2/neon

cd subversion-1.6.2

./configure --prefix=/usr/local/subversion \
                   --with-apxs=/usr/local/apache/bin/apxs \
                   --with-apr=/usr/local/apr \
                   --with-apr-util=/usr/local/apr-util \
                   --with-ssl --with-zlib=/usr/local/zlib \
                   --enable-maintainer-mode && \
                  make && make install

cd ..

2) 进行相关配置
a)在/usr/local/apache/conf/httpd.conf中添加如下模块
    LoadModule dav_svn_module     modules/mod_dav_svn.so
    LoadModule authz_svn_module   modules/mod_authz_svn.so

b)配置svn.cnscn.org虚拟主机 并加入svn选项
   .在/usr/local/apache/conf/httpd.conf中去掉#Include conf/extra/httpd-vhosts.conf前面的#

   .创建目录/data/svnroot
       [root@www.cnscn.org ~]# mkdir /data/svnroot

   .在conf/extra/httpd-vhosts.conf中添加虚拟主机svn.cnscn.org (一定要注意,在/etc/hosts中添加 127.0.0.1 svn.cnscn.org)

     #svn.cnscn.org
     <VirtualHost *:80>
        DocumentRoot /data/svnroot

        ServerName svn.cnscn.org
        ErrorLog /var/log/apache/org_cnscn_svn-error_log
        CustomLog /var/log/apache/org_cnscn_svn-access_log common
 
     #这里/svn是个不存在,也不用建立的目录,即实际上不需要/data/svnroot/svn目录存在
     #当访问http://svn.cnscn.org/svn/projectname时,会自动寻找/data/svnroot/projectname目录  
       <location /svn>
       #告诉Apache是dav_svn_module模块来响应/svn/的请求
           DAV svn
       #告诉Subersion版本库的根目录
           SVNParentPath /data/svnroot
       #指定SVN服务器的访问控制文件的路径
           AuthzSVNAccessFile /data/svnroot/authz.conf

       #激活基本认证,就是用户名/密码
           AuthType Basic
       #在认证输入框时显示的提示信息
           AuthName "welcome to cnscn svn"
       #指定使用的认证密码文件
           AuthUserFile /data/svnroot/authfile
       #指定只有输入了正确的用户/密码的用户可以访问URL
           Require valid-user
        </location>
    </VirtualHost>

3)创建验证文件
    1> /usr/local/apache/bin/htpasswd -c -b /data/svnroot/authfile username password
   2> 编辑/data/svnroot/authz.conf 内容如下:
         [groups]
            users = cnscn
 
        [/]
            @users = rw

        [svn:/]
            @users = rw

4)创建svn项目库cns_server_auto_install
     a)创建
         /usr/local/subversion/bin/svnadmin create cns_server_auto_install

     b)修改/data/svnroot/cns_server_auto_install/conf/svnserve.conf的内容为如下
          [general]
          anon-access = read
          auth-access = write
          password-db = /data/svnroot/authfile
          authz-db = /data/svnroot/authz.conf
          realm = cns_server_auto_install
   
5)重启apache
         [root@www.cnscn.org ~]#  /usr/local/apache/bin/apachectl restart

6)测试
     http://svn.cnscn.org/svn/cns_server_auto_install/ 内容应会显示出Revision ...:/

7)导入一个项目
   [root@www.cnscn.org ~]# svn import  --username cnscn  --password 123456 -m "cnscn server auto install"  cns_server_auto_install_local http://svn.cnscn.org/svn/cns_server_auto_install/
  新增           cns_lanmp_install_090423/install.sh
  新增           cns_lanmp_install_090423/mods
  新增           cns_lanmp_install_090423/mods/mysql_proxy
  新增           cns_lanmp_install_090423/mods/mysql_proxy/install.sh
  新增           cns_lanmp_install_090423/mods/mysql_proxy/glib-2.16.4
posted on 2009-06-20 21:13 CONAN 阅读(1788) 评论(0)  编辑  收藏 所属分类: SVN