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

good luck guys

welcome

 
 
 

日志

 
 

centos 5.5下SVN和APACHE的配置  

2011-09-01 13:41:57|  分类: svn-cvs |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1,环境及相关服务检查
确认是否安装了apache,mysql,没有请yum 安装apache mysql
一般情况下,centos自带了svnserver,如果没有运行 yum install subversion

2: 相关软件包检查
请确认下面软件包有没有安装,如果没有安装,请yum install安装
openssl-0.9.8b-8.3.el5
openssl-devel-0.9.8b-8.3.el5
mod_ssl-2.2.3-6.el5
mod_auth_mysql-3.0.0-3.1
mysql-server-5.0.22-2.1
mysql-5.0.22-2.1
mysql-devel-5.0.22-2.1
subversion-1.4.2-2.el5
mod_dav_svn-1.4.2-2.el5
如果安装正常的话,应该在/etc/httpd/modules目录下能找到这些模块
mod_authz_svn.so
mod_dav_svn.so
mod_auth_mysql.so

3: 初始化项目库
创建svn的项目库父路径,我把/svn做为svn的项目库父路径。这个目录是任意的,如果是多个项目库则必须在同一个父路径下
#mkdir /svn

我们通过如下命令初始化一个svn项目库phpsvn
#svnadmin create /svn/phpsvn
或者你指定SVN库的存储方式
#svnadmin create –fs-type fsfs /svn/phpsvn

或者
#svnadmin create –fs-type bdb /svn/phpsvn

默认是bdb(Berkeley DB)的存储方式,不过一般人更喜欢fsfs的存储库方式

步骤4、SVN访问控制
vi /svn/phpsvn/conf/svnserve.conf
去掉这几行前面的 #
anon-access = none #从read改为none 如果不修改经常会出现: “无权打开根进行编辑操作”的问题。或者在增加下面红色内容
auth-access = write
password-db = passwd
realm =phpsvn #phpsvn是刚才建立的项目名

vi /svndata/phpsvn/conf/authz
新增下面几行
phpsvn=abc,john #新增用户组
[/]
@phpsvn=rw #该组成员有读写权限
*=r  #其他人读权限

生成/svn/phpsvn/conf/password密码文件
例如生成用户abc的密码
htpasswd -c /svn/phpsvn/conf/password abc    # -c是重新生成密码,如果给多个用户生成密码,取消-c
提示输入密码:123456
生成文件内容如下
abc:9uv/rM1UYcns
#也可以在passwd配置文件中给用户设置密码

[users]
 abc= passwd     
 john = passwd

步骤5、Apache和SVN集成
编辑apache的配置文件/etc/httpd/conf/httpd.conf文件
增加两个模块调用命令
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
在文件最后增加
<Location /svn>
DAV svn
SVNParentPath /svn                       //svn父目录
AuthzSVNAccessFile /svn/phpsvn/conf/authz                 //权限配置文件
AuthName "please Login.."               //连接框提示 
AuthType Basic                                  //连接类型设置
AuthUserFile /svn/phpsvn/conf/passwd     //用户配置文件
require valid-user                                         //采用何种认证
</Location>

注释:/svn主目录下共用

           AuthzSVNAccessFile     可以访问的用户,及读写权限   

            AuthUserFile                   存放用户密码目录
    
步骤6、安全访问设置[必须设置,否则svn无法访问]
修改目录的属主和访问权限
#chown apache.apache -R  /svn
#chmod 755 -R  /svn

修改SELinux的设置
禁用SELinux(强烈不推荐)或者在SELinux图形管理界面中勾上Disable SELinux protection for httpd daemon这个选项,否则apache这个虚拟用户无法访问/svn目录,当然你也可以用更好的方法设置apache的访问权限,比如:
chcon -R -h -u system _u -t httpd_sys_content_t /svn/repos

步骤7、重新启动Apache服务器
执行如下命令
#service httpd restart

Starting httpd: [Fri Sep 02 09:51:31 2011] [warn] module dav_svn_module is already loaded, skipping
[Fri Sep 02 09:51:31 2011] [warn] module authz_svn_module is already loaded, skipping
[  OK  ]
如果出现上面的提示,可以忽略,原是在subversion.conf配置文件中,已增加了这两个模块,也可以在# vi /etc/httpd/conf.d/subversion.conf中注释掉上面两行。

步骤8、键入下面的url看是否能正确的访问svn。
http://localhost/svn/phpsvn
备注:
重新启动svn服务的方法
ps -ef|grep svn
kill 进程号
svnserve -d -r /svn/phpsvn #这条命令可加到/etc/rc.local里实现自动启动

  评论这张
 
阅读(1161)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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