网站搜索

如何在 Ubuntu 20.04 中使用 PhpMyAdmin 安装 LEMP Stack


对于那些不知道 LEMP 是什么的人 - 这是软件包的组合 - Linux、Nginx(发音为< EngineX)、MariaDB 和 PHP。

您可以将 LEMP 用于测试目的,也可以在实际生产环境中使用 PHP 框架(例如 Laravel 或 Yii)或内容管理系统(例如 WordPress、Drupal)部署 Web 应用程序,或 Joomla

您可能想知道 LAMP 和 LEMP 之间有什么区别。好吧,唯一的区别是所包含的 Web 服务器 – Apache(在 LAMP 中)和 Nginx(在 LEMP 中) >)。两种 Web 服务器都非常好,虽然 Apache 是最常用的服务器,但 Nginx 也毫不退缩。

通常与 LEMP 堆栈一起安装的另一个广泛使用的应用程序是 PhpMyAdmin – 是一个基于 PHP Web 的工具,用于管理 MySQL/MariaDB 数据库服务器从网络浏览器。

如果您正在为 Ubuntu 20.04 寻找 LAMP 设置,那么您应该阅读我们的 Ubuntu 20.04 上的 LAMP 设置指南。

先决条件:

  1. Ubuntu 20.04服务器安装指南

在本文中,您将了解如何在 Ubuntu 20.04 服务器中使用 PhpMyAdmin 安装和配置 LEMP 堆栈。

步骤1:在Ubuntu 20.04上安装Nginx

1. Nginx 是一种快速的现代 Web 服务器,旨在为许多并发连接提供服务,而不会消耗太多服务器资源。这就是为什么它通常是企业环境中的首选。

NGINX 也通常用作负载均衡器和 Web 内容缓存。它支持基于名称和基于 IP 的虚拟服务器(类似于 Apache 中的虚拟主机)。

您可以通过运行以下命令在 Ubuntu 20.04 桌面或服务器上安装 Nginx

sudo apt update
sudo apt install nginx

Nginx的配置文件存放在/etc/nginx目录下,其主要配置文件为/etc/nginx/nginx.conf。重要的是,它用于存储 Web 文件的默认文档根目录是 /usr/share/nginx/html/。但是您可以使用标准的 /var/www/html ,它应该在您的网站或应用程序的服务器块配置文件中进行配置。

2. Ubuntu 软件包安装程序会触发 systemd 启动 Nginx 服务,并使其在每次服务器重新启动时自动启动。使用以下 systemctl 命令确认该服务正在运行并已启用。

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3.现在可以通过使用服务器IP地址通过浏览器调用Nginx页面来检查Nginx安装是否成功。

http://SERVER_IP

如果您不知道服务器 IP 地址,可以使用 IP 命令查找,如图所示。

ip addr show

NGINX 默认网页应加载,如下图所示,确认安装和操作正确。

步骤2:在Ubuntu 20.04上安装MariaDB数据库

4. MariaDB 是一个相对较新的关系数据库管理系统,被 Oracle 收购后被设计为 MySQL 的社区分支。

MariaDB 的安装很简单,可以使用以下命令启动:

sudo apt install mariadb-server mariadb-client

5. MariaDB 服务也会自动启动,并始终在系统启动时启动,您可以使用以下命令确认这一点。

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

6.如果您希望提高MariaDB安全性,可以运行mysql_secure_installation命令,该命令将提供一些基本但重要的配置选项:

sudo mysql_secure_installation

然后选择设置数据库根(或管理员)用户密码的选项,并按照提示操作并仔细阅读问题。为了保护您的数据库服务器,请回答屏幕截图中所示的问题。

  • 输入 root 的当前密码(不输入): Enter
  • 设置root密码? [是/否] y
  • 删除匿名用户? [是/否] y
  • 禁止远程root登录? [是/否] y
  • 删除测试数据库并访问它? [是/否] y
  • 现在重新加载权限表? [是/否] y

7. 要创建、管理和执行数据库操作,您需要在 mysql shell 命令中使用 -u 标志来指定数据库用户名和-p 提供用户的密码。

要以 root 用户身份连接,请使用 sudo 命令(即使没有 -p 标志),否则您将收到以下屏幕截图中突出显示的错误。

mysql -u root -p
sudo mysql -u root

步骤3:在Ubuntu 20.04中安装PHP

8. PHP 是一种流行的开源、灵活、动态的脚本语言,用于构建网站和 Web 应用程序。它支持多种编程技术。重要的是,PHP 社区庞大且多样化,由无数的库、框架和其他有用的组件组成。

NGINX 使用FPMFastCGI Process Manager)或PHP-FPM来处理PHP 脚本。 PHP-FPM 是一种广泛使用的替代 PHP FastCGI 实现,附带许多附加功能,用于支持高流量网站/Web 应用程序。

要安装 PHPPHP-FPM,请运行以下命令,该命令还将安装一些必需的附加软件包。

sudo apt install php php-mysql php-fpm

由于PHP 7.4Ubuntu 20.04PHP的默认版本,因此PHP配置文件位于/etc/php/7.4 /PHP-FPM 配置文件存储在 /etc/php/7.4/fpm 下。

9. 接下来,使用以下命令检查 php7.4-fpm 服务是否已启动并正在运行以及是否已启用。

sudo systemctl status php7.4-fpm
sudo systemctl is-enabled php7.4-fpm

步骤 4:配置 Nginx 以与 PHP-FPM 配合使用

10. 现在您需要配置NGINX来将客户端请求代理到PHP-FPM,默认情况下配置为侦听/etc/php/7.4/fpm/pool.d/www.conf默认池配置文件中的listen参数定义的UNIX套接字。

sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. 在默认服务器块配置文件 (/etc/nginx/sites-available/default) 中,取消注释用于处理 PHP 的位置指令请求看起来像下面的屏幕截图所示。

sudo vi /etc/nginx/sites-available/default

保存文件并退出。

12. 然后测试 NGINX 配置语法的正确性。如果没问题,请重新启动 Nginx 服务以应用新的更改。

sudo nginx -t
sudo systemctl restart nginx

13.现在测试NGINX是否可以与PHP-FPM配合处理PHP请求。在文档根目录下创建一个简单的info.php页面。

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

14. 在浏览器中,使用以下地址进行导航。 PHP 配置页面应加载,如以下屏幕截图所示。

http://SERVER_IP/info.php

步骤5:在Ubuntu 20.04中安装PhpMyAdmin

15. PhpMyAdmin 是一款免费且开源的基于 Web 的 PHP 应用程序,专门用于通过 Web 浏览器管理 MySQL/MariaDB 数据库服务器。它提供了直观的图形界面,并支持数据库管理任务的各种常见功能。

sudo apt install phpmyadmin

16. 在软件包安装过程中,系统会要求您配置 PhpMyAdmin 软件包的多个方面。首先,系统会提示您选择运行它的默认 Web 服务器。按 Esc,因为 NGINX 不在提供的列表中。

17. 接下来,PhpMyAdmin 需要使用数据库。在此包配置提示中,选择以使用dbconfig-common 包为 PhpMyAdmin 配置数据库。

18. 在下一个提示中,您需要为 PhpMyAdmin 提供密码,以注册 MariaDB 数据库。输入安全密码并单击 Enter。

第 6 步:配置 NGINX 来为 PhpMyAdmin 站点提供服务

19. 要使 NGINX 能够为位于 /usr/share/phpmyadminPhpMyAdmin 站点提供服务,请创建一个符号链接对于文档根目录下的此目录,然后在 PHPMyAdmin 目录上设置正确的权限和所有权,如下所示。

sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
sudo chmod 775 -R /usr/share/phpmyadmin/
sudo chown root:www-data -R /usr/share/phpmyadmin/

20. 此外,确保默认服务器块配置 (/etc/nginx/sites-available/default) 文件中的 index 指令包含index.php 如下图所示。

21. 接下来,再次重新启动 Nginx 服务以应用上述更改。

sudo systemctl restart nginx

22. 现在使用以下地址从浏览器访问 PhpMyAdmin 站点。

http://SERVER_IP/phpmyadmin

在登录页面,使用 PHPMyAdmin 用户名和密码进行身份验证。请记住,除非您在安装了 MariaDB 数据库的本地主机上访问 PHPMyAdmin,否则远程 root 用户登录将被禁用,否则 root 访问将不起作用。

最后但并非最不重要的一点是,使用我们的指南保护您的 PhpMyAdmin 安装:保护 PhpMyAdmin Web 界面安全的 4 个有用提示。

结论

您的 LEMP 设置现已完成,您可以开始构建 Web 应用程序,或者只是使用刚刚安装的 NginxMariaDB 服务。它们被广泛使用,强烈建议系统管理员了解更多相关知识。