如何在Ubuntu 18.04上使用Nginx安装phpMyAdmin
phpMyAdmin是一个基于PHP的开源工具,用于通过基于Web的界面管理MySQL和MariaDB服务器。
phpMyAdmin允许我们与MySQL数据库进行交互,管理用户帐户和特权,执行SQL语句,以各种数据格式导入和导出数据等等。
本教程描述了如何在Ubuntu 18.04上使用Nginx安装phpMyAdmin。
准备工作
在继续本教程之前,请确保满足以下准备工作:
- 在Ubuntu服务器上安装了LEMP(Linux,Nginx,MySQL和PHP 7)。
- 以具有sudo特权的用户身份登录。
尽管不是必需的,但强烈建议我们通过HTTPS访问phpMyAdmin实例。
如果未启用SSL,请查看我们的文章,该文章介绍了如何在Ubuntu 18.04上使用Let's Encrypt保护Nginx的安全。
在Ubuntu上安装phpMyAdmin
安装phpMyAdmin是一个相当简单的任务。
首先更新软件包列表:
sudo apt update
接下来,运行以下命令从默认的Ubuntu存储库安装phpMyAdmin软件包:
sudo apt install phpmyadmin
在安装phpMyAdmin之前,请确保已在系统上安装了Nginx和PHP FPM。
安装程序将要求我们选择应自动配置为运行phpMyAdmin的Web服务器。
没有选择Nginx的选项,按“ TAB”选择“确定”,然后按“ Enter”。
我们将在下一部分中配置Nginx。
接下来,安装程序将询问我们是否要使用“ dbconfig-common”工具来设置数据库。
选择“是”,然后按“ Enter”。
输入phpMyAdmin的密码以在数据库中注册,选择“确定”,然后按“ Enter”。
系统将提示我们确认密码,输入相同的密码,选择“确定”,然后按“ Enter”。
至此,phpMyAdmin已经安装在Ubuntu服务器上。
创建一个管理MySQL用户
在运行MySQL 5.7(及更高版本)的Ubuntu系统中,默认情况下,root用户设置为使用“ auth_socket”身份验证方法。
“ auth_socket”插件对通过Unix套接字文件从本地主机连接的用户进行身份验证。
这意味着我们无法通过提供密码来认证为根用户。
我们将创建一个新的管理MySQL用户,而不是更改MySQL用户root的身份验证方法。
该用户将具有与根用户相同的特权,并将被设置为使用“ mysql_native_password”身份验证方法。
我们将使用该用户登录phpMyAdmin仪表板,并在我们的MySQL服务器上执行管理任务。
首先以root用户身份登录到MySQL服务器:
sudo mysql
在MySQL Shell中执行以下命令,这些命令将创建一个新的管理用户并授予适当的权限:
CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'change-with-your-secure-password';GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
在此示例中,我们将管理用户命名为'padmin'。
我们可以使用任何喜欢的名称,只需确保设置一个强密码即可。
配置Nginx和phpMyAdmin
有几种方法可以配置Nginx以提供phpMyAdmin文件。
如果我们已经设置了域的服务器块来满足PHP请求,则只需创建一个从phpMyAdmin安装文件到域文档根目录的符号链接。
在本教程中,我们将创建一个片段,我们可以将其包含在我们的任何Nginx服务器块文件中。
打开文本编辑器并创建以下文件:
sudo nano /etc/nginx/snippets/phpmyadmin.conf
粘贴以下内容:
/etc/nginx/snippets/phpmyadmin.conf
location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)${ try_files $uri =404; root /usr/share/; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))${ root /usr/share/; } }
确保为“ fastcgi_pass”指令使用了正确的套接字路径或者地址/端口。
保存文件并关闭编辑器。
现在,我们可以使用以下命令将以下行添加到要访问phpMyAdmin的每个域的服务器块中:'theitroad.com/phpmyadmin'
include snippets/phpmyadmin.conf;
这是一个例子:
/etc/nginx/conf.d/theitroad.com.conf
server { # . . . other code include snippets/phpmyadmin.conf; # . . . other code }
访问phpMyAdmin
要访问phpMyAdmin界面,请打开我们喜欢的浏览器,然后输入服务器的域名或者公共IP地址,然后输入“/phpmyadmin”:
http(s)://your_domain_or_ip_address/phpmyadmin
输入管理用户登录凭据,然后单击“执行”。
登录后,我们将看到phpMyAdmin仪表板,其外观如下所示: