LAMP 堆栈是开发人员中最受欢迎和领先的开发堆栈之一。 它代表 Linux Apache MySQL/MariaDB 和 PHP。 Apache 是一个免费、开源且非常流行的网络服务器。 MySQL/MariaDB 是一种开源关系数据库管理系统,PHP 是一种服务器端脚本语言。
在本指南中,我们将引导您完成在 Debian 11 上安装 LAMP 的过程。检查如何在 Rocky Linux 8 和 CentOS 8 上安装 LAMP。
你需要什么
在开始之前,首先确定您具有以下先决条件:
- 安装了 Debian 11 服务器的实例。
- 一种 sudo 服务器上配置的用户
现在让我们在 Debian Bulleye 上安装流行的 LAMP 堆栈。
步骤 1:更新 Debian 11 软件包列表
必须始终从更新包索引开始,以从头开始。 在您的终端上,运行以下命令:
$ sudo apt update -y
这应该只需要几秒钟,完成后,转到下一步。
第 2 步:安装 Apache 网络服务器
下一步是安装流行的 Apache 网络服务器。 为此,请执行:
$ sudo apt install apache2 -y
这安装 Apache 以及其他附加包、库和依赖项。 默认情况下, Apache 自动启动,您可以通过检查其状态来确认这一点。
$ sudo systemctl status apache2
如果,无论出于何种原因, Apache 未运行,请通过运行以下命令启动服务:
$ sudo systemctl start apache2
此外,考虑启用 Apache 在重新启动或每次系统开机时启动,如下所示:
$ sudo systemctl enable apache2
在 Web 浏览器上,访问您服务器的 IP 地址或域名以验证该 Web 服务器确实可以访问。
https://server-ip
你应该得到 Apache 网络服务器欢迎页面。
这是一个确认 Apache 已成功安装。
第 3 步:安装 MariaDB 数据库服务器
MariaDB 是一个开源的关系数据库管理系统 (RDBMS),它是从 MySQL 分叉出来的。 它更健壮、更安全,并提供额外的功能,如 Galera 集群和酷炫的存储引擎,如 InnoDB
要安装 MariaDB 服务器,只需运行以下命令:
$ sudo apt install mariadb-server -y
喜欢 Apache, MariaDB 自动启动。 您可以验证运行状态,如图所示。
$ sudo systemctl status mariadb
如果 MariaDB 未运行,请考虑启动它。
$ sudo systemctl start mariadb
然后启用该服务以在启动时启动。
$ sudo systemctl enable mariadb
同样重要的是数据库服务器的安全性。 MariaDB 附带的默认设置很弱,黑客可以利用它们来破坏数据库。
因此,要强化 MariaDB,请运行以下命令:
$ sudo mysql_secure_installation
这将弹出一些提示,指导您加固服务器。 从设置root密码开始
然后在其余提示中键入“Y”,以将数据库服务器配置为最推荐的安全设置。
要登录运行命令
$ sudo mysql -u root -p
输入 root 密码并按 ENTER。 对现有数据库运行命令:
SHOW DATABASES;
要确认 MariaDB 的版本,请运行:
SELECT VERSION();
要退出数据库服务器,请运行以下命令:
EXIT;
第 3 步:安装 PHP 脚本语言
最后,我们将安装 PHP,它是一种用于支持动态网页开发的服务器端脚本语言。 默认情况下,PHP 7.4 托管在 Debian 11 存储库上。 因此,我们将使用 APT 包管理器安装 PHP 和一些额外的 PHP 模块,如下所示:
$ sudo apt install php libapache2-mod-php php-zip php-mbstring php-cli php-common php-curl
您可以使用以下命令确认是否安装了 PHP:
$ php -v
此外,您可以通过在文档根文件夹中创建示例 PHP 文件从 Web 浏览器验证这一点
$ sudo nano /var/www/html/info.php
粘贴以下几行
<?php phpinfo(); ?>
Save 文件并浏览显示的 URL
https://server-ip/info.php
您应该按照演示的方式显示 PHP 页面。
结论
恭喜你走到这一步。 在本演练中,我们演示了如何在 Debian 11 Bullseye 服务器上安装 LAMP 堆栈的分步过程。 从这里,您可以开始使用 LAMP 堆栈开发和测试您的 Web 应用程序。