如何在Ubuntu 20.04 LTS上安装Adminer

时间:2020-01-09 10:39:16  来源:igfitidea点击:

如何在Ubuntu 20.04 LTS上安装Adminer以通过Web进行数据库管理?

Adminer(以前称为phpMinAdmin)是一个开源的,基于Web的免费数据库管理工具。
它是用PHP编写的。
与phpMyAdmin相比,它是一个轻量级的应用程序,具有强大的安全性和用户体验。
本教程描述了如何在适用于MySQL或MariaDB的Ubuntu 20.04 LTS Linux服务器上安装Adminer。

在Ubuntu 20.04 Linux服务器上安装Adminer的过程

安装adminer

首先使用apt命令/apt-get命令更新系统,然后安装Adminer软件:

sudo apt update
sudo apt upgrade
sudo apt install adminer

请注意,除了Apache PHP以外,运行Adminer也是必需的。
因此,apt安装了PHP并自动对其进行了配置。
对于其他Web服务器,您需要执行手动配置。
使用cat命令来验证是否已启用PHP 7.4模块:

a2query -m php7.4
php7.4 (enabled by maintainer script)
cat /etc/apache2/mods-enabled/php7.4.{load,conf}

配置文件:

# Conflicts: php5
# Depends: mpm_prefork
LoadModule php7_module /usr/lib/apache2/modules/libphp7.4.so
<FilesMatch ".+\.ph(ar|p|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".+\.phps$">
    SetHandler application/x-httpd-php-source
    # Deny access to raw php sources by default
    # To re-enable it's recommended to enable access to the files
    # only in specific virtual host or directory
    Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^\.ph(ar|p|ps|tml)$">
    Require all denied
</FilesMatch>
 
# Running PHP scripts in user directories is disabled by default
# 
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

配置管理员

要激活管理员应用,请运行以下任一a2enconf命令

sudo a2enconf adminer.conf
## OR ##
sudo a2enconf adminer

输出:

Enabling conf adminer.
To activate the new configuration, you need to run:
  systemctl reload apache2

现在,您要做的就是重新启动或重新加载Apache 2服务器,执行:

sudo systemctl reload apache2

缺省配置文件位于/etc/apache2/conf-enabled/adminer.conf中,并使用cat命令查看:

sudo cat /etc/apache2/conf-enabled/adminer.conf
# Adminer on Ubuntu 20.04 #
Alias /adminer /etc/adminer
 
<Directory /etc/adminer>
	Require all granted
	DirectoryIndex conf.php
</Directory>

测试安装

您可以使用以下URL格式访问Adminer应用:

https://your-server-name/adminer/
https://your-server-ip/adminer/
https://server1.theitroad.local/adminer/

现在,您所要做的就是提供数据库类型(MySQl,PGSQL),服务器IP /主机名,数据库用户名/密码以及数据库名称以登录和管理数据库:

关于防火墙配置的注意事项

假设Apache/adminer在IP地址为10.105.28.9的主机上运行,并且数据库服务器位于172.16.3.1:3306,然后允许使用ufw(mysql/mariadb服务器上的type命令)进行访问题描述:

sudo ufw allow from 10.105.28.9 to 172.16.3.1 port 3306 proto tcp comment 'allow mysql access for Adminer/Apache IP'

接下来,您需要确保数据库权限和密码正确,否则佩服您将无法连接到数据库服务器。
换句话说,如下创建admirer的管理员用户(再次在mysql/mariadb服务器上执行这些用户)。
语法为:

CREATE USER 'admin'@'YOUR-ADMINER-SERVER-IP' IDENTIFIED BY 'YOUR-PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'YOUR-ADMINER-SERVER-IP' WITH GRANT OPTION;
 
## IF ADMINER/Apache server IP IS 10.105.28.9, THEN CREATE log IN USER named Hyman ##
CREATE USER 'Hyman'@'10.105.28.9' IDENTIFIED BY 'Super_Secret_PassWord_Here';
GRANT ALL PRIVILEGES ON *.* TO 'Hyman'@'10.105.28.9' WITH GRANT OPTION;
FLUSH PRIVILEGES;