(原文命令拷贝不过来,有点坑,我把这些命令放在一个文件里了commands ,其中有些不是命令,注意对照博文,供参考)

(后来找到处理办法:取消可视化编辑,打开文本编辑,就知道为什么粘贴不了了,因为多了<pre>的标签,但是命令都贴上来了,就将就看看吧)

重要

如果您尝试在Ubuntu或Red Hat Enterprise Linux实例上设置LAMP Web服务器,本教程将不适合您。有关其他发行版的更多信息,请参阅其特定文档。有关Ubuntu上的LAMP Web服务器的信息,请参阅Ubuntu社区文档ApacheMySQLPHP主题。

第1步:准备LAMP服务器

注意

以下过程将安装Amazon Linux 2上可用的最新PHP版本,目前为PHP 7.2。如果您计划使用本教程中描述的PHP应用程序以外的PHP应用程序,则应检查它们与PHP 7.2的兼容性。

准备LAMP服务器

  1. 连接到您的实例
  2. 要确保所有软件包都是最新的,请在您的实例上执行快速软件更新。此过程可能需要几分钟,但确保您拥有最新的安全更新和错误修复非常重要。该-y选项安装更新而不要求确认。如果要在安装之前检查更新,可以省略此选项。
     
  3. 安装lamp-mariadb10.2-php7.2和php7.2亚马逊的Linux Extras仓库拿到LAMP MariaDB的最新版本和PHP包亚马逊的Linux 2。
     

    注意

    如果您收到错误说明sudo: amazon-linux-extras: command not found,那么您的实例未使用Amazon Linux 2 AMI启动(可能您使用的是Amazon Linux AMI)。您可以使用以下命令查看您的Amazon Linux版本。

     

    要在Amazon Linux AMI上设置LAMP Web服务器,请参阅教程:使用Amazon Linux AMI安装LAMP Web服务器

  4. 现在您的实例是最新的,您可以安装Apache Web服务器,MariaDB和PHP软件包。使用yum install命令可以同时安装多个软件包和所有相关的依赖项。
     

    注意

    您可以使用以下命令查看这些软件包的当前版本:

     
  5. 启动Apache Web服务器。
     
  6. 使用systemctl命令将Apache Web服务器配置为在每次系统引导时启动。
     

    您可以通过运行以下命令来验证httpd是否已打开:

     
  7. 添加安全规则以允许入站HTTP(端口80)连接到您的实例(如果尚未这样做)。默认情况下, 在初始化期间为您的实例设置了启动向导N安全组。该组包含允许SSH连接的单个规则。
    • 类型:HTTP
    • 协议:TCP
    • 港口范围:80
    • 来源:自定义
    1. 通过以下网址打开Amazon EC2控制台: https://console.aws.amazon.com/ec2/
    2. 选择Instances并选择您的实例。
    3. 在“ 安全组”下,选择“ 查看入站规则”。
    4. 您应该在默认安全组中看到以下规则列表:
       

      使用向安全组添加规则中的过程,使用以下值添加新的入站安全规则:

       
  8. 测试您的Web服务器。在Web浏览器中,键入实例的公共DNS地址(或公共IP地址)。如果没有内容/var/www/html,您应该看到Apache测试页面。您可以使用Amazon EC2控制台获取实例的公共DNS(查看公共DNS列;如果隐藏此列,请选择 显示/隐藏列(齿轮形图标)并选择 公共DNS)。如果您无法看到Apache测试页,请检查您使用的安全组是否包含允许HTTP(端口80)流量的规则。有关向安全组添加HTTP规则的信息,请参阅安全组添加规则

    重要

    如果您不使用Amazon Linux,则可能还需要在实例上配置防火墙以允许这些连接。有关如何配置防火墙的详细信息,请参阅特定分发的文档。

     
  9.  Apache测试页面

Apache httpd提供保存在名为Apache文档根目录的文件中。Amazon Linux Apache文档根目录/var/www/html,默认情况下由root拥有。

要允许ec2-user帐户操作此目录中的文件,您必须修改目录的所有权和权限。有很多方法可以完成这项任务。在本教程中,您将添加ec2-user到apache组中,以授予 apache组/var/www目录的所有权并为该组分配写入权限。

设置文件权限

  1. 将您的用户(在本例中为ec2-user)添加到该apache组。
     
  2. 注销然后重新登录以获取新组,然后验证您的成员身份。
    1. 注销(使用exit命令或关闭终端窗口):
       
    2. 要验证apache组中的成员身份,请重新连接到您的实例,然后运行以下命令:
       
  3. 将组的所有权/var/www及其内容更改为apache组。
     
  4. 要添加组写入权限并在将来的子目录上设置组ID,请更改/var/www其子目录的目录权限。
     
  5. 要添加组写权限,请递归更改/var/www其子目录的文件权限 :
     

现在,ec2-user(以及该apache组的任何未来成员)可以在Apache文档根目录中添加,删除和编辑文件,使您能够添加内容,例如静态网站或PHP应用程序。

保护Web服务器(可选)

运行HTTP协议的Web服务器不会为其发送或接收的数据提供传输安全性。当您使用Web浏览器连接到HTTP服务器时,您访问的URL,您收到的网页内容以及您提交的任何HTML表单的内容(包括密码)都对网络路径上任何位置的窃听者都可见。保护Web服务器的最佳做法是安装HTTPS(HTTP Secure)支持,它使用SSL / TLS加密保护您的数据。

有关在服务器上启用HTTPS的信息,请参阅教程:在Amazon Linux上配置Apache Web服务器以使用SSL / TLS

第2步:测试您的LAMP服务器

如果您的服务器已安装并正在运行,并且您的文件权限设置正确,则您的ec2-user帐户应该能够/var/www/html在Internet上提供的目录中创建PHP文件 。

测试您的LAMP服务器

  1. 在Apache文档根目录中创建一个PHP文件。
     

    如果在尝试运行此命令时出现“权限被拒绝”错误,请尝试注销并重新登录以获取您在“设置文件权限”中配置的正确组权限

  2. 在Web浏览器中,键入刚刚创建的文件的URL。此URL是实例的公有DNS地址,后跟正斜杠和文件名。例如:
     

    您应该看到PHP信息页面:

     

    注意

    如果您没有看到此页面,请验证该 /var/www/html/phpinfo.php文件是否在上一步中正确创建。您还可以使用以下命令验证是否已安装所有必需的软件包。

     

    如果输出中未列出任何所需的软件包,请使用sudo yum install package命令安装它们。还要确认在amazon-linux-extras 命令的输出中启用了php7.2和lamp-mariadb10.2-php7.2附加功能。

  3. 删除phpinfo.php文件。虽然这可能是有用的信息,但出于安全原因,不应将其广播到互联网。
     

您现在应该拥有功能齐全的LAMP Web服务器。如果向Apache文档根目录添加内容,则/var/www/html应该能够在实例的公共DNS地址中查看该内容。

第3步:保护数据库服务器

MariaDB服务器的默认安装有几个非常适合测试和开发的功能,但应该为生产服务器禁用或删除它们。该mysql_secure_installation命令引导您设置root密码,并从你的安装中删除不安全功能的过程。即使您不打算使用MariaDB服务器,我们也建议您执行此过程。

保护MariaDB服务器

  1. 启动MariaDB服务器。
     
  2. 运行mysql_secure_installation。
     
    1. 输入当前的root密码。默认情况下,root帐户没有设置密码。按Enter键。
    2. 键入Y以设置密码,然后键入两次安全密码。有关创建安全密码的详细信息,请参阅https://identitysafe.norton.com/password-generator/。确保将此密码存储在安全的地方。

      注意

      为MariaDB设置root密码只是保护数据库的最基本措施。在构建或安装数据库驱动的应用程序时,通常会为该应用程序创建数据库服务用户,并避免将root帐户用于除数据库管理之外的任何其他操作。

    1. 出现提示时,键入root帐户的密码。
    2. 键入Y以删除匿名用户帐户。
    3. 键入Y以禁用远程root登录。
    4. 键入Y以删除测试数据库。
    5. 键入Y以重新加载权限表并保存更改。
  3. (可选)如果您不打算立即使用MariaDB服务器,请将其停止。您可以在需要时重新启动它。
     
  4. (可选)如果希望MariaDB服务器在每次启动时启动,请键入以下命令。
     

第4步:(可选)安装phpMyAdmin

phpMyAdmin是一个基于Web的数据库管理工具,可用于查看和编辑EC2实例上的MySQL数据库。按照以下步骤在phpMyAdminAmazon Linux实例上安装和配置。

重要

phpMyAdmin除非您在Apache中启用了SSL / TLS,否则我们不建议使用访问LAMP服务器; 否则,您的数据库管理员密码和其他数据将通过Internet不安全地传输。有关开发人员的安全建议,请参阅保护phpMyAdmin安装。有关在EC2实例上保护Web服务器的一般信息,请参阅教程:在Amazon Linux上配置Apache Web服务器以使用SSL / TLS

安装phpMyAdmin

  1. 安装所需的依赖项。
     
  2. 重启Apache。
     
  3. 重启php-fpm。
     
  4. 导航到Apache文档根目录/var/www/html。
     
  5. https://www.phpmyadmin.net/downloads中选择最新phpMyAdmin版本的源包。要将文件直接下载到您的实例,请复制该链接并将其粘贴到wget 命令中,如下例所示:
     
  6. phpMyAdmin使用以下命令创建文件夹并将包解压缩到其中。
     
  7. 删除phpMyAdmin-latest-all-languages.tar.gz tarball。
     
  8. (可选)如果MySQL服务器未运行,请立即启动它。
     
  9. 在Web浏览器中,键入phpMyAdmin安装的URL。此URL是实例的公共DNS地址(或公共IP地址),后跟正斜杠和安装目录的名称。例如:
     

    您应该看到phpMyAdmin登录页面:

     

  10. 使用root您之前创建的用户名和MySQL root密码登录到phpMyAdmin安装。在将其投入使用之前,仍必须配置您的安装。要配置phpMyAdmin,您可以手动创建配置文件使用安装控制台或组合这两种方法。有关使用phpMyAdmin的信息,请参阅phpMyAdmin用户指南

故障排除

本节提供了解决在设置新LAMP服务器时可能遇到的常见问题的建议。

我无法使用网络浏览器连接到我的服务器。

执行以下检查以查看Apache Web服务器是否正在运行且可访问。

  • Web服务器是否正在运行?您可以通过运行以下命令来验证httpd是否已打开:
     

    如果httpd进程未运行,请重复准备LAMP服务器中描述的步骤。

  • 防火墙是否正确配置?如果您无法看到Apache测试页,请检查您使用的安全组是否包含允许HTTP(端口80)流量的规则。有关向安全组添加HTTP规则的信息,请参阅安全组添加规则

原文地址:

https://www.blog-china.cn/blog/liuzaiqingshan/home/10/1537491606310