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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 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,如需转载请自行联系原作者

相关文章
|
1月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
39 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
20天前
|
数据处理 Apache 数据库
将 Python UDF 部署到 Apache IoTDB 的详细步骤与注意事项
【10月更文挑战第21天】将 Python UDF 部署到 Apache IoTDB 中需要一系列的步骤和注意事项。通过仔细的准备、正确的部署和测试,你可以成功地将自定义的 Python UDF 应用到 Apache IoTDB 中,为数据处理和分析提供更灵活和强大的支持。在实际操作过程中,要根据具体情况进行调整和优化,以确保实现最佳的效果。还可以结合具体的代码示例和实际部署经验,进一步深入了解和掌握这一过程。
20 2
|
1月前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
121 7
|
1月前
|
消息中间件 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
40 2
|
1月前
|
存储 消息中间件 druid
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
77 1
|
1月前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
33 4
|
1月前
|
负载均衡 应用服务中间件 Apache
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
37 3
|
27天前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
566 13
Apache Flink 2.0-preview released
|
1月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
62 3
|
2月前
|
SQL 消息中间件 关系型数据库
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。

推荐镜像

更多