网友通过本文主要向大家介绍了debian安装mysql,debian mysql,debian,debian linux下载,debian u盘安装等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
debian8下apache2.4.x部署mysql认证的subversion
近日,需迁移一台老的服务器,上面有apache2.2 下mysql认证的subverison应用。遂进行了研究。以往apache2的配置均不能使用,主要是因为apache2.4.x和apache2.2.x中利用mysql完成认证的模块有了较大变化。以往是auth_mysql模块,这个模块在apache2.4.x中已经失效,需要用authn_dbd 和 authz_dbd模块进行替换,相应的配置也需要进行修改。
下面详述相应设置。
环境:debian8u2,所有的包均是利用apt-get安装。
-------------------------------------------------------------
安装需要的软件包,注意,本文没有涉及mysql服务的搭建,认为已经搭建好了mysql服务(可以是本机或者其他服务器主机)。
设置apache2的相关模块加载(注意,安装libapache2-mod-svn时已经自动加载了一些模块了,否则还需要增加dav_svn.load和dav_svn.conf),下面的模块主要是利用数据库进行认证的。
- apt-get install apache2 libapache2-mod-svn mysql-client libaprutil1-dbd-mysql
修改apache2的一个主机配置,以完成subversion的认证访问。
- a2enmod auth*_dbd dbd
下面是一个例子
至此,一个支持mysql认证的apache2.4集成subversion仓库服务就配置完成。这是对于一个仓库的配置,如果要配置为多库,只需要把
- ...
- # 数据库的一些访问的基本配置
- # 数据库模式
- DBDriver mysql
- # 数据库访问连接信息,要根据实际情况配置,host是数据库服务主机,port对应服务端口,dbname对应要访问的数据库,user是访问用户名,pass是访问密码(密码是明文的)
- DBDParams "host=192.168.1.150 port=3306 dbname=svnauth user=authuser pass=dbpasswd"
- DBDMin 4
- DBDKeep 8
- DBDMax 20
- DBDExptime 300
- # 一个subversion项目的配置
- # 配置为采用DAV访问的subversion仓库
- DAV svn
- # 仓库数据放置位置,注意采用的是FSFS数据结构的仓库
- SVNPath /var/svnlibs/svnprj
- # 一个解析XSLT数据定义,在浏览器中引用(相对于web路径的)
- SVNIndexXSLT /svnindex.xsl
- SVNAutoversioning on
- AuthName "Svnprj MySql"
- AuthType Basic
- # 认证方式为dbd,即数据库
- AuthBasicProvider dbd
- require valid-user
- # 认证用户查询语句,要根据实际情况修改,这里表名为users ,用户名字段为user_name ,用户密码字段为user_passwd
- AuthDBDUserPWQuery "SELECT user_passwd FROM users WHERE user_name = %s"
- # 为认证用户开放读权限
- # 用户组权限配置
- # 用户组采用数据库查询
- require dbd-group work
- # 用户组查询语句,要根据实际情况修改,这里表名为groups ,用户名字段为user_name ,用户组字段为user_group
- AuthzDBDQuery "SELECT user_group FROM groups WHERE user_name = %s"
- # 个别用户权限配置
- require user auser
- require valid-user
- ...
修改为
- SVNPath /var/svnlibs/svnprj
即可。
- # 指定多个仓库的上级目录
- SVNParentPath /var/svnlibs
- SVNListParentPath on