介绍

“LAMP”堆栈是一组开源软件,通常安装在一起以使服务器能够托管动态网站和 Web 应用程序。该术语实际上是其表示的缩写L inux下操作系统,与A pache web服务器。该网站的数据存储在一个M ySQL数据库(使用MariaDB的),以及动态内容通过处理P HP。

在本指南中,我们将在 CentOS 7 VPS 上安装 LAMP 堆栈。CentOS 将满足我们的第一个要求:Linux 操作系统。

先决条件

在开始阅读本指南之前,您应该在服务器上设置一个单独的非 root 用户帐户。您可以通过完成CentOS 7 初始服务器设置中的步骤 1-4 来了解如何执行此操作。

第一步 – 安装 Apache

Apache Web 服务器是目前世界上最受欢迎的 Web 服务器,这使其成为托管网站的绝佳默认选择。

我们可以使用 CentOS 的包管理器轻松安装 Apache yum。包管理器允许我们从 CentOS 维护的存储库中轻松安装大多数软件。

出于我们的目的,我们可以通过键入以下命令开始:

sudo yum install httpd

由于我们使用的是 sudo命令,因此这些操作以 root 权限执行。它会要求您提供常规用户的密码以验证您的意图。

之后,您的 Web 服务器就安装好了。

安装后,您可以在 VPS 上启动 Apache:

sudo systemctl start httpd.service

您可以通过在 Web 浏览器中访问服务器的公共 IP 地址立即进行抽查以验证一切是否按计划进行(如果您没有此信息,请参阅下一个标题下的注释以了解您的公共 IP 地址是什么已经):

http://your_server_IP_address/

您将看到默认的 CentOS 7 Apache 网页,该网页用于提供信息和测试目的。它应该是这样的:

Apache

如果您看到此页面,则您的 Web 服务器现在已正确安装。

您要做的最后一件事是启用 Apache 在引导时启动。使用以下命令执行此操作:

sudo systemctl enable httpd.service

如何查找服务器的公共 IP 地址

如果您不知道服务器的公共 IP 地址是什么,可以通过多种方法找到它。通常,这是您用于通过 SSH 连接到服务器的地址。

从命令行,您可以通过几种方式找到它。首先,您可以使用这些 iproute2工具通过键入以下内容来获取您的地址:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

这会给你一两行。它们都是正确的地址,但您的计算机可能只能使用其中之一,因此请随意尝试每一个。

另一种方法是使用外部方来告诉您 如何看待您的服务器。您可以通过询问特定服务器您的 IP 地址来实现此目的:

curl http://icanhazip.com

无论您使用何种方法获取 IP 地址,您都可以将其输入到 Web 浏览器的地址栏中以访问您的服务器。

第二步 – 安装 MySQL (MariaDB)

现在我们已经启动并运行了我们的 web 服务器,是时候安装 MariaDB,一个 MySQL 的替代品。MariaDB 是 MySQL 关系数据库管理系统的社区开发分支。基本上,它将组织并提供对我们网站可以存储信息的数据库的访问。

同样,我们可以 yum用来获取和安装我们的软件。这一次,我们还将安装一些其他的“helper”包,它们将帮助我们让我们的组件相互通信:

sudo yum install mariadb-server mariadb

安装完成后,我们需要使用以下命令启动 MariaDB:

sudo systemctl start mariadb

现在我们的 MySQL 数据库正在运行,我们想要运行一个简单的安全脚本,它将删除一些危险的默认值并稍微锁定对我们数据库系统的访问。通过运行以下命令启动交互式脚本:

sudo mysql_secure_installation

提示将询问您当前的 root 密码。由于您刚刚安装了 MySQL,您很可能不会安装 MySQL,因此请按 Enter 将其留空。然后提示会询问您是否要设置root密码。继续输入 Y,然后按照说明进行操作:

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

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorization.

New password: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
 ... Success!

对于其余的问题,您只需在每个提示中按“ENTER”键即可接受默认值。这将删除一些示例用户和数据库,禁用远程 root 登录,并加载这些新规则,以便 MySQL 立即尊重我们所做的更改。

您要做的最后一件事是让 MariaDB 在启动时启动。使用以下命令执行此操作:

sudo systemctl enable mariadb.service

此时,您的数据库系统现已设置完毕,我们可以继续。

第三步 – 安装 PHP

PHP 是我们设置的组件,它将处理代码以显示动态内容。它可以运行脚本,连接到我们的 MySQL 数据库以获取信息,并将处理后的内容交给我们的 Web 服务器进行显示。

我们可以再次利用 yum系统来安装我们的组件。我们还将包含 php-mysql 包:

sudo yum install php php-mysql

这应该安装 PHP 没有任何问题。我们需要重新启动 Apache Web 服务器才能使其与 PHP 一起使用。您可以通过键入以下内容来执行此操作:

sudo systemctl restart httpd.service

安装 PHP 模块

为了增强 PHP 的功能,我们可以选择安装一些额外的模块。

要查看 PHP 模块和库的可用选项,您可以在系统中输入:

yum search php-

结果是您可以安装的所有可选组件。它会给你一个简短的描述:

php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-enchant.x86_64 : Enchant spelling extension for PHP applications
php-fpm.x86_64 : PHP FastCGI Process Manager
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
. . .

要获得有关每个模块功能的更多信息,您可以在互联网上搜索,也可以通过键入以下内容查看包中的详细说明:

yum info package_name

将有很多输出,其中一个字段被调用 Description,它将对模块提供的功能进行更长的解释。

例如,要了解 php-fpm模块的作用,我们可以输入:

yum info php-fpm

除了大量其他信息外,您还会发现如下所示的内容:

. . .
Summary     : PHP FastCGI Process Manager
URL         : http://www.php.net/
License     : PHP and Zend and BSD
Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI
            : implementation with some additional features useful for sites of
            : any size, especially busier sites.

如果经过研究,您决定要安装一个软件包,您可以 yum install像我们为其他软件所做的那样使用命令来安装。

如果我们决定这 php-fpm是我们需要的东西,我们可以输入:

sudo yum install php-fpm

如果你想安装多个模块,你可以按照 yum install命令列出每个模块,用空格分隔,如下所示:

sudo yum install package1 package2 ...

此时,您的 LAMP 堆栈已安装和配置。我们仍然应该测试我们的 PHP。

第四步 – 在您的 Web 服务器上测试 PHP 处理

为了测试我们的系统是否为 PHP 正确配置,我们可以创建一个非常基本的 PHP 脚本。

我们将调用此脚本 info.php。为了让 Apache 找到该文件并正确提供它,它必须保存到一个非常特定的目录中,该目录称为“Web 根目录”。

在 CentOS 7 中,此目录位于 /var/www/html/. 我们可以通过键入以下内容在该位置创建文件:

sudo vi /var/www/html/info.php

这将打开一个空白文件。我们想将以下文本(有效的 PHP 代码)放入文件中:

<?php phpinfo(); ?>

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

如果您正在运行防火墙,请运行以下命令以允许 HTTP 和 HTTPS 流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

现在我们可以测试我们的 Web 服务器是否可以正确显示由 PHP 脚本生成的内容。要尝试这个,我们只需要在我们的网络浏览器中访问这个页面。您将再次需要服务器的公共 IP 地址。

您要访问的地址将是:

http://your_server_IP_address/info.php

您访问的页面应如下所示:

PHP

此页面基本上从 PHP 的角度为您提供有关您的服务器的信息。它对于调试和确保正确应用您的设置很有用。

如果这成功了,那么您的 PHP 将按预期工作。

您可能希望在此测试后删除此文件,因为它实际上可能会将有关您的服务器的信息提供给未经授权的用户。为此,您可以键入:

sudo rm /var/www/html/info.php

如果您稍后需要再次访问该信息,您可以随时重新创建此页面。

结论

现在您已经安装了 LAMP 堆栈,接下来您有很多选择。基本上,您已经安装了一个平台,可以让您在服务器上安装大多数类型的网站和网络软件。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论(1)