如何在CentOS 7中安装Linux,Apache,MySQL和PHP(LAMP)

在本指南中,我们将得到安装在CentOS的VPS 7一的LAMP。 “LAMP”是通常安装在一起,使服务器可以托管动态网站和网络应用的一组开源软件。这个词其实是代表linux下的操作系统,Apache Web服务器的缩写。 站点数据存储在MySQL数据库(使用MariaDB),以及动态内容用PHP处理。

介绍

“LAMP”是一组开放源代码软件,通常安装在一起以使服务器能够托管动态网站和网络应用。这个词其实是代表linux下的操作系统,Apache Web服务器的缩写。 站点数据存储在MySQL数据库(使用MariaDB),以及动态内容用PHP处理。 在本指南中,我们将在CentOS 7 VPS上安装一个LAMP。 CentOS将满足我们的第一个需求:一个Linux操作系统。 注:LAMP可以自动在您的Droplet通过添加安装这个脚本启动时,它的用户数据。 查看本教程以了解更多有关Droplet的用户数据。

先决条件

在开始使用本指南之前,您应该在服务器上设置一个单独的非root用户帐户。你可以学习如何通过完成1-4的步骤做这个初始服务器设置为CentOS 7

第一步 - 安装Apache

Apache Web服务器是目前世界上最流行的Web服务器,这使它成为托管网站的一个伟大的默认选择。 我们可以很容易地使用CentOS的包管理器安装Apache, yum 。 包管理器允许我们从CentOS维护的存储库中安装大多数软件。 您可以了解更多关于如何使用yum在这里。 为了我们的目的,我们可以通过键入以下命令开始:
sudo yum install httpd
由于我们使用sudo命令,这些行动得到以root权限执行。它将要求您提供常规用户的密码以验证您的意图。 然后,安装您的Web服务器。 一旦安装,您可以在您的VPS上启动Apache:
sudo systemctl start httpd.service
您可以立即进行即时检查,以验证一切都按计划通过访问您的服务器的公共IP地址在您的网络浏览器:
http://your_server_IP_address/
您将看到默认的CentOS 7 Apache网页,用于信息和测试目的。它应该看起来像这样: Apache默认的CentOS 7 如果您看到此页面,那么您的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地址,您都可以在浏览器的地址栏中输入您的服务器。

第二步 - 安装MySQL(MariaDB)

现在我们已经开始运行Web服务器,现在是安装MariaDB的时候了,这是一个MySQL插件替换。 MariaDB是MySQL关系数据库管理系统的社区开发的分支。基本上,它将组织并提供对我们的网站可以存储信息的数据库的访问。 同样,我们可以使用yum获取并安装我们的软件。这一次,我们还将安装一些其他“帮助”包,这将帮助我们使我们的组件相互通信:
sudo yum install mariadb-server mariadb
安装完成后,我们需要使用以下命令启动MariaDB:
sudo systemctl start mariadb
现在我们的MySQL数据库正在运行,我们想运行一个简单的安全脚本,它将删除一些危险的默认值,并锁定我们的数据库系统的访问一点点。通过运行以下命令来启动交互式脚本:
sudo mysql_secure_installation
提示将要求您输入当前的root密码。因为你刚刚安装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”键接受默认值。这将删除一些示例用户和数据库,禁用远程根登录,并加载这些新规则,以便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
你来的页面应该看起来像这样: CentOS 7默认PHP信息 从PHP的角度来看,这个页面基本上提供了你的服务器的信息。它对于调试和确保您的设置正确应用非常有用。 如果这是成功的,那么你的PHP工作正常。 您可能想要在此测试后删除此文件,因为它实际上可能会向未经授权的用户提供有关您的服务器的信息。为此,您可以键入:
sudo rm /var/www/html/info.php
如果以后需要再次访问信息,您可以随时重新创建此页面。

结论

现在你已经安装了一个LAMP,下一步做什么你有许多选择。基本上,您已经安装了一个平台,将允许您在服务器上安装大多数类型的网站和Web软件。