对于一般的 Web 开发和托管,您需要编程语言、数据库和 Web 服务器。 LAMP 堆栈是开源 Linux 工具的集合,其中包括 Apache、MySQL/MariaDB 和 PHP。这些工具紧密配合,使服务器能够托管和运行现代动态 Web 应用程序。

下面详细阐述了 LAMP 堆栈的组件:

① Apache:这是一个开源跨平台 Web 服务器,运行着世界上 67% 的网站。该软件由 Apache 软件基金会开发和维护。

② MariaDB:这是一个由 MySQL 的原始开发人员开发的关系数据库管理系统,并保证保持开源。

③ PHP:这是超文本预处理器的缩写。这是一种开源通用脚本语言,用作 Web 应用程序的后端编程语言。此外,在创建 Web 应用程序时,这种语言还可以与 HTML 一起使用。 PHP 与 JavaScript 等其他语言的主要区别在于,代码在服务器上执行,生成 HTML 脚本并发送给客户端。

☛ LAMP 堆栈如何工作?

Apache Web 服务器接收浏览器的网页请求。如果请求 PHP 文件,则会将请求传递给 PHP,然后 PHP 加载并执行文件中包含的代码。 PHP 还与数据库 ( MySQL / MariaDB ) 链接以获取代码中引用的任何数据。

然后,使用 PHP 代码和从数据库获取的数据来生成用于显示网页的 HTML 脚本。 LAMP 堆栈在处理加载时数据不时变化的静态和动态网页时非常有效。

然后 PHP 将这些结果传递回 Apache Web 服务器,然后 Apache Web 服务器将它们发送回浏览器。

在本指南中,我们将在 Rocky Linux 9.4 上安装和使用 Apache、MariaDB 和 PHP (LAMP)。

㈠ 在 Rocky Linux 9.4 上安装 Apache

这里要安装的第一个组件是 Apache Web 服务器。该软件在 Rocky Linux 存储库中作为 httpd 提供。要安装它,请执行命令:

[root@localhost]#yum -y install httpd httpd-tools

安装后,启动并启用该服务:

[root@localhost]#systemctl enable --now httpd

检查服务的状态:

[root@localhost]#systemctl status httpd

您还可以通过访问浏览器上的默认页面来验证 Apache 是否正在运行。首先,允许 HTTP 流量通过防火墙:

[root@localhost]#firewall-cmd --add-service=http --permanent
[root@localhost]#firewall-cmd --reload

使用 URL http://IP_Address 或 http://domain_name 访问网页

 

㈡ 在 Rocky Linux 9.4 上安装 MariaDB

我们需要一个用于网络托管的数据库服务器。这里有两个选项,MySQL 或 MariaDB 数据库。在本指南中,我们将选择 MariaDB 数据库,因为它具有高性能的存储引擎、更快、更安全的复制以及与 MySQL 的兼容性。

Rocky Linux 9.4 在默认存储库中提供 MariaDB 10。可以使用以下命令安装:

[root@localhost]#yum -y install mariadb-server mariadb

安装后,启动并启用 MariaDB 服务:

[root@localhost]#systemctl enable --now mariadb

验证服务是否正在运行:

[root@localhost]#systemctl status mariadb

默认情况下,MariaDB 不安全,这可能会导致漏洞。要保护它,请按如下所示操作:

[root@localhost]#mysql_secure_installation
....
Enter current password for root (enter for none): Just press Enter
......
Switch to unix_socket authentication [Y/n] Y
.....
Change the root password? [Y/n] Y
New password:  New-root-password
Re-enter new password: Re-enter New-root-password
....
Remove anonymous users? [Y/n] Y
....
Disallow root login remotely? [Y/n] Y
.....
Remove test database and access to it? [Y/n] Y
......
Reload privilege tables now? [Y/n] Y
...
Thanks for using MariaDB!

验证是否可以使用创建的密码登录:

[root@localhost]#mysql -u root -p

㈢ 在 Rocky Linux 9.4 上安装 PHP

Rocky Linux 9.4 存储库中可用的默认 PHP 版本是 PHP 8.0。此版本包含错误修复和增强功能,包括使用结构化元数据语法、与顺序无关的新命名参数以及改进的即时编译性能。

使用以下命令安装 PHP 8.0 及其依赖项:

[root@localhost]#yum install php-{common,gmp,fpm,curl,intl,pdo,mbstring,gd,xml,cli,zip,mysqli}

检查 PHP 版本:

[root@localhost]#php --version
PHP 8.0.13 (cli) (built: Nov 16 2021 18:07:21) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.13, Copyright (c) Zend Technologies

㈣ 在 Rocky Linux 9.4 上为 Apache 配置 PHP

要配置 PHP,请打开以下文件:

[root@localhost]vi /etc/php.ini

在文件中进行所需的设置。例如:

max_execution_time = 300
upload_max_filesize = 100M
post_max_size = 128M
date.timezone = Africa/Nairobi

进行所需的更改后,允许 Apache 加载 PHP 文件:

[root@localhost]#vi /etc/httpd/conf/httpd.conf
# LoadModule foo_module modules/mod_foo.so
AddHandler php-script .php

您还可以使用以下命令创建测试 PHP 文件来检查 PHP 版本:

[root@localhost]#vi /var/www/html/info.php

将以下行添加到文件中:

<?php
phpinfo();
?>

保存文件并重新启动 Apache 和 PHP-FPM:

[root@localhost]#systemctl restart php-fpm
[root@localhost]#systemctl restart httpd

使用 URL http://IP_Address/info.php 访问显示 PHP 参数的页面