如何在 Debian 11 上安装 Apache、MariaDB 和 PHP (LAMP)
LAMP 堆栈是经常结合使用的开源软件产品的集合。首字母缩略词 LAMP 用于描述具有以下组件的计算机系统:Linux、Apache HTTP Server(或只是服务器)、MySQL 和 PHP/Perl/Python。
用户可以将所有这些组件单独安装在一台计算机上,或者更常见的是,安装在通过网络连接的不同计算机上;然而,某些组件依赖于其他组件 - 例如,如果不先安装 Linux 就无法安装 Apache - 因此标准安装实践是将所有组件安装在单个计算机系统上。
LAMP 堆栈是开源软件的组合,形成 Web 开发中最常用的服务器环境。
开源是指某些东西,尤其是应用程序或操作系统,其源代码可供免费使用或分发,尽管可能存在某些用户限制。这允许用户创建任何产品的副本并进行他们喜欢的任何更改。
本文将介绍如何在 Debian 11 上安装 LAMP 堆栈。完成后,您将拥有一个可以轻松为您的网站和应用程序提供服务的 Web 服务器。如果您想完全控制系统设置(例如自己编辑配置文件),这里我们将展示如何从终端手动安装它们。
更新系统
要开始“最佳实践”,您应该首先更新系统上已安装的软件包。您可以通过 GUI 或命令行界面(shell)执行此操作。
sudo apt update
sudo apt upgrade
安装阿帕奇
Apache Web 服务器是一个免费的开源程序,可以在许多不同类型的计算机系统上使用。它是世界上使用最广泛的网络服务器。 Apache Web 服务器项目于 1995 年启动,通过提供一个允许任何人自由建立自己网站的平台,在万维网的发展中发挥了关键作用。
您可以使用以下命令在 Debian 11 上安装 apache。此命令将拉取所有 Apache 依赖项和支持模块。
sudo apt-get install apache2 apache2-utils -y
安装完成后,启动并启用 Apache 服务以使 Apache 在启动时自动加载。
sudo systemctl start apache2
sudo systemctl enable apache2
Apache 在端口 80 上侦听 HTTP 请求,在端口 443 上侦听 HTTPS 请求。您可以通过使用 ss 命令(类似于 netstat )检查 Apache 侦听端口来验证这一点。
ss -antpl | grep apache2
要检查 Apache 服务器是否正在运行,请使用 systemctl status 命令检查其状态。
sudo systemctl status apache2
我们可以看到 Apache 处于活动状态并正在运行并在启动时启用。它分配 15.1MB 内存并具有三个进程。
Apache 服务正在运行。不过,测试它的最佳方法是从服务器请求网页。
您可以通过将浏览器指向服务器的 IP 地址或域名来请求网页。
http://
如果 Apache 服务在您的系统上正常运行,将会显示默认的 Apache 页面。
安装 MariaDB 数据库服务器
MariaDB 是一个开源关系数据库管理系统,可直接替代 MySQL。与许多开源项目和数据库一样,MariaDB 是免费的。它的开发秉承了分享和协作的精神,以至于它的名字从 Maria Damon Burton 翻译过来,意思是“发起人”。它由瑞典公司 MariaDB Corporation AB 正式拥有,也是 MariaDB 的主要开发商。
您可以使用以下命令在 Debian 11 上安装 MariaDB。这将拉取所有 MariaDB 依赖项和支持模块。
sudo apt-get install mariadb-server -y
安装后,启动并启用 Mariadb 服务以使 MariaDB 在启动时自动加载。
sudo systemctl start mariadb
sudo systemctl enable mariadb
要检查 MariaDB 服务器是否正在运行,请使用 systemctl status 命令检查其状态。
sudo systemctl status mariadb
MariaDB 是一个数据库服务器程序,可用于存储和检索数据。当您不允许默认配置设置时,它会更安全,这应该可以保护您的 MariaDB 安装免受任何漏洞的影响。您可能需要运行 mariadb-server 软件包提供的 mysql 安全安装脚本来保护您的安装。
sudo mysql_secure_installation
该脚本将引导您完成一系列提示,帮助您确保 MariaDB 安装的安全。
第一个提示要求您输入管理用户 root 的密码。您输入 root 用户的当前密码。由于您尚未设置 root 密码,因此只需按 Enter 键即可。
下一个提示要求您切换到 unix_socket 身份验证,输入 Y 并按 Enter。
以下提示检查您是否要创建数据库 root 密码。设置 root 密码是保护 MariaDB 安全的重要一步。它确保没有人可以在未经许可的情况下以管理员身份访问您的数据库,并让您更好地控制总体安全性。
输入Y并按Enter键盘。为 MariaDB root 用户提供您选择的密码。连接到 MariaDB 提示符时,您将需要使用此密码。选择一个难以猜到但易于记住的密码。
对于其余提示,您可以键入 Y 并按 Enter 接受默认值。这些提示涉及删除测试数据库、禁止远程 root 登录以及重新加载权限表。
现在您已经完成了 MariaDB 安装的保护。您可以使用 mysqladmin 实用程序测试您的连接,该实用程序将允许建立数据库链接。例如,以下命令允许我们以 root 身份连接并显示有关 MariaDB 安装版本的信息。
sudo mysqladmin version
安装 PHP 脚本语言
如果您想制作一个动态且交互式的网站,那么 PHP 编程语言应该是您的选择。它在当今的网页中被广泛使用,因为它能够与日历或购物车等不同功能创建良好的交互性。
您可以使用以下命令将 PHP 与其他常用模块一起安装。
sudo apt-get install php -y
sudo apt-get install php-mysql php libapache2-mod-php php-cli -y
要列出所有已安装的 PHP 模块,请运行以下命令。
php -m
要检查计算机上安装的 PHP 版本,请使用 php -v 命令。
php -v
您可以通过在文件中编写简单的 php 代码、将其放入 Web 根目录并执行来测试 PHP 安装。
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
重新启动 apache 服务器以在浏览器中访问 php 文件。
sudo systemctl restart apache2
打开您的网络浏览器并导航至 you_server_ip/info.php,其中 you_server_ip 是您的实际服务器 IP。
you_server_ip/info.php
此 URL 将打开一个显示 php 信息的页面,例如安装 php 二进制文件期间使用的版本和配置选项。
为 Apache 创建虚拟主机
此时,您的 LAMP 堆栈已设置完毕并可以开始工作。通过创建虚拟主机,让自己可以自由地托管多个网站,以便您可以将此服务器用于所有未来的项目。虚拟主机是使用 Apache 运行网站的最常见方法之一。虚拟主机允许您将多个域名(或别名)映射到一个 IP 地址。在大多数情况下,这是针对在一台计算机上托管具有不同域名的多个网站的 Web 服务器完成的。
在这一部分中,我们将创建一个虚拟主机 example.com。继续操作时,请随意用您自己的域名替换 example.com。
第一步是为您将在计算机上提供服务的每个站点创建文档根目录。在此示例中,我们将创建一个名为 /var/www/html/example.com 的目录
sudo mkdir -p /var/www/html/example.com
接下来,为这些目录分配一些权限。
sudo chown -R www-data:www-data /var/www/html/example.com
现在,进入 /www/html/example.com 并创建一个 example.html 文件并使用以下行填充该文件。
cd /var/www/html/example.com
sudo nano example.html
<html>
<body>
<center><h1>Hello World, Vitux.com!</h1></center>
</body>
</html>
完成后保存并关闭该文件。
我们现在可以创建虚拟主机文件。使用您选择的编辑器打开 /etc/apache2/sites-available/example.com.conf。
sudo nano /etc/apache2/sites-available/example.com.conf
使用以下行填充该文件。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example.com
DocumentRoot /var/www/html/example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
完成后保存并关闭该文件。
我们现在可以启用该虚拟主机并重新启动 Apache2:
a2ensite domain1.com.conf
a2ensite domain2.com.conf
systemctl restart apache2
您可以使用以下命令验证刚刚创建的虚拟主机。
apache2ctl configtest
如果一切正确,将显示OK输出。
您还可以使用以下命令再次检查 Apache 服务的状态。
设置虚拟主机后,您可以通过在网络浏览器中访问 example.com 来测试虚拟主机。
确保测试时服务器的任何错误或奇怪行为不会出现在屏幕上,例如几分钟内仅加载一页、服务器给出有关无法访问的错误消息等。
结论
在这篇博文中,我们向您简要介绍了 LAMP 堆栈,并向您展示了如何在 Debian 11 系统上安装它。我们希望所提供的信息能够帮助您更快地启动 Web 开发项目。如果您有任何疑问或需要进一步的安装帮助,请在下面的评论中告诉我们。