Ubuntu 22.04 LAMP 安装 - Ubuntu Web 服务器
LAMP 堆栈是一系列软件,其中包含服务网站、显示动态内容以及从数据库存储或检索数据所需的一切。该软件全部采用 LAMP 缩写,即 Linux 操作系统、Apache Web 服务器、MySQL 数据库(或 MariaDB)和 PHP 编程语言。
LAMP 构建的组件都是开源的。如果您已经下载了 Ubuntu 22.04 并将其安装在您的 PC 上,那么您已经满足了第一个要求。接下来,您只需启动并运行 LAMP 堆栈即可。在本指南中,我们将逐步展示在 Ubuntu 22.04 Jammy Jellyfish Linux 上安装 LAMP 堆栈的说明。
在本教程中您将学习:
如何在 Ubuntu 22.04 上安装 LAMP 服务器
如何打开防火墙端口以允许 HTTP 和 HTTPS 传入流量
如何使用 PHP 脚本连接 MySQL 数据库
在 Ubuntu 22.04 上设置 LAMP 服务器分步说明
您可以使用 apt 命令并包含最少数量的软件包来安装 LAMP 服务器堆栈:
$ sudo apt update $ sudo apt install apache2 php-mysql libapache2-mod-php mysql-server
或者使用
tasksel
命令:$ sudo tasksel install lamp-server
如果您希望 Web 服务器堆栈在系统重新启动时自动启动,则需要使用以下命令在 systemd 中启用 MySQL 和 Apache。这样做也将立即启动服务,因为我们提供了
--now
选项。$ sudo systemctl enable --now mysql $ sudo systemctl enable --now apache2
执行以下命令以保护 MySQL 安装并设置 root 密码。会有一些提示需要完成。建议您在出现问题时禁用远程 root 登录,除非您有某些需要它的情况。
$ sudo mysql_secure_installation
为了确认我们的 Web 服务器可以访问并且 PHP 能够按预期工作,我们可以在
/var/www/html
目录中创建一个名为info.php
的文件。该文件应包含以下行,用于验证 PHP 是否正常工作。在浏览器中,打开 URL
http://localhost/info.php
导航到我们创建的测试页面。您应该会看到如下图所示的结果。接下来,让我们为 MySQL 服务器配置用户和数据库。
$ sudo mysql mysql> CREATE DATABASE linuxconfig; mysql> CREATE USER `admin`@`localhost` IDENTIFIED WITH mysql_native_password BY 'yourpass'; mysql> GRANT ALL ON linuxconfig.* TO `admin`@`localhost`; mysql> FLUSH PRIVILEGES; mysql> exit
配置好 MySQL 数据库和用户后,我们可以创建一个简单的测试页面来查看是否能够通过 php 连接到 MySQL。将以下脚本粘贴到文件中,然后我们将通过 Web 浏览器访问该文件。请务必将数据库名称、用户名和密码替换为您自己的。我们将此文件存储为
/var/www/html/mysql-test.php
<?php $conn = new mysqli("localhost", "admin", "yourpass", "linuxconfig"); if ($conn->connect_error) { die("ERROR: Unable to connect: " . $conn->connect_error); } echo 'Connected to the database. '; $conn->close(); ?>
然后,尝试访问该页面:
或者,您可以使用 Let’s Encrypt 的免费证书设置 SSL 加密。只需安装证书机器人并按照提示运行即可回答一些问题。当然,您需要一个指向您的网络服务器的完全合格的域名才能正常工作。
$ sudo apt install certbot python3-certbot-apache $ certbot --apache
最后,打开防火墙端口 80 和 443 以允许远程传入流量:
$ sudo ufw allow in "Apache Full"
结束语
在本教程中,我们了解了如何安装和配置 Ubuntu 22.04 LAMP Web 服务器堆栈。这涉及安装各个软件包,即 Apache、MariaDB 和 PHP。 LAMP 是在很短的时间内建立并运行完整堆栈的绝佳方法。您的系统现在已准备好提供和存储动态 Web 内容。