如何在 Ubuntu 24.04 上安装 LAMP Stack(Linux、Apache、MariaDB 和 PHP)

如何在 Ubuntu 24.04 上安装 LAMP Stack(Linux、Apache、MariaDB 和 PHP)

LAMP Stack(Linux、Apache、MySQL/MariaDB 和 PHP)是一组用于构建网站和 Web 应用程序的开源技术。 LAMP Stack 的每个组件都是免费的,您可以在开发和生产环境中安装它。

在本指南中,您将了解如何在 Ubuntu 24.04“Noble Numbat”服务器上安装 LAMP Stack(Linux、Apache、MySQL/MariaDB 和 PHP)。 您还将学习如何保护 MariaDB 并使用 Apache Web 服务器创建虚拟主机。

先决条件

要开始阅读本指南,请确保您拥有具有 root 用户或具有管理员权限的非 root 用户的 Ubuntu 24.04“Noble Numbat”。

安装 Apache 网络服务器

Apache 是互联网上最流行的 Web 服务器软件之一。 Apache 为互联网上的一些大型网站提供支持,包括 Wikipedia、Slack、LinkedIn、The New Your Times 等等。

Apache Web 服务器以其模块化而闻名,它允许用户通过模块扩展其功能。 在本部分中,您将在 Ubuntu 24.04 服务器上安装 Apache Web 服务器。

首先,运行以下命令来更新 Ubuntu 软件包列表并获取最新的软件包信息。

sudo apt update

更新仓库

现在使用下面的“apt install”命令安装 Apache Web 服务器。 输入 Y 确认安装。

sudo apt install apache2

安装阿帕奇2

安装完成后,apache2 服务应在系统启动时自动启动并运行。 使用以下命令检查 apache2 服务状态。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

您将看到 apache2 服务“已启用”并且将在启动时自动运行。 当前 apache2 服务的状态为“活动(正在运行)”。

检查阿帕奇服务

如果您的 Ubuntu 上运行着 UFW(简单防火墙),您需要允许流量通过 UFW 流向您的 Apache Web 服务器。

运行以下“ufw”命令以允许通过“Apache Full”配置文件传输至 Apache Web 服务器的流量。 UFW 上的“Apache Full”配置文件将打开 HTTP 和 HTTPS 端口。

sudo ufw allow 'Apache Full'

现在运行以下命令来验证 UFW 上的列表规则。 您将看到状态为“允许”的“Apache Full”配置文件。

sudo ufw status

允许 http https ufw

最后,打开浏览器并访问您的服务器IP地址,例如http://192.168.5.30/。 如果一切顺利,您应该会获得 Apache Web 服务器的“index.html”页面,如下所示:

阿帕奇索引

如果您不确定 Ubuntu 服务器的 IP 地址,请运行以下命令来检查您的服务器 IP 地址。

ip a

安装 MariaDB 数据库服务器

MariaDB 是 MySQL 的免费开源 RDBMS(关系数据库管理系统)分支。 它是由原始 MySQL 开发人员创建的,但具有更多功能、更高的查询速度和更高的可扩展性。

对于此 LAMP Stack 安装,您将使用 MariaDB 而不是 MySQL。 现在您将在 Ubuntu 24.04 上安装并保护 MariaDB 数据库服务器。

要在 Ubuntu 上安装 MariaDB 服务器,请运行以下“apt install”命令。 输入 Y 继续安装。

sudo apt install mariadb-server

安装玛丽亚数据库

安装完成后,MariaDB 服务应该在您的系统上运行并启用。 使用以下命令检查 MariaDB 服务状态。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

启用 mariadb 服务后,您将看到输出“已启用”。 您还将看到 mariadb 服务的当前状态为“活动(正在运行)”。

安装 mariadb 服务

当 MariaDB 服务器运行时,您需要通过“mariadb-secure-installation”实用程序来保护它。 这允许您设置 MariaDB root 密码、禁用 MariaDB root 用户的远程身份验证,并允许您从 MariaDB 服务器中删除默认数据。

运行下面的“mariadb-secure-installation”命令以保护您的 MariaDB 服务器部署。

sudo mariadb-secure-installation

当提示输入 MariaDB root 密码时按 ENTER。

Enter current password for root (enter for none):
OK, successfully used password, moving on...

当要求切换到 unix_socket 身份验证时,键入“n”。

Switch to unix_socket authentication [Y/n] n
... skipping.

输入 Y 配置 MariaDB root 密码。 然后,输入新密码并重复。

Change the root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

键入 Y 从 MariaDB 服务器安装中删除默认的匿名用户。

Remove anonymous users? [Y/n] Y
... Success!

输入 Y 以禁用 MariaDB root 用户的远程登录。 root 用户应始终从本地主机连接。

Disallow root login remotely? [Y/n] Y
... Success!

现在再次输入 Y 以从 MariaDB 服务器中删除默认数据库测试及其权限。

Remove test database and access to it? [Y/n] Y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

键入 Y 重新加载权限表并应用您迄今为止所做的所有更改。

Reload privilege tables now? [Y/n] Y
... Success!

完成后,您将看到以下消息:

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

安装PHP

PHP 是一种用于 Web 开发的开源编程语言。 它还为最流行的 CMS(内容管理系统)提供支持,例如 WordPress 和 Drupal。 在本节中,您将安装 PHP 以及以下一些扩展:

  • libapache2-mod-php:该软件包将支持 Apache Web 服务器和 PHP 之间的集成。
  • php-mysql:PHP 的 MySQL/MariaDB 驱动程序。 您必须安装此软件包,尤其是当您开发或部署以 MySQL/MariaDB 作为数据库的 PHP Web 应用程序时。
  • php-opcache 和 php-apcu:该软件包为您的 PHP Web 应用程序提供缓存性能。

首先,使用以下命令将 PHP 软件包安装到 Ubuntu。 输入 Y 确认安装。

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-json php-intl php-bcmath php-opcache php-apcu php-mbstring php-fileinfo php-xml php-soap php-tokenizer php-zip

安装PHP

安装完成后,运行以下 nano 编辑器命令来修改 PHP 配置“php.ini”文件。

sudo nano /etc/php/8.3/apache2/php.ini

使用以下内容更改默认 PHP 配置,并确保根据您的服务器时区调整“date.timezone”,并根据 Ubuntu 服务器的最大内存调整“memory_limit”。

date.timezone = Europe/Paris
memory_limit = 256M
upload_max_file_size = 64M
max_execution_time = 300

保存文件并退出。

最后,运行以下命令重新启动 apache2 服务并将更改应用到 PHP 配置。

sudo systemctl restart apache2

Apache 和 PHP 集成

为了验证您的 Apache 和 PHP 集成,您将创建一个 PHPINFO 文件,该文件将显示有关 PHP 安装的详细信息。 您的 PHPINFO 文件应位于默认的 DocumentRoot 目录 /var/www/html 中。

使用以下命令创建一个新的“info.php”文件。

echo "" > /var/www/html/info.php

打开您的网站并访问http://192.168.5.30/info.php。 如果您的 Apache 和 PHP 安装成功,您应该获得如下所示的 PHPINFO 页面:

如您所见,PHP 8.3 通过 Apache Handler 与 Apache Web 服务器一起运行。

php信息

向下滚动页面,您还会发现已安装 PHP mysql 模块。

mysqli模块

最后,还通过 APC 检查 PHP 缓存模块,如下所示。

php apc

在 Apache 中创建虚拟主机

虚拟主机是在单个服务器上托管多个网站(例如 site1.com 和 site2.com)的术语。 在本节中,您将了解如何在 Apache Web 服务器上设置虚拟主机。

首先,运行以下命令创建一个新的 DocumentRoot 目录 /var/www/mysite/public_html 和一个新的自定义“index.html”页面。

mkdir -p /var/www/mysite/public_html
echo "Welcome to mysite.com" > /var/www/mysite/public_html/index.html

现在运行以下命令将 /var/www/mysite 目录的所有权更改为用户“www-data”。

sudo chown -R www-data:www-data /var/www/mysite

之后,使用以下 nano 编辑器命令创建新的 Apache 虚拟主机配置“/etc/apache2/sites-available/mysite.conf”。

sudo nano /etc/apache2/sites-available/mysite.conf

插入以下虚拟主机配置。 确保将 ServerName 选项更改为您的域名,并将 DocumentRoot 目录更改为路径“/var/www/mysite/public_html”。



ServerAdmin [email protected]

ServerName mysite.com
ServerAlias www.mysite.com

DocumentRoot /var/www/mysite/public_html

ErrorLog ${APACHE_LOG_DIR}/mysite-error.log
CustomLog ${APACHE_LOG_DIR}/mysite-access.log combined

保存并退出文件。

接下来,运行以下命令激活虚拟主机文件 mysite.conf 并验证您的 Apache 语法。

sudo a2ensite mysite.conf
sudo apachectl configtest

如果您的 Apache 语法正确且正确,您应该得到一个输出“Syntax OK”。

现在运行以下命令重新启动 apache2 服务并应用新的虚拟主机配置。

sudo systemctl restart apache2

创建apache虚拟主机

测试您的 Apache 虚拟主机

要访问您的虚拟主机域名,您可以修改本地系统上的“hosts”文件。

  • 对于 Windows 用户,请以管理员身份编辑文件“C:\Windows\System32\drivers\etc\hosts”。
  • 对于 Linux 或 MacOS 用户,请使用 sudo/root 权限编辑“/etc/hosts”文件。

输入您的虚拟主机域名(例如“mysite.com”)和您的 Ubuntu 服务器 IP 地址。

192.168.5.30 mysite.com

保存文件并退出编辑器。

现在打开您的网络浏览器并访问 http://mysite.com/。 如果您的虚拟主机配置成功,您应该获得自定义的“index.html”,如下所示:

测试虚拟主机apache

您已在 Ubuntu 24.04“Noble Numbat”服务器上完成了 LAMP Stack(Linux、Apache、MySQL/MariaDB 和 PHP)的安装。

资讯来源:由0x资讯编译自HOWTOFORGE,版权归作者所有,未经许可,不得转载

资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载

上一篇 2024年 5月 31日
下一篇 2024年 5月 31日

相关推荐