Chinaunix首页 | 论坛 | 博客
  • 博客访问: 181602
  • 博文数量: 111
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 790
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-29 13:41
  • 认证徽章:
文章分类

全部博文(111)

文章存档

2018年(10)

2017年(27)

2016年(18)

2015年(31)

2014年(25)

分类: LINUX

2014-11-19 17:55:04

1、环境:
    redhat AS4.0
2、软件包:
               2.1、apr-1.3.5.tar.gz       http://apr.apache.org/download.cgi
              2.2、apr-util-1.3.7.tar.gz   http://apr.apache.org/download.cgi
              2.3、httpd-2.2.6.tar.gz      http://archive.apache.org/dist/httpd/
               2.4、neon-0.28.2.tar.gz    http://www.webdav.org/neon/neon-0.28.2.tar.gz
              2.5、subversion-1.4.5.tar.gz和subversion-deps-1.4.5.tar.gz     http://archive.apache.org/dist/subversion/
             
                            
3、安装:所有软件都在/root目录下进行的安装;
           3.1、安装apr和apr-util
                 #tar -zxvf apr-1.3.5.tar.gz
                 #cd apr-1.3.5
                 #./configure
                 #make && make install
                 #tar -zxvf apr-util-1.3.7.tar.gz
                 #cd apr-util-1.3.7
                 #./configure --with-apr=/usr/local/apr
                 #make && make install
          3.2、安装httpd:
                  #tar -zxvf httpd-2.2.6.tar.gz;
                  
#cd httpd-2.2.6;
                 ./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config

                  #make && make install;
                  编译完成之后,编辑配置文件httpd.conf;
                 #vi /usr/local/apache2/conf/httpd.conf
                   ServerName www.example.com:80 修改为ServerName localhost:80或者服务器IP地址;
                  启动apache进程:
                #/usr/local/apache2/bin/apachectl start 或者 /usr/local/apache2/bin/httpd -k start
                 查看监听到的httpd80端口。
               #netstat -nlp |grep 80  
                 打开浏览器http://IP/,页面出现It works!,说明安装成功。
              #/etc/init.d/httpd stop 
               关闭httpd服务;
            3.3、安装neon
                #tar -zxvf neon-0.28.2.tar.gz
                #cd neon-0.28.2
                #./configure --prefix=/usr/local/neon

                 修改neon-0.28.2src/Makefile文件,将CFLAGS= -g -02 改成CFLAGS= -fPIC -g -02
                #make && make install
                 注:如不安装neon,会报错:“make: *** [subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] Error 1

make: 

*** 

[subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] 

Error 1

make: 

*** 

[subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] 

Error 1


            3.4、Subversion安装:
      
           #tar -zxvf subversion-1.4.5.tar.gz;
                 #tar -zxvf subversion-deps-1.4.5.tar.gz;
                 #cd subversion-1.4.5;
                 #rm-fr apr apr-util     #删除subversion-deps带的apr和apr-util目录,这里使用3.1安装中的apache2.2包;
                #cd zlib
                #./configure --prefix=/usr/local/zlib
                #make && make install
                #cd ..
                #
./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2/bin/apr-1-config --with-apr-util=/usr/local/apache2/bin/apu-1-config --with-neon=/usr/local/neon --with-ssl --with-zlib=/usr/local/zlib --enable-maintainer-mode
                 #make && make install;
                 查看apache配置文件:/usr/local/apache2/conf/httpd.conf
                 看到以下两个模块说明安装成功:
                 LoadModule dav_svn_module     modules/mod_dav_svn.so
                  LoadModule authz_svn_module   modules/mod_authz_svn.so

4、配置
           
          4.1、创建管理svn的用户:
                 #useradd svn;
                 #su svn;
                 #mkdir /home/svn/repository;
                 #cd /usr/local/subversion/bin;
                   创建svn"data"仓库
                 #./svnadmin create /home/svn/repository/data;
                 #cd /home/svn/repository/data;
                 #ll
                  多了很多目录(conf、dav、db、hooks、locks)和文件(format、README.txt),说明Subversion安装成功;
                 使用root用户修改apache配置文件httpd.conf文件:
                  User daemon       改为User svn
                  Group daemon            Group svn
                 #chown -R svn:svn /home/svn/repository;
                 #chmod 700 /home/svn/repository;
              4.2、测试:
                 $/usr/local/subversion/bin/svn import /tmp file:///home/svn/repository/data/ -m "data";
                 将/tmp下面的内容导入仓库data。
                 提示信息: 
                 新增    **
                 提交后的修订版为1。
               4.3、配置http服务器
                      添加配置在/usr/local/apache2/conf/httpd.conf:
                      
                      DocumentRoot /usr/local/apache2/htdocs
                       ServerName  192.168.30.88
                       DirectoryIndex index.html
                       
                      DAV svn
                      SVNPath /home/svn/repository/
                     AuthzSVNAccessFile /home/svn/repository/authz.conf
                     AuthType Basic
                     AuthName "Welcome!SubVersion."
                     AuthUserFile /home/svn/repository/valid-user
                     #
                    
Require valid-user
                    #

                     
                     
                    注:如果需要用户每次登录时有验证用户密码,请将两行注释掉。
                     
重启apache服务器,访问http://ip/svn/test,如提示输入用户密码,配置成功。                     
                     添加访问http的用户:
                     #/usr/local/apache2/bin/htpasswd -c /home/svn/repository/valid-user svn_admin
                       设置密码;
                     #/usr/local/apache2/bin/htpasswd /home/svn/repository/valid-user svn_guest
                       配置访问svn的用户权限:vi /home/svn/repository/authz.conf添加以下内容:
                       [groups]  //表示群组设置
                       admin=svn_admin   //表示群组成员
                       user=svn_guest 
                       [data:/]       //这表示,仓库test的根目录下的访问权限
                       svn_admin = rw    //data仓库svn_admin用户具有读和写权限
                       svn_guest = r        //data仓库svn_guest用户具有读权限
                        @admin=rw          //如果在前面加上@符号,表示群组权限
                       @user=r
                   
                       
启动SVN:
                      /usr/local/subversion/bin/svnserve -d --foreground -r /home/svn
                     #-d --daemon mode
                     #--foreground --run in foreground(useful for debugging)
                     #-r --root of directory to serve

                              linux redhat SVN服务器搭建完成。

5、访问svn文件仓库
                           5.1、file:///模式
                                  /usr/local/subversion/bin/svn co file:///home/svn/repository/data
                               或/usr/local/subversion/bin/svn co file://localhost/home/svn/repository/data
                               注:如果不确定主机的名称,请使用"///",而如果指定了主机的名称,则使用"//";
                                    

如果重新启动apache出现如下错误:
httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dav_svn.so into server: 
/usr/local/apache2/modules/mod_dav_svn.so: undefined symbol: dav_register_provider

   
解决办法:重新配置apache;
             ./configure -prefix=/usr/local/apache2 -enable-dav -enable-so -enable-maintainer-mode -enable-rewrite
              make && make install





参考资料:http://wiki.ubuntu.org.cn/SubVersion#.E5.88.9B.E5.BB.BA_SVN_.E4.BB.93.E5.BA.93
               http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html
阅读(677) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册