如何在 Ubuntu 20.04 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈 [快速入门]

介绍

在本快速入门指南中,我们将在 Ubuntu 20.04 服务器上安装 LAMP 堆栈。

有关本教程的更详细版本以及每个步骤的更多解释,请参阅如何在 Ubuntu 20.04 上安装 Linux、Apache、MySQL、PHP (LAMP) 堆栈

先决条件

要遵循本指南,您需要以sudo用户身份访问 Ubuntu 20.04 服务器

第 1 步 – 安装 Apache

更新您的包管理器缓存,然后使用以下命令安装 Apache:

  • sudo apt update
  • sudo apt install apache2

安装完成后,您需要调整防火墙设置以允许服务器上的 HTTP 流量。运行以下命令以允许端口80(HTTP)上的外部访问

  • sudo ufw allow in "Apache"

添加新的防火墙规则后,您可以通过从 Web 浏览器访问服务器的公共 IP 地址或域名来测试服务器是否已启动并正在运行。你会看到一个这样的页面:

Ubuntu 20.04 Apache 默认

第 2 步 – 安装 MySQL

我们现在将安装 MySQL,这是一种在 PHP 环境中使用的流行数据库管理系统。

再次,用于apt获取和安装此软件:

  • sudo apt install mysql-server

安装完成后,建议您运行 MySQL 预安装的安全脚本。通过运行以下命令启动交互式脚本:

  • sudo mysql_secure_installation

这将询问您是否要配置VALIDATE PASSWORD PLUGIN. 回答Y是,或其他任何不启用就继续的问题。如果您回答“是”,系统会要求您选择密码验证级别。

您的服务器接下来会要求您选择并确认 MySQL用户的密码尽管 MySQL root 用户的默认身份验证方法不使用密码,即使设置了密码,您也应该在此处定义强密码作为额外的安全措施。

对于其余的问题,请在每个提示处按下Y并按下ENTER键。

注意:在撰写本文时,本机 MySQL PHP 库mysqlnd 不支持 caching_sha2_authentication,这是 MySQL 8 的默认身份验证方法。因此,在 MySQL 8 上为 PHP 应用程序创建数据库用户时,您需要确保他们’被配置为使用mysql_native_password请参阅我们详细的 LAMP on Ubuntu 20.04指南的第 6 步以了解如何执行此操作。

第 3 步 – 安装 PHP

要安装 PHP 及其依赖项,请运行:

  • sudo apt install php libapache2-mod-php php-mysql

安装完成后,您可以运行以下命令来确认您的 PHP 版本:

  • php -v
Output
PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

第 4 步 — 为您的网站创建虚拟主机

在本指南中,我们将设置一个名为your_domain的域,但您应该将其替换为您自己的域名

Ubuntu 20.04 上的 Apache 默认启用了一个服务器块,该块被配置为从/var/www/html目录提供文档而不是修改的/var/www/html,我们将创建一个内部目录结构,/var/www您的网域网站,留下/var/www/html的地方,就好像客户端的请求不符合任何其他网站要服务的默认目录。

your_domain创建目录,如下所示:

  • sudo mkdir /var/www/your_domain

接下来,使用$USER环境变量分配目录的所有权,该环境变量将引用您当前的系统用户:

  • sudo chown -R $USER:$USER /var/www/your_domain

然后,sites-available使用您喜欢的命令行编辑器在 Apache 的目录中打开一个新的配置文件

  • sudo nano /etc/apache2/sites-available/your_domain.conf

这将创建一个新的空白文件。粘贴以下基本配置:

/etc/apache2/sites-available/your_domain.conf
<VirtualHost *:80>
    ServerName your_domain
    ServerAlias www.your_domain 
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

完成后保存并关闭文件。如果您正在使用nano,则可以通过按CTRL+X、 然后Y和 来实现ENTER

您现在可以使用a2ensite来启用新的虚拟主机:

  • sudo a2ensite your_domain

要禁用 Apache 的默认网站,请键入:

  • sudo a2dissite 000-default

要确保您的配置文件不包含语法错误,请运行:

  • sudo apache2ctl configtest

最后,重新加载 Apache 以使这些更改生效:

  • sudo systemctl reload apache2

您的新网站现已激活,但网站根目录仍为空。在该位置创建一个文件,以便我们可以测试虚拟主机是否按预期工作:/var/www/your_domainindex.html

  • nano /var/www/your_domain/index.html

在此文件中包含以下内容:

/var/www/your_domain/index.html
<html>
  <head>
    <title>your_domain website</title>
  </head>
  <body>
    <h1>Hello World!</h1>

    <p>This is the landing page of <strong>your_domain</strong>.</p>
  </body>
</html>

现在转到您的浏览器并再次访问您服务器的域名或 IP 地址:

http://server_domain_or_IP

你会看到一个这样的页面:

Apache虚拟主机测试

第 5 步 – 使用 Apache 测试 PHP

我们现在将创建一个 PHP 测试脚本来确认 Apache 能够处理和处理对 PHP 文件的请求。

info.php在您的自定义 Web 根文件夹中创建一个名为的新文件

  • nano /var/www/your_domain/info.php

这将打开一个空白文件。在文件中添加以下内容:

/var/www/your_domain/info.php
<?php
phpinfo();

完成后,保存并关闭文件。

转到您的 Web 浏览器并访问您服务器的域名或 IP 地址,后跟脚本名称,在本例中为info.php

http://server_domain_or_IP/info.php

你会看到一个类似这样的页面:

Ubuntu 20.04 PHP 信息

通过该页面检查有关您的 PHP 服务器的相关信息后,最好删除您创建的文件,因为它包含有关您的 PHP 环境和您的 Ubuntu 服务器的敏感信息。您可以使用rm

  • sudo rm /var/www/your_domain/info.php

以下是与本教程相关的更详细指南的链接:

觉得文章有用?

点个广告表达一下你的爱意吧 !😁