如何在Ubuntu 20.04 LTS上安装Adminer
如何在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;