如何在 CentOS 7 上使用 Apache 安装和保护 phpMyAdmin

2023-11-18

phpMyAdmin 是一个基于 PHP 的开源工具,用于通过基于 Web 的界面管理 MySQL 和 MariaDB 服务器。

phpMyAdmin 允许您与 MySQL 数据库交互、管理用户帐户和权限、执行 SQL 语句、以各种数据格式导入和导出数据等等。

在本教程中,我们将逐步完成在 CentOS 7 上使用 Apache 安装和保护 phpMyAdmin 所需的步骤。

先决条件#

在继续本教程之前,请确保您已满足以下先决条件:

  • 安装在 CentOS 服务器上的 LAMP(Linux、Apache、MySQL 和 PHP) .
  • 登录身份为具有 sudo 权限的用户 .

尽管没有必要,但建议通过 HTTPS 访问您的 phpMyAdmin 安装。如果您的网站没有 SSL,请按照有关保护您的网站的说明进行操作CentOS 7 上的 Apache 与 Let's Encrypt .

安装 phpMyAdmin#

要在 CentOS 7 系统上安装 phpMyAdmin,请执行以下步骤:

  1. phpMyAdmin 在 CentOS 7 核心存储库中不可用。要安装 phpMyAdmin 我们需要启用EPEL 存储库 first:

    sudo yum install epel-release
  2. 启用 EPEL 存储库后,我们可以使用以下命令安装 phpMyAdmin 及其所有依赖项:

    sudo yum install phpmyadmin

配置和保护 phpMyAdmin#

phpMyAdmin 的 Apache 配置文件是在安装过程中自动创建的。默认情况下,除了来自本地主机的连接之外的所有连接都被拒绝。由于我们将从远程位置访问 phpMyAdmin,因此我们需要修改配置文件并指定允许的 IP 地址。

打开 phpMyAdmin Apache 配置文件:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

更改读取的两行Require ip 127.0.0.1与您的家庭连接的 IP 地址。如果您不知道自己的家庭 IP 地址,请在网络浏览器中打开 Google 搜索并输入what is my ip.

/etc/httpd/conf.d/phpMyAdmin.conf
# Apache 2.4
<RequireAny>
    Require ip 192.168.42.57
    Require ip ::1
</RequireAny>

关闭并保存文件。

如果您想从任何位置访问 phpMyAdmin 安装,请添加Require all granted之前Require ip line.

为了获得额外的安全层,我们将通过设置基本身份验证来对 phpMyAdmin 目录进行密码保护。

首先使用以下命令创建一个新的身份验证文件htpasswd工具。我们将存储.htpasswd文件输入/etc/phpMyAdmin目录:

sudo htpasswd -c /etc/phpMyAdmin/.htpasswd admin

在此示例中,我们将创建一个名为admin。您可以选择任何您想要的用户名。

上面的命令将提示您输入并确认用户的密码。

New password: 
Re-type new password: 
Adding password for user admin

稍后,如果您需要添加其他用户,请使用相同的命令,而不需要-c flag:

sudo htpasswd /etc/phpMyAdmin/.htpasswd admin2

下一步是配置 Apache 以密码保护 phpMyAdmin 目录并使用.htpasswd文件。为此,请打开phpMyAdmin.conf在 phpMyAdmin 安装过程中自动创建的文件:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

并插入以下以黄色突出显示的行:

/etc/httpd/conf.d/phpMyAdmin.conf
<Directory /usr/share/phpMyAdmin/>
    AddDefaultCharset UTF-8

    Options  +FollowSymLinks +Multiviews +Indexes
    AllowOverride None
    AuthType basic
    AuthName "Authentication Required"
    AuthUserFile /etc/phpMyAdmin/.htpasswd
    Require valid-user

   <IfModule mod_authz_core.c>
   ...

保存文件并重新启动 Apache 服务以使更改生效:

sudo systemctl restart httpd
改变一下也是一个好主意/phpmyadmin更独特、更安全的别名。

访问 phpMyAdmin 时,系统将提示您输入之前创建的用户的登录凭据:

https://your_domain_or_ip_address/phpmyadmin

输入基本身份验证后,您将进入 phpMyAdmin 登录页面,您需要在其中输入 MySQL 管理用户登录凭据。

访问 phpMyAdmin#

要访问 phpMyAdmin 界面,请打开您喜欢的浏览器并输入服务器的域名或公共 IP 地址,然后输入/phpmyadmin:

https://your_domain_or_ip_address/phpmyadmin

输入您之前创建的管理用户登录凭据,然后单击Go.

登录后,您将看到 phpMyAdmin 仪表板,如下所示:

结论#

恭喜,您已在 CentOS 7 服务器上成功安装 phpMyAdmin。您现在可以开始创建 MySQL 数据库、用户和表并执行各种MySQL查询和操作。

如果您有疑问,请随时在下面发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 CentOS 7 上使用 Apache 安装和保护 phpMyAdmin 的相关文章

  • HTAccess - 令人困惑的干净网址

    如果我想简单地重定向 clients page to clients php view page我会使用像这样简单的东西 它效果很好 Options FollowSymlinks RewriteEngine on RewriteRule c
  • Hibernate 可以使用 MySQL 的“ON DUPLICATE KEY UPDATE”语法吗?

    MySQL 支持 INSERT ON DUPLICATE KEY UPDATE 语法允许您 盲目 插入数据库 并回退到更新现有记录 如果存在 当您想要快速事务隔离并且想要更新的值取决于数据库中已有的值时 这非常有用 作为一个人为的示例 假设
  • Java 从 SQL 数组获取 ResultSet 失败

    我试图从数据库中检索电子邮件地址 但没有成功 我的代码如下 Main System out println PortfolioData getEmails 58 So Far Returning null 投资组合数据 public sta
  • SQL统计高于和低于平均分的学生人数

    我在下面有一个示例表 我试图获取高于平均分数的学生人数和低于平均分数的学生人数 name subject classroom classarm session first term score first term grade std1 m
  • Apache PHP/OSX Mavericks: - 无法打开流:打开的文件太多

    我最近升级到 OSX Mavericks 从那时起 我开始在我的开发计算机上收到上述错误 代码中没有明显的问题 它是自动生成的Yii http www yiiframework com 示例应用程序 Mavericks 升级过程中发生的事情
  • MySQL 按主键排序

    某些 SQL 服务器允许使用通用语句 例如ORDER BY PRIMARY KEY 我不相信这适用于 MySQL 是否有任何此类解决方法可以允许跨多个表自动选择 或者是否需要查找查询来确定主键 我一直在研究的解决方法包括调用SHOW COL
  • 使用唯一索引删除重复项

    我在两个表字段 A B C D 之间插入 相信我已经在 A B C D 上创建了唯一索引以防止重复 然而我以某种方式简单地对这些做了一个正常的索引 因此插入了重复项 这是2000万条记录的表 如果我将现有索引从普通索引更改为唯一索引 或者只
  • 通过货币换算获取每种产品类型的最低价格

    我想选择每种产品类型中最便宜的 包括运费 价格转换为当地货币 最便宜 产品 价格 产品 运费 seller to aud 我的数据库有如下表 PRODUCTS SELLERS id type id seller id price shipp
  • C#:SQL 查询生成器类

    在哪里可以找到好的 SQL 查询构建器类 我只需要一个简单的类来构建 SQL 字符串 仅此而已 我需要它用于 C 和 MySql 我真的不需要像 Linq 或 NHibernate 这样的东西 谢谢 由于 Google 将我引导至此页面 我
  • mySQL MATCH 跨多个表

    我有一组 4 个表 我想对其进行搜索 每个都有全文索引 查询可以使用每个索引吗 CREATE TABLE categories id int 5 unsigned NOT NULL auto increment display order
  • MySQL 全文搜索不适用于某些单词,例如“house”

    我已经在 3 个字段中的一小部分记录上设置了全文索引 也尝试了 3 个字段的组合 并得到了相同的结果 有些单词返回结果很好 但某些单词如 house 和 澳大利亚 不这样做 有趣的是 澳大利亚 和 家乡 这样做 这似乎是奇怪的行为 如果我添
  • 如何将 MySQL 数据库更改为 UTC?

    我使用的是 Windows 7 对数据库方面的东西有点陌生 我尝试在 Google 上搜索如何将系统时区更改为 UTC 但文档有些高级 我不太确定如何更改此字段 在 my ini 文件的 mysqld 部分下 添加以下行 default t
  • Avro 消息中的架构

    我看到 Avro 消息嵌入了架构 然后是二进制格式的数据 如果发送多条消息并且为每条消息创建新的 avro 文件 模式嵌入不是一种开销吗 那么 这是否意味着生产者批量处理消息然后写入总是很重要 因此写入一个 avro 文件的多条消息只携带一
  • 为什么index.html优先于index.php?

    我在服务器上有一个网站 主页是 example com index php 好的 我将一个名为 index html 的文件上传到服务器 根目录 当我在浏览器的 URL 栏中输入站点的域时 我感到惊讶 因为 index html 页面已加载
  • 如何在 apache 上为锚点 cms 重写指令

    我使用的是一个名为anchor的cms http anchorcms com docs getting started configuration http anchorcms com docs getting started config
  • 如何在 phpmyadmin 中创建 MySQL 触发器

    我想在 MySQL 中创建一个触发器 我运行以下命令 mysql gt delimiter mysql gt CREATE TRIGGER before insert money BEFORE INSERT ON money gt FOR
  • 使用 Apache 在本地网络上托管网站

    我目前在我的机器上使用 Apache 在本地测试 PHP 网站 我只是想知道如何允许连接到本地网络的计算机访问本地计算机上托管的网站 如果仅通过 IP 本地网络上的计算机应该能够访问您的计算机 假设您没有防火墙阻止端口 80 HTTP 完成
  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • 运行没有扩展名的 PHP 页面

    我想在 apache Web 服务器上运行我的 PHP 网页 而不需要 php扩大 所以我添加了以下代码 RewriteEngine on RewriteBase Rewritecond REQUEST URI NC RewriteRule
  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w

随机推荐

  • 如何在 RHEL 和 CentOS Stream 9 上安装 MySQL 8.0

    MySQL 是一种开源关系数据库管理系统 广泛用于存储和组织数据 Red Hat Enterprise Linux RHEL 和 CentOS Stream 是许多开发人员和系统管理员使用的两种流行的 Linux 发行版 在本文中 我们将讨
  • 设置 Git 提交用户名和电子邮件:初学者指南

    Git 是一个强大的分布式版本控制系统 被开发人员广泛用来管理他们的代码 Git 的重要方面之一是配置您的提交用户名和电子邮件 因为它有助于在与其他开发人员协作时建立您的身份 在本文中 我们将介绍设置 Git 提交用户名和电子邮件的不同方法
  • 如何从 Git 存储库中删除最后 5 次提交

    从 Git 存储库中删除最后几次提交是一个相对简单的过程 只需几个简单的命令即可完成 在本指南中 我们将解释如何从 git 存储库中删除最后几次提交 并讨论为什么这可能是必要的 我们还将提供从存储库中删除最后几次提交的分步说明 以及此过程中
  • 使用 Ubuntu 20.04 LTS (Focal Fossa) 进行初始服务器设置

    在本教程中 我们假设您已经全新安装了 Ubuntu Ubuntu 20 04 LTS Focal Fossa 服务器 我们建议您的服务器使用 Ubuntu 的 LTS 版本 例如 Ubuntu 20 04 LTS Focal Fossa 现
  • 如何在 Debian 10 上安装 Yarn

    Yarn 是一个与 npm 兼容的 JavaScript 包管理器 允许您安装 更新 配置和删除 npm 包 它的创建是为了解决 npm 的一系列问题 例如通过并行操作加快软件包安装过程并减少与网络连接相关的错误 本教程介绍了如何安装Yar
  • 如何在 Debian 10 Linux 上安装 Tomcat 9

    Apache Tomcat 是一个基于 JAVA 的开源应用服务器 它实现了 Java Servlet JavaServer Pages Java 表达式语言和 Java WebSocket 技术 它是当今世界上使用最广泛的应用程序和 We
  • 如何在 Debian 9 上添加交换空间

    交换空间是磁盘上的空间 当物理 RAM 内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 通常 运行 Debian 虚拟机时不存在交换分区 因此唯一的选
  • Linux 中的 Tcpdump 命令

    tcpdump是一个命令行实用程序 可用于捕获和检查进出系统的网络流量 它是网络管理员最常用的工具 用于解决网络问题和安全测试 尽管它的名字 与tcpdump 您还可以捕获非 TCP 流量 例如 UDP ARP 或 ICMP 捕获的数据包可
  • 如何在 CentOS 8 上安装 Jenkins

    Jenkins是最流行的基于 Java 的开源自动化服务器 可让您轻松设置持续集成和持续交付 CI CD 管道 持续集成 CI 是一种 DevOps 实践 团队成员定期将代码更改提交到版本控制存储库 然后运行自动化构建和测试 持续交付 CD
  • 在 CentOS 7 上安装 MariaDB

    MariaDB 是一个开源关系数据库管理系统 向后兼容 是 MySQL 的二进制直接替代品 它是由 MySQL 的一些原始开发人员和社区中的许多人开发的 随着 CentOS 7 的发布 MySQL 被 MariaDB 取代作为默认数据库系统
  • 如何在 CentOS 7 上安装 Sublime Text 3

    崇高的文字是一个专有的跨平台多功能文本和源代码编辑器 用于网络和软件开发 它速度非常快 并且具有许多开箱即用的强大功能 您可以通过安装新插件和创建自定义设置来增强其功能 本教程概述了在 CentOS 7 Linux 系统上安装 Sublim
  • 如何在 Ubuntu 18.04 上安装和配置 VNC

    本指南介绍了在 Ubuntu 18 04 上安装和配置 VNC 服务器所需的步骤 我们还将向您展示如何通过 SSH 隧道安全地连接到 VNC 服务器 虚拟网络计算 VNC 是一种图形桌面共享系统 允许您使用键盘和鼠标远程控制另一台计算机 它
  • 如何在 CentOS 8 上安装和使用 PHP Composer

    Composer是 PHP 的依赖管理器 就像 npm 的作用一样 Node js or pip是Python Composer 将提取您的项目所依赖的所有必需的 PHP 包并为您管理它们 它用于所有现代 PHP 框架和平台 例如 Lara
  • 如何在 Ubuntu 中添加 apt 存储库

    使用 Ubuntu 软件中心或命令行实用程序 例如apt or apt get这些软件包是从一个或多个 apt 软件存储库下载的 APT 存储库是网络服务器或本地目录 其中包含 APT 工具可读的 deb 包和元数据文件 虽然默认 Ubun
  • 如何在 Ubuntu 18.04 上安装 Visual Studio Code

    视觉工作室代码是微软开发的开源跨平台代码编辑器 它有一个内置的调试支持 嵌入式Git控制 语法突出显示 代码完成 集成终端 代码重构和片段 在 Ubuntu 计算机上安装 Visual Studio Code 最简单且推荐的方法是启用 VS
  • 如何在 CentOS 7 上安装 Atom 文本编辑器

    Atom是由GitHub开发的开源跨平台代码编辑器 它有一个内置的包管理器 嵌入Git控制 智能自动完成 语法突出显示和多个窗格 从本质上讲 Atom 是一个基于 Electron 构建的桌面应用程序 使用 HTML JavaScript
  • 如何在 Ubuntu 20.04 上安装 Git

    Git 是世界上最流行的分布式版本控制系统 被许多开源和商业项目使用 它允许您与其他开发人员协作进行项目 跟踪代码更改 恢复到之前的阶段 创建分支 和更多 Git 最初是由莱纳斯 托瓦尔兹Linux内核的创建者 本指南介绍如何在 Ubunt
  • 如何在 Ubuntu 18.04 上安装 VirtualBox 来宾添加

    虚拟盒子是一款开源 跨平台虚拟化软件 允许您同时运行多个来宾操作系统 虚拟机 VirtualBox 提供了一组可以安装在来宾操作系统中的驱动程序和应用程序 VirtualBox Guest Additions 来宾添加为来宾计算机提供了多种
  • Linux 类型命令

    The type命令用于显示有关命令类型的信息 它将向您展示在命令行上键入给定命令时将如何解释 在这篇文章中 我们将解释如何使用Linuxtype命令 如何使用 type 命令 type是 Bash 和其他 shell 如 Zsh 和 Ks
  • 如何在 CentOS 7 上使用 Apache 安装和保护 phpMyAdmin

    phpMyAdmin 是一个基于 PHP 的开源工具 用于通过基于 Web 的界面管理 MySQL 和 MariaDB 服务器 phpMyAdmin 允许您与 MySQL 数据库交互 管理用户帐户和权限 执行 SQL 语句 以各种数据格式导