设为首页 收藏本站
查看: 866|回复: 0

[经验分享] CentOS7下Apache2.4.6使用MySQL5.7验证

[复制链接]

尚未签到

发表于 2018-11-18 09:21:50 | 显示全部楼层 |阅读模式
  由于环境新升级到了CentOS 7,Apache 2.4.6已经不支持mod_auth_mysql进行验证,我们主要通过MySQL验证SVN账号密码。
yum -y install httpd httpd-devel mod_dav_svn mod_ssl apr-util-mysql  

  1.使用dbd进行认证,无法与其他工具进行集成,比如Zabbix,禅道(将密码md5加密存储)
DBDriver mysql
DBDParams "host=192.168.0.75 port=3306 dbname=svn user=test password=test"
DBDMin 1
DBDKeep 2
DBDMax 10
DBDExptime 60

AuthType Basic
AuthName "SVN Auth"
AuthBasicProvider dbd
AuthDBDUserPWQuery "select password from account where is_enable =1 and user = %s"
  数据库则为
  > select * from user;
  +----+-------+-------------------------------------------+-----------+
  | id | user  | password                                                     | is_enable  |
  +----+-------+-------------------------------------------+-----------+
  |  4 | test  | {SHA}qUqP5cyxm6YcTAhz05Hph5gvu9M= |         1      |
  +----+-------+-------------------------------------------+-----------+
  以上只有test账号可以正常使用,其他明文密码和直接md5加密是无法使用的
  密码的生成有以下几种加密方式,把以下的密码插入数据库

-- bcrypt
$ htpasswd -nbB myName myPassword
myName:$2y$05$c4WoMPo3SXsafkva.HHa6uXQZWr7oboPiC2bT/r7q1BB8I2s0BRqC
-- MD5
$ htpasswd -nbm myName myPassword
myName:$apr1$r31.....$HqJZimcKQFAMYayBlzkrA/
-- SHA1
$ htpasswd -nbs myName myPassword
myName:{SHA}VBPuJHI7uixaa6LQGWx4s+5GKNE=
-- CRYPT
$ htpasswd -nbd myName myPassword
myName:rqXexS6ZhobKA  

  2.手动安装mod_auth_mysql
  下载软件包及补丁
wget https://nchc.dl.sourceforge.net/project/modauthmysql/modauthmysql/3.0.0/mod_auth_mysql-3.0.0.tar.gz
wget https://sourceforge.net/p/modauthmysql/patches/13/attachment/mod_auth_mysql_3.0.0_patch_apache2.4.diff  安装依赖包:
yum -y install mariadb-libs mariadb maraidb-devel patch  安装模块及配置:
# tar zxf mod_auth_mysql-3.0.0.tar.gz
# cd mod_auth_mysql-3.0.0
# patch -p0 < ../mod_auth_mysql_3.0.0_patch_apache2.4.diff
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- mod_auth_mysql-3.0.0/mod_auth_mysql.c      2005-06-22 12:17:45.000000000 -0400
|+++ mod_auth_mysql-3.0.0_patch_apache_2.4/mod_auth_mysql.c     2013-12-30 18:07:27.646704470 -0500
--------------------------
File to patch: mod_auth_mysql.c        #此处输入mod_auth_mysql.c执行即可
patching file mod_auth_mysql.c
编译模块:
# apxs -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c
安装模块:
# apxs -i mod_auth_mysql.la  最后在httpd.conf末尾增加配置文件
  LoadModule mysql_auth_module modules/mod_auth_mysql.so
  

  检查是否报错:
  httpd -t
  

  以上在正常情况下是这样的,但是5.7的就会报错,必须安装如下几个包:
  mysql-community-libs-compat
  mysql-community-libs
  mysql-community-client
  mysql-community-common
  

  如果遇上错误,则可以在未安装5.7的机器上使用yum安装的mariadb-libs进行编译,然后上传到5.7的机器,测试后发现无任何问题。
  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636433-1-1.html 上篇帖子: Apache NiFi Processor实战 下篇帖子: 使用Dockerfile创建带Apache服务的Centos Docker镜像
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表