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

介绍

在这个快速启动指南中,我们将在Ubuntu 20.04服务器上安装一个LAMP堆栈。

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

前提条件

要遵循本指南,您需要作为sudo用户访问 Ubuntu 20.04 服务器。

步骤 1 - 安装 Apache

更新您的包管理器缓存,然后安装 Apache:

1sudo apt update
2sudo apt install apache2

安装完成后,您需要调整防火墙设置,以便在您的服务器上允许 HTTP 流量。

1sudo ufw allow in "Apache"

随着新增的防火墙规则,您可以通过从您的 Web 浏览器访问服务器的公共 IP 地址或域名来测试服务器是否正在运行。

Ubuntu 20.04 Apache default

第2步:安装MySQL

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

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

1sudo apt install mysql-server

当安装完成后,建议您运行一个安全脚本,该脚本是预先安装的MySQL。

1sudo mysql_secure_installation

这将询问您是否要配置验证密码插件。回答Y,或其他任何事情,以继续而不启用。

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

对于其他问题,按Y并在每个提示键中按ENTER键。

<$>[note] 注: 在本文写作时,原始MySQL PHP库 mysqlnd 不支持 caching_sha2_authentication,是MySQL 8的默认身份验证方法。因此,在创建MySQL 8上的PHP应用程序的数据库用户时,您需要确保它们配置为使用‘mysql_native_password’而不是。请参阅我们在Ubuntu 20.04上的详细LAMP的第6步(https://andsky.com/tech/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-20-04# step-6-%E2%80%94-testing-database-connection-from-php-(optional)指南,以了解如何做到这一点。

步骤三:安装PHP

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

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

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

1php -v
1[secondary_label Output]
2PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS )
3Copyright (c) The PHP Group
4Zend Engine v3.4.0, Copyright (c) Zend Technologies
5    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

步骤4:为您的网站创建虚拟主机

在本指南中,我们将设置一个名为 your_domain 的域名,但您应该 ** 用自己的域名代替它。

在 Ubuntu 20.04 上,有一个默认启用的服务器块配置为从 /var/www/html 目录中服务的文档,而不是修改 /var/www/html,我们将为 your_domain 网站创建一个 /var/www 中的目录结构,如果客户端请求不匹配任何其他网站,则将 /var/www/html 置于默认目录中。

创建 your_domain 的目录如下:

1sudo mkdir /var/www/your_domain

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

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

然后,使用您偏好的命令行编辑器在Apache的可用网站目录中打开一个新的配置文件:

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

这将创建一个新的空格文件. 粘贴到以下裸骨配置:

1[label /etc/apache2/sites-available/your_domain.conf]
2<VirtualHost *:80>
3    ServerName your_domain
4    ServerAlias www.your_domain 
5    ServerAdmin webmaster@localhost
6    DocumentRoot /var/www/your_domain
7    ErrorLog ${APACHE_LOG_DIR}/error.log
8    CustomLog ${APACHE_LOG_DIR}/access.log combined
9</VirtualHost>

如果您正在使用nano,您可以通过按CTRL+X,然后按YENTER来做到这一点。

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

1sudo a2ensite your_domain

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

1sudo a2dissite 000-default

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

1sudo apache2ctl configtest

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

1sudo systemctl reload apache2

您的新网站现在已启动,但网页根 /var/www/your_domain 仍然是空的. 在该位置创建一个 index.html 文件,以便我们可以测试虚拟主机是否按预期工作:

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

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

 1[label /var/www/your_domain/index.html]
 2<html>
 3  <head>
 4    <title>your_domain website</title>
 5  </head>
 6  <body>
 7    <h1>Hello World!</h1>
 8
 9    <p>This is the landing page of <strong>your_domain</strong>.</p>
10  </body>
11</html>

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

1http://server_domain_or_IP

你会看到这样的页面:

Apache virtual host test

步骤5:使用Apache测试PHP

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

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

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

这将打开一个空的文件. 将下列内容添加到文件中:

1[label /var/www/your_domain/info.php]
2<?php
3phpinfo();

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

进入您的网页浏览器并访问您的服务器的域名或IP地址,然后是脚本名称,在这种情况下是info.php:

1http://server_domain_or_IP/info.php

你会看到一个类似于此的页面:

Ubuntu 20.04 PHP info

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

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

相关教程

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

Published At
Categories with 技术
comments powered by Disqus