• 如何在Ubuntu18.04上使用Apache(LAMP)安装phpMyAdmin

    本教程将向您展示如何使用Apache、MariaDB和PHP7安装phpMyAdmin。Ubuntu18.04 LTS上的2(灯组)。phpMyAdmin是一个免费的、开源的基于web的数据库管理工具,用PHP编写。它为用户提供了一个图形化的web界面来管理MySQL或MariaDB数据库。我们还将学习如何在phpMyAdmin上启用双因素身份验证。 phpMyAdmin允许管理员: 浏览数据库和表格; 创建、复制、重命名、更改和删除数据库; 创建、复制、重命名、更改和删除表格; 执行工作台维护; 添加、编辑和删除字段; 执行任何SQL语句,甚至多个查询; 创建、更改和删除索引; 将文本文件加载到表格中; 创建和读取表或数据库的转储; 将数据导出为SQL、CSV、XML、Word、Excel、PDF和LaTeX格式; 管理多台服务器; 管理MySQL用户和权限; 使用配置提示检查服务器设置和运行时信息; 检查MyISAM表中的引用完整性; 使用示例查询(QBE)自动创建复杂查询 连接所需的表; 创建数据库布局的PDF图形; 在数据库或其子集中进行全局搜索; 使用一组预定义的功能将存储的数据转换为任何格式,例如将BLOB数据显示为图像或下载链接; 管理InnoDB表和外键; 先决条件 要学习本教程,您需要在本地计算机或远程服务器上运行Ubuntu 18.04操作系统。 如果您正在寻找VPS(虚拟专用服务器),那么您可以通过我的推荐链接在Vultr上创建一个帐户,以获得50美元的免费积分(仅限新用户)。如果你需要用域名设置phpMyAdmin,我建议你从name便宜的网站购买域名,因为价格低廉,而且可以免费保护whois的隐私。 假设您已经在Ubuntu 18.04上安装了LAMP stack。如果没有,请查看以下教程。 如何在Ubuntu18.04 LTS上安装LAMP stack(Apache、MariaDB、PHP7.2) 现在,让我们开始安装phpMyAdmin。 第一步:在Ubuntu18.04上下载并安装phpMyAdmin phpMyAdmin包含在Ubuntu 18.04软件存储库中。因此,我们可以使用下面的命令轻松安装它。 sudo apt update sudo apt install phpmyadmin 上述命令将安装所有必要的依赖项,包括PHP7扩展。在安装过程中,它会提示您选择要配置的web服务器。点击空格键选择apache2。(星号*表示该项目已被选中)。然后按Tab键并输入以确认您的选择。 在下一个屏幕中,选择“是”以使用dbconfig common为phpMyAdmin配置数据库。 然后在MariaDB/MySQL中为phpmyadmin用户设置密码。 完成此步骤后,将创建一个名为phpmyadmin的新数据库,数据库用户phpmyadmin具有管理此数据库所需的权限。如果你和我一样好奇,你可以登录MariaDB并检查phpmyadmin用户被授予了什么特权。 您可以使用以下命令登录到MariaDB服务器。 sudo mysql -u root 然后检查phpmyadmin用户的权限。 show grants for [email protected]; 输出: 如您所见,用户phpmyadmin拥有数据库phpmyadmin的所有权限。现在,您可以通过执行以下命令退出: exit; 现在运行以下命令检查/etc/apache2/conf是否启用了/phpmyadmin。conf文件存在。 file /etc/apache2/conf-enabled/phpmyadmin.conf 如果安装过程中没有错误,您应该看到以下命令输出。 /etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.conf 如果服务器上不存在此文件,则可能是您没有在phpMyAdmin安装向导中选择Apache web服务器。您可以使用以下命令修复它。 sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin sudo systemctl reload apache2 第2步:从子目录访问phpMyAdmin 安装phpMyAdmin时,配置文件位于/etc/apache2/conf enabled/phpMyAdmin。conf,它允许我们通过子目录访问phpMyAdmin。如果你在同一台Ubuntu18.04服务器上安装了WordPress等其他web应用程序,只需在浏览器地址栏中的域名后添加/phpmyadmin即可。 your-domain.com/phpmyadmin 如果phpMyAdmin安装在本地Ubuntu计算机上,则可以通过在浏览器地址栏中键入以下文本来访问phpMyAdmin web界面。 localhost/phpmyadmin 如果连接被拒绝或未能完成,可能会有防火墙阻止HTTP请求。如果您使用的是iptables防火墙,则需要运行以下命令来打开TCP端口80和443。 sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT 如果您使用的是UFW防火墙,则运行此命令以打开TCP端口80和443。 sudo ufw allow http sudo ufw allow https 现在,您可以使用MariaDB/MySQL用户名和密码登录到phpMyAdmin 步骤3:从子域访问phpMyAdmin 如果你的Ubuntu18.04服务器没有其他Apache虚拟主机,那么你可能想使用子域访问phpMyAdmin web界面。通过这种方式,您可以启用HTTPS来加密流量。 首先,我们需要为phpMyAdmin创建一个Apache虚拟主机。现有的phpMyAdmin配置片段可以用作模板。让我们把它复制到一个新文件中。 sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf 然后使用命令行文本编辑器(如Nano)编辑新文件。 sudo nano /etc/apache2/sites-available/phpmyadmin.conf 在该文件开头添加以下行。更换pma。实例com与您首选的phpMyAdmin子域。别忘了为这个子域创建DNS记录。 <VirtualHost *:80> ServerName pma.example.com DocumentRoot /usr/share/phpmyadmin ErrorLog ${APACHE_LOG_DIR}/pma.error.log CustomLog ${APACHE_LOG_DIR}/pma.access.log combined 在该文件末尾添加以下行。 </VirtualHost> 保存并关闭文件。(要在Nano文本编辑器中保存文件,请按Ctrl+O,然后按Enter确认。要退出,请按Ctrl+X。)然后启用此虚拟主机。 sudo a2ensite phpmyadmin.conf 重新加载Apache web服务器以使此更改生效。 sudo systemctl reload apache2 现在你应该可以通过 pma.example.com 在登录表单中输入用户凭据之前,让我们启用HTTPS。 步骤4:使用Apache在phpMyAdmin上启用HTTPS 为了保护phpMyadmin web界面的安全,我们可以安装免费的Let's Encrypt TLS证书。运行以下命令从Ubuntu 18.04软件库安装Let's Encrypt client(certbot)。 sudo apt install certbot python3-certbot-apache Python3 certbot apache是certbot的apache插件。现在运行以下命令以获取并安装TLS证书。 sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email [email protected] 说明: –apache:使用apache验证器和安装程序 –同意:同意让我们加密服务条款 –重定向:添加301重定向。 –hsts:在每个HTTP响应中添加严格的传输安全头。 –装订ocsp:启用ocsp装订。 –必须装订:将OCSP必须装订扩展添加到证书中。 -d标志后面是域名列表,以逗号分隔。你最多可以添加100个域名。 –电子邮件:用于注册和恢复联系的电子邮件。 你会被问到是否想收到来自EFF(电子前沿基金会)的电子邮件。选择Y或N后,将自动获取并为您配置TLS证书,如下消息所示。 步骤5:phpMyAdmin登录错误故障排除 如果您尝试使用MariaDB根帐户登录phpMyAdmin,您可能会看到以下错误。 #1698 - Access denied for user 'root '@'localhost' 和 mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost' 如果使用用户phpmyadmin登录,则不会看到上述错误。但是,用户phpmyadmin只能用于管理phpmyadmin数据库。错误的原因是,默认情况下,MariDB root用户通过unix_套接字插件进行身份验证,而不是使用mysql_native_密码插件。为了解决这个问题,我们可以创建另一个管理员用户,并将所有权限授予新的管理员用户。 从命令行登录MariaDB服务器。 sudo mysql -u root 创建具有密码身份验证的管理员用户。 create user [email protected] identified by 'your-preferred-password'; 授予所有数据库的所有权限。 grant all privileges on *.* to [email protected] with grant option; 冲水特权和退出; flush privileges; exit; 现在,您可以使用管理员帐户登录phpMyAmin并管理所有数据库。

    2022.03.23 浏览:94