部署phpmyadmin并配置apache通过ldap验证

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

其实,配置apache使用ldap验证的例子,之前的PLA和LAM就是典型案例了,只不过这次想单独的配置apache和ldap的整合,另外一点就是windows上搭建LAMP的话,一般都会使用比如xampp之类的集成软件,一键安装统一管理Apache/MySQL/PHP,虽然Linux上我们一般不会采用类似的方法(构建LAMP也有各种各样的方法),但是phpmyadmin也是一个管理MySQL简单快捷的选择,所以就在此配置一下。

1、准备工作

1
2
3
4
5
/etc/init .d /iptables  stop
iptables -L -n
setenforce 0
getenforce
echo  "192.168.49.134   phpmyadmin"  >> /etc/hosts

2、安装并配置Apache

1
2
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服务来解决。

1
2
3
sed  -i  '/#ServerName/aServerName 192.168.49.134:80'  /etc/httpd/conf/httpd .conf
/etc/init .d /httpd  restart
chkconfig httpd on

3、安装并配置MySQL

1
2
3
4
5
6
7
8
9
10
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

1
2
3
4
5
6
7
8
9
10
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并配置目录权限

1
2
3
4
5
6
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的登录界面,如下所示:

wKioL1fY5hLQNpvoAAEXsOSyiMk408.png-wh_50

输入MySQL的root账号密码,执行。

wKioL1fY5hSDvXqqAAIUw3gCBB8853.png-wh_50

登录成功,可以看到MySQL中的数据库、表、用户等信息,同时这里也显示出了服务器的相关信息。由于只是测试phpmyadmin的安装配置,并未对这些信息进行隐藏或者修改等配置,当然如果是生产环境,apache和MySQL都需要进行更详细的配置,这里就不多做说明了。

7、安装apahce的ldap模块mod_authz_ldap

1
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认证

wKioL1fY6OGwVDa0AAEgG3bb0-A700.png-wh_50

打开浏览器,输入phpmyadmin的地址,发现这次并没有显示登陆界面,而是要求进行身份验证,输入ldap中的用户名和密码,登录。

wKiom1fY6OLC2SemAAEU99tdymI564.png-wh_50

成功登录之后,才显示phpmyadmin的登录界面,这里就可以使用MySQL的root用户登录了。注意,本文是配置apache使用ldap进行登录,并不是MySQL使用ldap登录,所以这里还是要输入MySQL的用户名密码登录,而使用ldap用户名密码验证的只是浏览器打开连接时的身份认证,如果无法通过身份验证就无法登录MySQL,即使知道root密码也没有办法,这也算是一种phpmyadmin管理MySQL加固的方案吧。



本文转自 jerry1111111 51CTO博客,原文链接:http://blog.51cto.com/jerry12356/1852711,如需转载请自行联系原作者

目录
打赏
0
0
0
0
265
分享
相关文章
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
81 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
将 Python UDF 部署到 Apache IoTDB 的详细步骤与注意事项
【10月更文挑战第21天】将 Python UDF 部署到 Apache IoTDB 中需要一系列的步骤和注意事项。通过仔细的准备、正确的部署和测试,你可以成功地将自定义的 Python UDF 应用到 Apache IoTDB 中,为数据处理和分析提供更灵活和强大的支持。在实际操作过程中,要根据具体情况进行调整和优化,以确保实现最佳的效果。还可以结合具体的代码示例和实际部署经验,进一步深入了解和掌握这一过程。
65 2
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
390 7
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
78 2
|
6月前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
87 4
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
152 1
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
105 3
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
496 33
The Past, Present and Future of Apache Flink
Apache Flink 2.0.0: 实时数据处理的新纪元
Apache Flink 2.0.0 正式发布!这是自 Flink 1.0 发布九年以来的首次重大更新,凝聚了社区两年的努力。此版本引入分离式状态管理、物化表、流批统一等创新功能,优化云原生环境下的资源利用与性能表现,并强化了对人工智能工作流的支持。同时,Flink 2.0 对 API 和配置进行了全面清理,移除了过时组件,为未来的发展奠定了坚实基础。感谢 165 位贡献者的辛勤付出,共同推动实时计算进入新纪元!
276 1
Apache Flink 2.0.0: 实时数据处理的新纪元
|
6月前
|
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
1243 13
Apache Flink 2.0-preview released

相关实验场景

更多

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等