在计算机领域,LAMP 是 Linux(此处使用 Debian 12)、Apache、MySQL 和 PHP(LAMP)的缩写。LAMP 常用于指代 Web 服务器上的软件堆栈(特别是 MySQL 和 PHP)。

在深入探讨配置细节之前,了解 Apache Web 服务器至关重要。
什么是 Apache Web 服务器?
Apache 是最早的网页服务器之一,其历史可追溯至 1995 年。时至今日,Apache 仍被广泛使用,其优势在于长期稳定性、丰富的文档资源以及海量的模块扩展,这些都为系统提供了极高的灵活性。
本文将 Debian 作为MySQL和PHP服务器的角色。LAMP 架构中的 Linux 部分应已通过本公众号内的以下文章安装了 Debian 12:如何一步一步安装 Debian12 (bookworm)
一旦操作系统完成后,就可以安装其他组件了。
关于 Mysql 的安装与安全配置请访问:MySQL 8 on Debian 12:高性能数据库安装与配置实践演示
安装 PHP 以及一些相关的组件。
apt install -y php libapache2-mod-php php-zip php-mbstring php-cli php-common php-curl php-xml php-mysql
安装完成后,接下来我们为这台服务器进行一些 PHP 的基本设置。虽然 PHP 有很多可以配置的选项,但我们这里只做一些基本设置,这些设置通常都是必需的。
打开的 php 配置文件位于 /etc/php/7.4/apache2/php.ini。
vi /etc/php/8.2/apache2/php.ini
搜索字符串 memory_limit(内存限制),然后根据应用程序的需要增加限制。
另一个需要检查的重要设置是 max_execution_time(最大执行时间),默认情况下设置为 30。 如果应用程序需要更长的时间,可以更改这一设置。
至此,PHP8 已准备就绪,可以开始托管网站了。 接下来是配置 Apache2 的时候了。
安装 Apache2 软件。
apt install apache2
Apache 网络服务器将启动并提供默认网页。 有几种方法可以确认 Apache 网络服务器已经启动并运行。 最简单的方法是使用 lsof 实用程序:
lsof -i:80
另一种选择是直接访问Web服务器的IP地址。假设是Debian的默认安装,系统很可能已配置为使用DHCP自动获取IP地址。
要确定服务器的IP地址,请使用命令 ip a。

获取的 IP 地址可输入至同一网络内计算机的网页浏览器中,以确认 Apache 是否正在显示默认页面。

此时,Apache 已成功启动并运行。接下来的步骤将配置 Apache 2 以托管其他网站。
Debian 已经打包了一些用于管理站点和模块的有用工具。在详细介绍如何使用这些工具之前,了解它们的功能非常重要。
首先,让我们先对前两个进行一些操作。由于Apache 2目前正在托管“默认网页”,我们可以使用a2dissite命令将其禁用。
a2dissite 000-default.conf
此命令将禁用上述截图中显示的默认 Apache 网站。然而,为了使任何更改生效,必须重新加载 Apache 2 配置。
systemctl reload apache2
此命令将指示 Apache 2 更新其当前托管的已启用/已禁用站点。您可以通过再次尝试连接到 Web 服务器的 IP 地址并观察是否没有任何内容显示来确认此操作(部分计算机可能会缓存信息,如果在执行前两个命令后机器仍显示默认网站,请尝试清除网页浏览器的缓存)。
确认网站已不再启用的另一种方法是使用 a2query 工具。

对上面的两个步骤分析一下:
a2query -s,该命令指示 Apache 2 列出当前正在提供的网站。a2dissite 000-default.conf,随后是 service apache2 reload。这两个命令指示 Apache 2 禁用默认网站,然后重新加载活跃/非活跃网站。a2query -s,但请注意,此次 Apache 响应称没有网站正在被服务。现在,让我们逐步创建一个非默认网站。第一步是使用 cd 命令切换到 Apache 2 的配置目录 /etc/apache2。此目录中包含多个重要文件和目录,但为了简洁起见,本文仅介绍必要内容。

在搭建新网站时,首先需要在 "sites-available" 目录中创建一个新的配置文件。
cd sites-available/
cp 000-default.conf oneh-test-site.conf
这将把默认网站的配置复制到新网站的配置文件中,以便进一步修改。使用文本编辑器打开新网站的配置页面。
vi oneh-test-site.conf
在此文件中有一行非常重要的配置,用于将网站托管到服务器上,这行配置就是 DocumentRoot 行。这行配置告诉Apache服务器在收到特定资源请求时,应从哪个目录中获取并提供相应的网页文件。

目前,这行配置将指向一个尚未创建的目录,但该目录很快就会创建,并包含一个简单的网页,供此Debian服务器显示。
保存此文件的更改并退出文本编辑器。现在需要创建Apache 2刚刚被指示用于提供文件的目录,并向其中添加文件。
创建Apache用于提供文件的目录,并在其中添加一个如上述内容的名为‘index.php’的基本网页。
mkdir /var/www/oneh
touch /var/www/oneh/index.html
vi /var/www/oneh/index.html # 打开文件输入以下信息
# <?php
# // 显示 PHP 信息
# phpinfo();
#?>
注意:本文创建的页面显示效果可能会有所不同!现在,使用之前讨论过的命令,告知Apache服务器提供此新的文档。
a2ensite oneh-test-site.conf
systemctl reload apache2
a2query -s oneh-test-site.conf
上述最后一条命令仅用于确认Apache2确实正在托管新创建的网站。此时,请再次使用网页浏览器访问服务器的IP地址,查看新创建的网站是否已正常显示(由于计算机倾向于缓存数据,因此可能需要多次刷新才能加载新网页)。

如果新创建的 "PHP信息" 页面显示出来,说明 Apache 2 已成功配置并显示网站。
恭喜!虽然这是一个简单的设置,用于准备一个Linux LAMP服务器来托管网站,但实际上可以实现的功能要复杂得多,而配置方案则会根据最终目标而有所不同。
🌟 LAMP 的力量: 您已成功在 Debian 12 上构建了高性能的 LAMP 技术栈——这个开源领域的"瑞士军刀",正随时准备将您的创意转化为全球可访问的数字化服务。