如何在 Ubuntu 20.04 中使用 PhpMyAdmin 安装 LEMP Stack
对于那些不知道LEMP是什么的人来说,这是一个软件包的组合——L inux、N ginx(发音为EngineX)、MariaDB和P HP。
您可以将LEMP用于测试目的,也可以在实际生产环境中使用 PHP 框架(例如 Laravel 或 Yii)或内容管理系统(例如WordPress、Drupal或Joomla)部署 Web 应用程序
您可能想知道LAMP和LEMP之间有什么区别。好吧,唯一的区别是包含的 Web 服务器 - Apache(在LAMP中)和Nginx(在LEMP中)。这两个 Web 服务器都相当不错,虽然Apache是最常用的,但Nginx 也丝毫不逊色。
通常与LEMP堆栈一起安装的另一个广泛使用的应用程序是PhpMyAdmin - 是一个基于 Web 的 PHP 工具,用于从 Web 浏览器管理MySQL/MariaDB数据库服务器。
如果您正在为Ubuntu 20.04寻找 LAMP 设置,那么您应该阅读我们关于 Ubuntu 20.04 的 LAMP 设置指南。
先决条件:
在本文中,您将学习如何在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 后设计为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 密码(输入无则输入):输入
- 设置 root 密码?[Y/n]
y
- 删除匿名用户?[Y/n]
y
- 禁止远程 root 登录?[Y/n]
y
- 删除测试数据库并访问它?[Y/n]
y
- 现在重新加载权限表吗?[Y/n]
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 进程管理器)或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,默认情况下,它配置为监听UNIX套接字,如/etc/php/7.4/fpm/pool.d/www.conf默认池配置文件中的 listen 参数所定义。
$ 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 包Yes
为 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.php,如下面的屏幕截图所示。
21.接下来,再次重新启动 Nginx 服务以应用上述更改。
$ sudo systemctl restart nginx
22.现在使用以下地址从浏览器访问PhpMyAdmin站点。
http://SERVER_IP/phpmyadmin
在登录页面,使用 PHPMyAdmin 用户名和密码进行身份验证。请记住,远程 root 用户登录已被禁用,除非您在安装 MariaDB 数据库的本地主机上访问 PHPMyAdmin,否则 root 访问权限将不起作用。
最后但同样重要的一点是,使用我们的指南保护您的PhpMyAdmin安装:保护 PhpMyAdmin Web 界面的 4 个有用技巧。
结论
您的LEMP设置现已完成,您可以开始构建 Web 应用程序,或者简单地使用刚刚安装的Nginx和MariaDB服务。这些服务被广泛使用,强烈建议系统管理员更多地了解它们。