MySQL如何实现Apache用户认证-创新互联
这篇文章主要介绍MySQL如何实现Apache用户认证,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
天心ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
apache要求DSO方式编译安装,假定apache安装在/usr/local/apache目录下,mysql假设安装在了/usr/local/mysql目录下
首先下载mod_auth_mysql,下载地址:http://www.bruce.com.cn/software ... _mysql-2.9.0.tar.gz
[root@www software]# tar xzfv mod_auth_mysql-2.9.0.tar.gz
[root@www software]# cd mod_auth_mysql-2.9.0
[root@www mod_auth_mysql-2.9.0]# /usr/local/apache/bin/apxs -c -I/usr/local/mysql/include -L/usr/local/mysql/lib -lmysqlclient -lm -lz mod_auth_mysql.c
[root@www mod_auth_mysql-2.9.0]# /usr/local/apache/bin/apxs -i mod_auth_mysql.la
然后编辑httpd.conf文件
[root@www mod_auth_mysql-2.9.0]# vi /usr/local/apache/conf/httpd.conf
在httpd.conf中加入下列几行:(以下是我的httpd.conf中的节选)
LoadModule mysql_auth_module modules/mod_auth_mysql.so
AuthType Basic
AuthMySQLHost localhost
AuthMySQLPort 3306
AuthMySQLDB database #要访问的数据库
AuthMySQLUser mysql_user #访问数据库的用户
AuthMySQLPassword user_password #用户密码
AuthMySQLPwEncryption md5 #MD5加密
AuthMySQLEnable On
AuthMySQLUserTable user_table #要访问的数据表
AuthMySQLNameField username #用户名的字段
AuthMySQLPasswordField password #密码字段
AuthMySQLGroupTable user_table #和用户表一样
AuthMySQLGroupField mygroup #用户组字段
从以上配置可以知道,这个模块实际上对用户表没有特别的要求,只要能找到 用户名和对应的口令即可,如果需要对一个组作验证,那么需要 group 那个列。
由于公司内部所有的用户都具有相同的组,所以,在验证时一般采用组用户来验证,因此要在 plog_user 表添加列: user_group ,并把所有行的 user_group 列 update 为某固
定值,例如 mygroup 。
在这里 groupTable 和 UserTable 是同一张表,如果需要一个用户属于多个 group ,那么必须另外建立 group 表。
做好以上工作后,在需要加密的目录添加 .htaccess 文件如下:
[root@www MySQL]# more /home/bruce/html/software/.htaccess
AuthType Basic
AuthName "资源下载仅针对会员开放"
require valid-user
再重新启动apache
[root@www mod_auth_mysql-2.9.0]# service httpd restart
采用这种认证措施后,用户的浏览记录都能在 Apache 日志中保留下来,利用 awstats 等日志统计软件,都可以查看到用户的浏览量,使公司内部的知识流向都能清楚地查看到。
以上是“MySQL如何实现Apache用户认证”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!
文章题目:MySQL如何实现Apache用户认证-创新互联
转载源于:http://scyanting.com/article/dopepi.html