我们将安装 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 ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'

第一次安装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 vi /etc/apache2/conf-available/phpmyadmin.conf

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

保存并退出 vi.

现在必须重新加载Apache服务,以使更改生效。

$ sudo service apache2 reload

您现在应该能够通过 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

Ubuntu 18.04上安装 phpMyAdmin的更多相关文章

  1. Ubuntu 18.04上安装Apache, MySQL, PHP, LAMP

    1.安装 Apache $ sudo apt update && sudo apt install apache2 中间会遇到停顿询问是否继续, 输入 y 然后 回车. 2.测试 Ap ...

  2. 如何在Ubuntu 18.04上安装Pip

    一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...

  3. 如何在Ubuntu 18.04上安装Django

    Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序. 根据您的需要,有不同的方法来安装Django.它可以使用pip在系统范围内安装或在 ...

  4. 如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)

    如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器 什么是Apache Web Server? Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apac ...

  5. 在Ubuntu 18.04上安装Tensorflow

    我们将经历几个阶段,安装cuda-9.0,cudnn和tensorflow cpu以及tensorflow gpu版本.最后我们将用cuda-9.0安装pytorch.在MARVEl电影中黑寡妇的“我 ...

  6. 如何在Ubuntu 18.04上安装Go

    如何在Ubuntu 18.04上安装Go 谢鸢发表于云计算教程系列订阅98 介绍 课程准备 第1步 - 安装Go 第2步 - 设置Go路径 第3步 - 测试您的安装 结论 介绍 Go是Google开发 ...

  7. 在Ubuntu 18.04上安装OpenCV 4(C ++和Python)

    OpenCV于11月20日发布了OpenCV-3.4.4和OpenCV-4.0.0.这些版本中有很多错误修复和其他更改.发布重点如下: OpenCV现在是C ++ 11库,需要符合C ++ 11标准的 ...

  8. 如何在Ubuntu 18.04上安装Apache Web服务器

    一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...

  9. 在Ubuntu 18.04上安装Git

    步骤1.首先,通过运行以下命令确保您的系统和apt包列表完全更新: apt-get update -yapt-get upgrade -y 第2步.在Ubuntu 18.04上安装Git. 现在让我们 ...

随机推荐

  1. MASK-RCNN(1)

    MASK-RCNN是一个多用途的网络,可以用来做目标检测,实例分割或者人体姿态识别.主要结构如下. 简单的说,就是首先用Faster-RCNN获得ROI,再进行ROI Align,然后输出ROI的分类 ...

  2. c# 第23节 外部方法

    本节内容: 1:外部方法是什么 2:外部方法的实现 1:外部方法是什么 2:外部方法的实现 样式: 实现方式:很少 用自己多加练习把

  3. 有关csp自我反思

    首先说说体会把 这次前几个都是模拟,最后一道题以为自己可能会结果是半吊子根本不会,导致浪费了三个小时写第五题只有十分 如果不畏惧字符串而专心的写第三题的话,应该结果会不一样把.希望下次能好好考 第一题 ...

  4. MongoDB介绍(一)

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功 ...

  5. Angular 4.x NgClass ngStyle 指令用法

    <some-element [ngClass]="'first second'">...</some-element> <some-element [ ...

  6. 线性结构之习题选讲-ReversingLinkedList

    目录 一.什么是抽象的链表 二.单链表的逆转 三.测试数据 3.1 边界测试 更新.更全的<数据结构与算法>的更新网站,更有python.go.人工智能教学等着你:https://www. ...

  7. Git修改和配置用户名和邮箱

    git在push/push to时需要使用到user.name和user.email,切记一定要现配置好查看user.name/user.email git config user.name git ...

  8. (二十五)golang--数组

    数组:存放多个同一类型的数据.在Go中,数组也是一种值类型数组的基本定义: 数组的内存布局: 数组的地址可以用&取出,且它的地址就是第一个元素的地址 数组不用被被初始化而默认是有值的: 数组中 ...

  9. 队列和 BFS —— 栈和 DFS

    队列和 BFS: 广度优先搜索(BFS)的一个常见应用是找出从根结点到目标结点的最短路径. 示例 这里我们提供一个示例来说明如何使用 BFS 来找出根结点 A 和目标结点 G 之间的最短路径. 洞悉 ...

  10. php explode容易犯的错误

    php explode容易犯的错误 <pre> $pos = strpos($v, 'Controller'); if (is_numeric($pos)) { $kongzhiqifeg ...