登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

物似人非 情有何堪

蚊子不吸吸 记录成长滴点点滴滴...

 
 
 

日志

 
 

蚊子实战篇之CentOS5.5下apache、SVN源代码安装  

2011-01-05 15:01:00|  分类: Apache+Svn架设 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

此篇为蚊子亲身奋斗N小时滴历程,请各位大虾多多指点;(资料来自各大大 各本本滴综合 感谢!)

环境:

CentOS 5.5-32bit

apache2.2.16
http://httpd.apache.org/download.cgi

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

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

apr-1.2.11.tar.gz

apr-util-1.2.2.tar.gz

http://apr.apache.org/

 

【安装命令】
一、apache安装
cd /apr
#./configure --prefix=/usr/local/apr
make
make install

cd /apr-util
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install

[root@localhost httpd-2.2.16]# ./configure --prefix=/usr/local/apache2/ --enable-dav --enable-so
make
make install

//启动apache服务
# /usr/local/apache2/bin/apachectl start

//打开浏览器输入http://192.168.0.93(Linux系统IP地址)(http://localhost/)如果有测试页"It works!"出现则证明已经安装成功。

二、svn安装
#./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs 
make
make install

三、配置
1、# vim /usr/local/apache2/conf/httpd.conf
//查看是否有如下2行,有就对了
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

2、建立版本库
//创建库文件所在的目录
# mkdir /home/svnroot                                   
//创建仓库"test"
# /usr/local/svn/bin/svnadmin create /home/svnroot/test 
                                   
//查看svn是否安装成功  里面多了些文件就对了
# ls /svnroot/test  
//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,
//提交后的修订版为1。
# /usr/local/svn/bin/svn import /home/svnroot/project  file:///home/svnroot/test -m "1"
Adding         /home/svnroot/project/test.file
Committed revision 1.

// 查看版本号   
#  /usr/local/svn/bin/svnadmin --version                
//不让其他人有该目录的权限   
#  chmod 700 /home/svnroot/                             


3、配置Apache来支持SVN
# vim /usr/local/apache2/conf/httpd.conf
在末尾加上如下内容:

<VirtualHost *:80>
           <Location /svn>
          DAV svn
              SVNPath /home/svnroot                                                     //svn父目录
              AuthType Basic                                                                  //连接类型设置
              AuthName "Welcome to MySVN"                                        //连接框提示
              AuthUserFile /home/svnroot/conf/default.passwd               //用户配置文件
              AuthzSVNAccessFile /home/svnroot/conf/default.access   //权限配置文件
              Require valid-user                                                              //采用何种认证
          </Location>
              ServerName svn.server.com     服务器域名(客服端访问需要设置hosts,如 192.168.0.93  svn.server.com)
              DirectoryIndex index.html          Apache自动加载

</VirtualHost>

保存退出

重启 apache
# /usr/local/apache2/bin/apachectl restart
打开IE,输入:http://192.168.0.93/testhttp://localhost/test (http://svn.server.com/test
会弹出一个输用户和密码的框就对了

4、权限设置

创建svn.passwd文件

# /usr/local/apache2/bin/htpasswd -cm /home/svnroot/conf/default.passwd user1
  New password:
  Re-type new password:
  Adding password for user user1

*第一次添加使用 -c 同时会创建文件,此后可直接创建。详情请参阅htpasswd --help

# /usr/local/apache2/bin/htpasswd –m /var/svnroot/svnpasswd user2
  New password:
  Re-type new password:
  Adding password for user user2

创建svn.authz

# vi /home/svnroot/conf/default.access
[groups]

admin = admin
test = zhangsan
it   = lisi

[/]
@admin = rw
* =

[test:/]
@test = rw
*  = rw

[it:/]
@it = rw

 

 

补充说明:

如果使用apache+svn进行版本控制,那么在创建版本库时产生的conf目录里的配置文件时没意义的。

对版本库的访问时基于apache平台,所以无需启动svnserve,除非同时想采用svn://访问,但是svnserve默认只能开启单一版本库的访问控制,因为svnserve启动必须指向相关版本的目录。

无论是单版本库还是多版本库控制,如果开启了访问控制AuthType Basic,那么用户的管理和权限都在AuthUserFile和AuthzSVNAccessFile指定的文件里。

单个版本控制时,在AuthzSVNAccessFile指定文件里使用[/path/to]配置用户在指定目录权限

多个版本库控制时,在AuthzSVNAccessFile指定文件里进行分组,使用[project_name:/path/to]配置用户在指定版本库的指定目录的权限

 

【报错处理记录】
一、make编译出错:

现象:
1>[root@localhost apr-util-1.2.2]# make
make[1]: Entering directory `/home/lookdfw/svn_setup/apr-util-1.2.2'
make[1]: Nothing to be done for `local-all'.
make[1]: Leaving directory `/home/lookdfw/svn_setup/apr-util-1.2.2'
[root@localhost apr-util-1.2.2]#
2>make: Nothing to be done for `all'.
解决方法:
make clean        (清除以上安装操作)
./configure  --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
make
make install

二、svn出错:
此处刚开始出现问题,浏览器打开后,提示用户名密码,输入后,提示internal server error
检查/usr/local/apache2/logs/error_log文件,发现提示could not open password file
解决办法:
修改Apache配置文件时,将 AuthName "Subversion.zoneyump" 中的""去掉即可,而网上转载来的都带引号。

三、启动Apache出错
1、现象:
[lookdfw@localhost ~]$ /usr/local/apache2/bin/apachectl start
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

解决方法:
1>非root用户使用的端口80将无权。使用Root用户操作
2>重启下系统;

2、现象:
[root@localhost local]# /usr/local/apache2/bin/apachectl start
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/svn/lib/libsvn_subr-1.so.0: undefined symbol: apr_hash_clear
解决方法:
* 注意:--enable-dav --enable-so参数是必须要加的,你还可以根据您的需要添加其他的参数。
* --enable-dav 启用davweb支持,是subversion+apache组合必选,缺少的话,在运行apache会出现undefined symbol: dav_register_provider的错误
附上参数:
[root@localhost httpd-2.2.16]# ./configure --prefix=/usr/local/apache2/ --enable-dav --enable-so
make
make install


五、重启动apache
   # apachectl restart 时,会出现mod_dav_svn.so找不到等错误。
   # yum list mod_dav_svn ,会发现与之相关的包mod_dav_svn.i386,安装之:
   # yum install mod_dav_svn.i386
会发现在/etc/httpd/conf.d文件夹下,自动产生了subversion.conf文件,而且自动添加了如下两行:
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


六、进入svn输入正确账号报错:
现象: Server sent unexpected return value (403 Forbidden) in response to OPTIONS

检查所有项目库,均出现此现象;最后检查vim /home/svnroot/conf/default.access 权限,发现里面有一库输入错误少了“-”,更正后全部OK;

  评论这张
 
阅读(1411)| 评论(3)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018