共計 1667 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章主要介紹 MySQL 如何實現 Apache 用戶認證,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
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 用戶認證”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!