您好,登錄后才能下訂單哦!
其實,配置apache使用ldap驗證的例子,之前的PLA和LAM就是典型案例了,只不過這次想單獨的配置apache和ldap的整合,另外一點就是windows上搭建LAMP的話,一般都會使用比如xampp之類的集成軟件,一鍵安裝統一管理Apache/MySQL/PHP,雖然Linux上我們一般不會采用類似的方法(構建LAMP也有各種各樣的方法),但是phpmyadmin也是一個管理MySQL簡單快捷的選擇,所以就在此配置一下。
1、準備工作
/etc/init.d/iptables stop iptables -L -n setenforce 0 getenforce echo "192.168.49.134 phpmyadmin" >>/etc/hosts
2、安裝并配置Apache
yum -y install httpd /etc/init.d/httpd start
這時,一般apache啟動會有如下提示:
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.49.134 for ServerName
可以通過sed添加ServerName,然后重啟httpd服務來解決。
sed -i '/#ServerName/aServerName 192.168.49.134:80' /etc/httpd/conf/httpd.conf /etc/init.d/httpd restart chkconfig httpd on
3、安裝并配置MySQL
yum -y install mysql mysql-server mv /etc/my.cnf /etc/my.cnf.bak$(date +%F) cp /usr/share/mysql/my-medium.cnf /etc/my.cnf /etc/init.d/mysqld start chkconfig mysqld on mysql_secure_installation #使用mysql_secure_installation腳本來給MySQL的root用戶設置密碼,也可以進行其他設置 /etc/init.d/mysqld restart mysql -uroot -p123456 #測試MySQL root賬戶登錄
4、安裝并配置PHP
yum -y install php php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt #這里把php以及其他和MySQL相關的模塊一并安裝了 [root@phpmyadmin ~]# php --version PHP 5.3.3 (cli) (built: Aug 11 2016 20:33:53) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies #查看PHP版本 [root@phpmyadmin ~]# mysql -V mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1 #查看MySQL版本
5、下載phpmyadmin并配置目錄權限
wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.17/phpMyAdmin-4.0.10.17-all-languages.zip --no-check-certificate cp phpMyAdmin-4.0.10.17-all-languages.zip /var/www/html/ cd /var/www/html/ unzip phpMyAdmin-4.0.10.17-all-languages.zip mv phpMyAdmin-4.0.10.17-all-languages phpmyadmin chown -R apache:apache phpmyadmin
6、瀏覽器測試phpmyadmin
瀏覽器中輸入http://192.168.49.134/phpmyadmin/,出現phpmyadmin的登錄界面,如下所示:
輸入MySQL的root賬號密碼,執行。
登錄成功,可以看到MySQL中的數據庫、表、用戶等信息,同時這里也顯示出了服務器的相關信息。由于只是測試phpmyadmin的安裝配置,并未對這些信息進行隱藏或者修改等配置,當然如果是生產環境,apache和MySQL都需要進行更詳細的配置,這里就不多做說明了。
7、安裝apahce的ldap模塊mod_authz_ldap
yum -y install mod_authz_ldap
8、配置apache通過ldap進行認證
cp /etc/httpd/conf.d/authz_ldap.conf /etc/httpd/conf.d/authz_ldap.conf.bak$(date +%F)
先檢查一下/etc/httpd/conf.d/authz_ldap.conf文件的內容
[root@phpmyadmin ~]# egrep -v "#|^$" /etc/httpd/conf.d/authz_ldap.conf
LoadModule authz_ldap_module modules/mod_authz_ldap.so
<IfModule mod_authz_ldap.c>
</IfModule>
然后編輯該文件,在<IfModule mod_authz_ldap.c>語句下面添加如下內容:
<Directory /var/www/html/phpmyadmin> #這里定義那個目錄需要使用ldap模塊認證
AuthzLDAPMethod ldap
AuthzLDAPServer 192.168.49.138
AuthzLDAPUserBase ou=People,dc=contoso,dc=com
AuthzLDAPUserKey uid
AuthzLDAPUserScope base
AuthType Basic
AuthName "Test ldap auth"
require valid-user
</Directory>
[root@phpmyadmin ~]# diff /etc/httpd/conf.d/authz_ldap.conf.bak2016-09-13 /etc/httpd/conf.d/authz_ldap.conf
9a10,23
> <Directory /var/www/html/phpmyadmin>
> AuthzLDAPMethod ldap
>
> AuthzLDAPServer 192.168.49.138
> AuthzLDAPUserBase ou=People,dc=contoso,dc=com
> AuthzLDAPUserKey uid
> AuthzLDAPUserScope base
>
> AuthType Basic
> AuthName "Test ldap auth"
> require valid-user
>
> </Directory>
>
/etc/init.d/httpd restart
#最后重啟httpd服務
9、測試apache使用ldap認證
打開瀏覽器,輸入phpmyadmin的地址,發現這次并沒有顯示登陸界面,而是要求進行身份驗證,輸入ldap中的用戶名和密碼,登錄。
成功登錄之后,才顯示phpmyadmin的登錄界面,這里就可以使用MySQL的root用戶登錄了。注意,本文是配置apache使用ldap進行登錄,并不是MySQL使用ldap登錄,所以這里還是要輸入MySQL的用戶名密碼登錄,而使用ldap用戶名密碼驗證的只是瀏覽器打開連接時的身份認證,如果無法通過身份驗證就無法登錄MySQL,即使知道root密碼也沒有辦法,這也算是一種phpmyadmin管理MySQL加固的方案吧。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。