在RHEL/CentOS 8上安装和配置phpMyAdmin

时间:2020-02-23 14:32:15  来源:igfitidea点击:

如何在RHEL/CentOS 8上安装phpMyAdmin?
在这篇文章中,我们将介绍如何在RHEL 8上安装和配置phpMyAdmin。phpMyAdmin是一个用PHP编写的开源软件工具,用于从Web界面管理MySQL和MariaDB数据库服务器。

phpMyAdmin支持在MySQL,MariaDB和Drizzle上的多种操作。使用此工具,我们可以通过直观且易于使用的Web界面管理数据库,表,列,关系,索引,用户,权限和其他内容。

在RHEL/CentOS 8上安装和配置phpMyAdmin

以下是在RHEL 8上安装和配置phpMyAdmin时要遵循的步骤。所需的依赖项是要管理的PHP,Apache Web服务器和数据库服务器。

安装PHP

phpMyAdmin用PHP编写,我们需要将其安装在RHEL服务器上。我们已经编写了有关在RHEL 8上安装PHP的综合教程。

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

确保已安装php-mysqlnd扩展名。

sudo yum -y install php-mysqlnd

安装MariaDB/MySQL数据库服务器

下一步是安装MariaDB/MySQL数据库服务器。请遵循以下教程在RHEL 8上安装MariaDB或者MySQL。

如何在RHEL 8上安装MySQL 8.0

如何在RHEL 8上安装MariaDB数据库服务器

安装Apache Web服务器

phpMyAdmin支持Apache和Nginx作为Web服务器。我们选择Apache httpd服务器,因为它是企业和RHEL生态系统中使用最多的Web服务器。

使用下面的教程在RHEL 8上安装Apache Web服务器。

如何在RHEL 8上使用mod_ssl和mod_http2安装Apache

在RHEL 8上安装phpMyAdmin

访问phpMyAdmin下载页面并检查最新的可用软件包。

将版本保存到变量。

DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VER="$(echo $DATA | cut -d ' ' -f 1)"

下载上面指定的最新版本。

curl -o phpMyAdmin-${VER}-all-languages.tar.gz https://files.phpmyadmin.net/phpMyAdmin/${VER}/phpMyAdmin-${VER}-all-languages.tar.gz

对于仅英语语言的软件包,请使用:

curl -o phpMyAdmin-${VER}-english.tar.gz  https://files.phpmyadmin.net/phpMyAdmin/${VER}/phpMyAdmin-${VER}-english.tar.gz

解压缩下载的存档

$tar xvf phpMyAdmin-${VER}-english.tar.gz
OR
$tar xvf phpMyAdmin-${VER}-all-languages.tar.gz

将文件夹移至"/usr/share/phpmyadmin"。

rm phpMyAdmin-*.tar.g
sudo mv phpMyAdmin-*//usr/share/phpmyadmin

为phpMyAdmin临时文件创建目录。

sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown -R apache:apache /var/lib/phpmyadmin

为phpMyAdmin配置文件(例如htpass文件)创建目录。

sudo mkdir /etc/phpmyadmin/

创建phpMyAdmin配置文件。

sudo cp /usr/share/phpmyadmin/config.sample.inc.php  /usr/share/phpmyadmin/config.inc.php

编辑档案

sudo vim /usr/share/phpmyadmin/config.inc.php

设置一个秘密密码短语需要为32个字符长

$cfg['blowfish_secret'] = 'H2OxcGXxflSd8JwrwVlh6KW6s2rER63i';

配置临时目录

$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';

配置Apache Web服务器

创建phpMyAdmin Apache配置文件。

sudo vim /etc/httpd/conf.d/phpmyadmin.conf

添加以下数据:

# Apache configuration for phpMyAdmin
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
     Require all granted
   </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>

我们可以通过添加以下行来限制来自特定IP的访问

Require ip 127.0.0.1 192.168.0.0/24

验证Apache配置。

$sudo apachectl configtest
Syntax OK

重新启动httpd服务以加载新配置,

sudo systemctl restart httpd

配置SELinux和防火墙

如果我们将SELinux置于强制模式下,则在尝试访问phpMyAdmin页面时,将显示"权限被拒绝"错误。允许httpd提供phpmyadmin目录中的内容。

sudo semanage fcontext -a -t httpd_sys_content_t "/usr/share/phpmyadmin(/.*)?"

通过运行命令来应用策略。

sudo restorecon -Rv /usr/share/phpmyadmin

在防火墙中允许http端口。

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

重新加载防火墙重新加载配置。

sudo firewall-cmd --reload

在RHEL 8上访问phpMyAdmin Web界面

打开URLhttp://[ServerIP | Hostname]/phpmyadmin

使用数据库凭据用户名和密码登录phpMyAdmin仪表板。