如何在 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 设置指南。
先决条件:
- 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 使用FPM(FastCGI Process Manager)或PHP-FPM来处理PHP 脚本。 PHP-FPM 是一种广泛使用的替代 PHP FastCGI 实现,附带许多附加功能,用于支持高流量网站/Web 应用程序。
要安装 PHP 和 PHP-FPM,请运行以下命令,该命令还将安装一些必需的附加软件包。
sudo apt install php php-mysql php-fpm
由于PHP 7.4是Ubuntu 20.04中PHP的默认版本,因此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/phpmyadmin 的 PhpMyAdmin 站点提供服务,请创建一个符号链接对于文档根目录下的此目录,然后在 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 应用程序,或者只是使用刚刚安装的 Nginx 和 MariaDB 服务。它们被广泛使用,强烈建议系统管理员了解更多相关知识。