专栏首页恩蓝脚本Ubuntu 18.04上安装 phpMyAdmin的详细教程

Ubuntu 18.04上安装 phpMyAdmin的详细教程

我们将安装 phpMyAdmin 在 Ubuntu18.04 上配合 Apache 一起工作.

在安装 phpMyAdmin 之前需要已经安装了LAMP栈并提供了web页面.

如果没有安装可以参照 Ubuntu 18.04上安装Apache,MySQL,PHP 来先安装.

1. 安装 phpMyAdmin

让我们从更新包列表开始,并在Ubuntu 18.04上安装phpMyAdmin。下面我们有两个用&&分隔的命令。第一个命令将更新包列表,以确保您获得phpMyAdmin的最新版本和依赖项。第二个命令将下载并安装phpMyAdmin。当要求继续时,按 y 并 回车。

$ sudo apt update && sudo apt install phpmyadmin

根据您的设置,phpMyAdmin包配置中以下屏幕的顺序可能有所不同。

如果提示您选择web服务器,请按SPACE键在apache2旁边放一个星号[*],然后按TAB键突出显示OK并按ENTER键.如下图:

回车后如下:

选择 Yes 并按 ENTER 来安装和配置数据库。

MySQL应用程序密码只在phpMyAdmin内部使用,用于与MySQL通信。您可以保留此空白,密码将自动生成。按回车键继续。

2. 测试 phpMyAdmin

现在,您应该能够通过访问服务器的域名或公共IP地址和 /phpMyAdmin来访问phpMyAdmin web界面。例如:http://example.com/phpmyadmin或http://192.168.1.10 phpmyadmin 如果你还没有一个域名或不知道你的IP,你可以通过下面命令找到:

$ sudo service apache2 status

第一次安装MySQL时,您需要设置根用户和密码。但是,根用户可能禁用远程登录。 如果您得到一个错误“用户’ root ‘ @ ‘ localhost’的访问被拒绝”,您应该继续执行步骤3,为phpMyAdmin创建一个超级用户。

3. 创建 MySQL 用户

如果您不能以上面的 root 用户身份登录,您现在可以为phpMyAdmin创建一个超级用户帐户。 在终端,以 root 用户身份登录MySQL。您可能在第一次安装MySQL时创建了一个根密码, 或者密码是空白的,在这种情况下,您可以在提示输入密码时按 ENTER。

$ sudo mysql -p -u root

现在用您选择的用户名添加一个新的MySQL用户。在本例中,我们将其称为 pmauser (php my admin user)。 确保将 password_here 替换为您自己的密码(自己造一个密码)。 % 符号告诉MySQL允许该用户从远程的任何地方登录。如果你想提高安全性,你可以用一个IP地址来代替它。

CREATE USER 'pmauser'@'%' IDENTIFIED BY 'password_here';

我这里设置的密码是 123456 这个是弱密码(很容易就被猜到), 不建议大家使用这个密码.

现在,我们将向新用户pmauser授予超级用户权限。

GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;

现在退出MySQL。

exit

现在,您应该能够使用这个新用户帐户访问phpMyAdmin。 如果您想为phpMyAdmin设置一些额外的安全性,请继续下一步。

4. 模糊 phpMyAdmin URL

机器人和攻击者不断扫描web服务器,寻找默认的phpMyAdmin登录页面,因此建议您将URL更改为其他内容。 在本例中,我们将把它从 example.com/phpmyadmin 更改为 example.com/pmahidden 。 使用 vi 文本编辑器打开Apache的phpMyAdmin配置文件。(如果不习惯 vi, 推荐可视化文本编辑器 gedit )

$ sudo ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'

将 Alias (别名)从 /phpmyadmin 更改为 /pmahidden – 您也可以将其更改为您想要的任何内容。

保存并退出 vi. 现在必须重新加载Apache服务,以使更改生效。

$ sudo vi /etc/apache2/conf-available/phpmyadmin.conf

您现在应该能够通过 example.com/pmahidden 访问 phpMyAdmin

5. 用 .htpasswd 进行保护

我们可以使用 .htpasswd 进一步保护 phpMyAdmin 登录页面。这又增加了一条抵御机器人和黑客的防线。

5.1 允许. htaccess 覆盖

要设置.htpasswd,我们必须首先更改phpMyadmin Apache配置文件,以允许.htaccess覆盖。 使用 vi 打开配置文件 phpmyadmin.conf

$ sudo vi /etc/apache2/conf-available/phpmyadmin.conf

在 DirectoryIndex index.php 下面添加 AllowOverride All 如下图:

保存并且退出 vi 现在重新加载Apache服务。

$ sudo service apache2 reload

5.2 设置 .htpasswd

我们将使用 gedit 文本编辑器在 phpMyAdmin 安装目录中创建一个新的 .htaccess 文件。

$ sudo gedit /usr/share/phpmyadmin/.htaccess

粘贴以下内容到 .htaccess 文件.

AuthType Basic
AuthName "Restricted Access"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

点击 Save 按钮保存, 并点击关闭按钮退出. 现在,我们可以使用 htpasswd 工具生成 .htpasswd 文件。

在本例中,我们创建了一个名为pmauser (php my admin user)的新用户,尽管您可以将其更改为您想要的任何内容。

$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd pmauser

您将被要求输入一个新的密码两次(生成一个密码)。 完成之后, 现在您可以在浏览器中访问 phpMyAdmin, 现在应该会提示您输入登录细节。

参考:Installing phpMyAdmin for Apache on Ubuntu 18.04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CentOs 7.*中配置安装phpMyAdmin的完整步骤记录

    CentOs安装配置phpMyAdmin其实非常简单,所谓的安装其实是不存在的,因为phpMyAdmin是php写的嘛,所以只需要下载安装包然后解压之后,简单配...

    砸漏
  • centos下安装配置phpMyAdmin的方法步骤

    centos下安装配置phpmyadmin,我花了二个晚上,郁闷的我不行,配置phpmyadmin简单吧,很简单,我刚工作的时候,就配置过,很顺利,5年后,竟然...

    砸漏
  • Centos7.2 编译安装方式搭建 phpMyAdmin

    一、编译安装 并配置 httpd 2.4.7,由于软件依赖,先安装 pcre apr 以及 apr-util

    砸漏
  • CentOs 7.*中配置安装phpMyAdmin的完整步骤记录

    CentOs安装配置phpMyAdmin其实非常简单,所谓的安装其实是不存在的,因为phpMyAdmin是php写的嘛,所以只需要下载安装包然后解压之后,简单配...

    砸漏
  • centos下安装配置phpMyAdmin的方法步骤

    centos下安装配置phpmyadmin,我花了二个晚上,郁闷的我不行,配置phpmyadmin简单吧,很简单,我刚工作的时候,就配置过,很顺利,5年后,竟然...

    砸漏
  • [PHP] time_wait与长连接短连接

    服务端上查看tcp连接的建立情况,直接使用netstat命令来统计,看到了很多的time_wait状态的连接.这些状态是tcp连接中主动关闭的一方会出现的状态....

    陶士涵
  • Python 美化打印 json 数据

    curl http://m.weather.com.cn/data/101210101.html

    py3study
  • Install and Configure Redis on CentOS 7

    Redis is an open-source, in-memory, data structure store with optional disk writ...

    heidsoft
  • 按照这几个步骤操作,不实现 RNN 都难!

    最近在看RNN模型,为简单起见,本篇就以简单的二进制序列作为训练数据,而不实现具体的论文仿真,主要目的是理解RNN的原理和如何在TensorFlow中构造一个简...

    AI研习社
  • 真正的中文编程来了,可我完全学不懂

    毕竟有易语言在前,有人认为中文可以降低国人学习编程的门槛,也增强汉语的国际地位。然而最近大火的文言文编程语言,让你明白什么叫“中文比英语还难”。

    张凯强

扫码关注云+社区

领取腾讯云代金券