昊天SEO

在CentOS 7上安装phpMyAdmin管理MySQL

很多网站和应用的后端都需要数据库来进行庞大的数据管理,免费的MySQL(MariaDB)成为很多开发者都喜欢使用的数据库系统。为了从复杂的命令行式管理数据库工作中脱离出来,很多开发者喜欢使用第三方的MySQL管理软件,phpMyAdmin是其中最流行的一款WEB管理软件。

本教程适用于CentOS 6版本。

在安装phpMyAdmin之前,您需要先对CentOS操作系统做一些初始化及将LNMP配通,可以参考CentOS系统初始化设置和在CentOS 6上搭建LNMP环境。

下载安装phpMyAdmin

完成在CentOS 6上搭建LNMP环境之后,就可以安装phpMyAdmin了。 输入以下命令:

sudo yum install phpmyadmin

按照提示输入yes后,phpMyAdmin的软件包就下载和安装完成了。

配置phpMyAdmin

phpMyAdmin已经安装完毕以后,还需要配置一下Nginx,使我们可以通过浏览器访问phpMyAdmin,在/etc/nginx/conf.d目录中新建一个名为phpMyAdmin.conf的文件,其内容为:

server {
    listen 8080; 
    location ~ \.php$ {
        root           /usr/share/phpMyAdmin;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    location / {
        root           /usr/share/phpMyAdmin;
        index          index.php;
    }
}

其中:listen参数代表指定访问端口;

然后执行以下命令将Nginx重置一下:

sudo service nginx reload

在验证Nginx是否可访问之前,别忘了检查一下您在美团云控制台中是否对该机器绑定了防火墙,如果绑定了防火墙,需要确认8080端口是否允许访问,如果不允许,则需要在防火墙中设置为允许。

此时我们在浏览器中打开http://<your-ip>:8080就可以访问phpMyAdmin了,端口号为之前配置文件中设置的listen端口8080。

随后出现的身份验证中填入MySQL的账户和密码就可以了。

安全加固

MySQL的端口是外网不能访问的,但是安装了phpMyAdmin之后,就在外界暴漏了MySQL的入口,如果不做安全防护,很容易被恶意攻击盗取密码,那数据完全则无从保障。下面将介绍两种方式对phpMyAdmin进行安全加固。

设置IP白名单

我们可以通过修改Nginx配置,设置能够访问phpMyAdmin服务的IP,只允许自己电脑进行访问。

首先通过访问http://www.ip138.com这个网站来得到你现在的公网地址。

修改Nginx的配置文件/etc/nginx/conf.d/phpMyAdmin.conf , 在location ~ \.php$一节增加一行:

    location ~ \.php$ {
        root           /usr/share/phpMyAdmin;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
        # 这里填写你的自己电脑的公网地址
        allow          xxx.xxx.xxx.xxx;
    }

之后重启Nginx服务:

sudo service nginx reload

这样,除了使用你的电脑之外,其他人就不能访问你的phpMyAdmin了。

使用Basic Auth认证来保护phpMyAdmin

Nginx提供HTTP的Basic Auth功能,配置了Basic Auth之后,需要输入正确的用户名和密码之后才能正确的访问网站。

我们使用htpasswd来生成密码信息,首先我们先要安装httpd-tools,在httpd-tools中包含了htpasswd命令。

sudo yum install httpd-tools -y

接下来我们就可以创建用户和密码了,例如创建一个chris的用户,执行命令:

sudo htpasswd -c /etc/nginx/.htpasswd chris

按照提示输入两次密码之后就创建成功了,然后我们来再次修改Nginx的配置,编辑/etc/nginx/conf.d/phpMyAdmin.conf,在配置后面添加两行配置:

server {
    ....
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

然后重启Nginx服务:

sudo service nginx reload

重新访问网址http://<your-ip>:8080,会提示输入密码。

以上介绍两种方式会增加黑客入侵的难度,但是并不能保证一定安全,如果您数据库中的数据特别敏感,建议不要使用phpMyAdmin或类似工具管理数据库。

总结

本文介绍了如何在CentOS 6中安装phpMyAdmin,并且介绍了两种方法对phpMyAdmin进行安全加固。

再次提醒用户,MySQL中的数据如果特别敏感,不要使用phpMyAdmin以及类似的工具管理数据库,不要开放MySQL的端口到外网,而是直接在机器上使用命令行进行管理。

本文地址官网    新乡网站建设,seo

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址