如何安装 phpMyAdmin Apache 在 CentOS 8 / RHEL 8 上

phpMyAdmin 是一个开源的、基于 Web 的管理工具,用于管理 MySQL 和 MariaDB 服务器。 它是托管公司和系统管理员用于执行数据库活动(例如创建、删除、查询表、列、关系、索引、用户、权限等)的最流行的数据库管理工具之一。

phpMyAdmin 是一个用 PHP 编写的便携式 Web 应用程序。 它是在 GNU GPL v2 下发布的。

在这篇文章中,我们将看到如何安装 phpMyAdmin Apache 在 CentOS 8 / RHEL 8 上。

本文档也适用于 CentOS 7 Debian 10 Debian 9 Ubuntu 18.04 Ubuntu 16.04

先决条件

安装 MySQL / MariaDB 服务器

在安装 phpMyAdmin 之前,您必须在您的系统上运行一个数据库实例(MySQL 或 MariaDB)才能连接。 它可以是一个独立的数据库实例,也可以作为 LAMP 堆栈的一部分安装。

独立数据库

如何在 CentOS 8 / RHEL 8 上安装 MariaDB

如何在 CentOS 8 / RHEL 8 上安装 MySQL 8.0

在您的系统上安装 PHP、用于 PHP 的 MySQL 支持包和其他 PHP 包,以便 phpMyAdmin 与数据库连接。

dnf install -y wget php php-pdo php-pecl-zip php-json php-common php-fpm php-mbstring php-cli php-mysqlnd php-xml tar

灯组

如何在 CentOS 8 / RHEL 8 上安装 LAMP 堆栈

为 phpMyAdmin 安装以下 PHP 包以连接数据库。

dnf install -y php-json php-mbstring

安装 phpMyAdmin

CentOS 8 / RHEL 8 的操作系统存储库中尚未提供 phpMyAdmin 软件包。因此,我们需要从 官方网站.

wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.tar.gz

使用以下命令安装 phpMyAdmin。

tar -zxvf phpMyAdmin-5.1.1-all-languages.tar.gz

将 phpMyAdmin 设置移动到您想要的位置。

mv phpMyAdmin-5.1.1-all-languages /usr/share/phpMyAdmin

配置 phpMyAdmin

复制示例配置文件。

cp -pr /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php

编辑配置文件并添加一个河豚秘密。

vi /usr/share/phpMyAdmin/config.inc.php

生成河豚秘密 并将其放入下一行。

$cfg['blowfish_secret'] = 'bo95yavJ;V,1PzSlxyFwtyMJ}WmG98-6'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

导入 create_tables.sql 为 phpMyAdmin 创建新表。

mysql < /usr/share/phpMyAdmin/sql/create_tables.sql -u root -p

在中创建别名 Apache 网络服务器,以便可以访问 phpMyAdmin https://your-ip-add-dress/phpmyadmin.

vi /etc/httpd/conf.d/phpMyAdmin.conf

将以下内容复制并粘贴到上述文件中。

Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin  <Directory /usr/share/phpMyAdmin/>    AddDefaultCharset UTF-8     <IfModule mod_authz_core.c>      # Apache 2.4      <RequireAny>        Require all granted      </RequireAny>    </IfModule>    <IfModule !mod_authz_core.c>      # Apache 2.2      Order Deny,Allow      Deny from All      Allow from 127.0.0.1      Allow from ::1    </IfModule> </Directory>  <Directory /usr/share/phpMyAdmin/setup/>    <IfModule mod_authz_core.c>      # Apache 2.4      <RequireAny>        Require all granted      </RequireAny>    </IfModule>    <IfModule !mod_authz_core.c>      # Apache 2.2      Order Deny,Allow      Deny from All      Allow from 127.0.0.1      Allow from ::1    </IfModule> </Directory>

为 phpMyAdmin 创建一个 tmp 目录并更改权限。

mkdir /usr/share/phpMyAdmin/tmp  chmod 777 /usr/share/phpMyAdmin/tmp

设置 phpMyAdmin 的所有权,如下所示。

chown -R apache:apache /usr/share/phpMyAdmin

重新启动服务。

systemctl restart httpd

SELinux

为 phpMyAdmin 创建 SELinux 策略以使其正常工作。

yum install -y policycoreutils-python-utils  semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/phpMyAdmin/'  semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/phpMyAdmin/tmp(/.*)?"  restorecon -Rv '/usr/share/phpMyAdmin/'

防火墙

创建防火墙规则以允许来自外部网络的 HTTP 请求。

firewall-cmd --permanent --add-service=http  firewall-cmd --reload

重要笔记

使用 root 或常规数据库用户访问 phpMyAdmin 之前,请阅读重要说明。

MySQL 8.x

从 MySQL Dev Community 存储库安装的 MySQL 8.0 使用 caching_sha2_password 身份验证机制,此时可以防止遗留应用程序访问数据库,包括 phpMyAdmin。 简单来说,除非我们禁用此新密码机制,否则您将无法登录到 phpMyAdmin。

您可以通过放置全局禁用新密码机制 默认身份验证插件=mysql_native_password/etc/my.cnf (此更改后创建的用户将拥有 mysql_native_password 身份验证机制),或者您可以通过运行为单个用户(例如:root)恢复到旧的本机身份验证(mysql_native_password) ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘‘; MySQL终端中的命令。

访问 phpMyAdmin

现在从浏览器访问 phpMyAdmin,URL 将是:

https://localhost/phpMyAdmin

或者

https://your-ip-addr-ess/phpMyAdmin

使用 root 登录(DB admin) 或任何数据库用户。

您将获得可以执行所有数据库活动的数据库页面。

结论

我希望你已经学会了如何安装 phpMyAdmin Apache CentOS 8 / RHEL 8 管理 MariaDB 和 MySQL 数据库。 除此之外,你还可以看看 如何保护您的 phpMyAdmin 安装.