因为环境的迁移,我们将SVN由CentOS 6.8迁移至CentOS 7.3,原先的httpd-2.2.15已经升级为httpd-2.4.6,通过yum安装httpd mod_auth_mysql在CentOS 7.3已经不支持了。
1.环境准备
2.文件下载及准备
mod_auth_mysql项目地址
apache22.diff补丁地址
3.mod_auth_mysql编译及安装
修改源码
908行:由[return r->connection->remote_ip;]变为[return r->connection->client_ip;]
1273行: 由[const apr_array_header_t *reqs_arr = ap_requires(r);]变为[const apr_array_header_t *reqs_arr = apr_table_elts(r->headers_in);]
编译
若出现以下错误
/usr/bin/ld: cannot find -lmysqlclient
collect2: error: ld returned 1 exit status
apxs:Error: Command failed with rc=65536
则可能是路径指错了
apxs -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c
修改以上红色部分为/usr/lib64/mysql即可
安装
################################################################
以上补丁部分也可以直接使用apache2.4的补丁
本文转自 rong341233 51CTO博客,原文链接:http://blog.51cto.com/fengwan/1898048