实验3 在Amazon Linux 2 上安装LAMP Web服务器

步骤1:准备LAMP 服务器

1.为确保所有软件包都处于最新状态,需要对实例执行快速软件更新。以确保我们拥有最新的安全更新和缺陷修复。参数选项-y 表示安装更新时不提示确认。如果需要在安装前检查更新内容,则可以忽略该选项。

[ec2-user ~]$ sudo yum update -y

2.安装lamp-mariadb10.2-php7.2和php7.2AmazonLinuxExtras存储库,以获取适用于Amazon Linux2的LAMPMariaDB和PHP程序包的最新版本

[ec2-user ~]$ sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2

  注意:如果提示sudo: amazon-linux-extras: command not found 的错误,是因为实例未与Amazon Linux 2 AMI 一起启动(可以改用Amazon Linux AMI)。使用以下命令查看Amazon Linux 的版本

cat /etc/system-release

3.实例处于最新状态后,便可以安装ApacheWeb服务器、MariaDB和PHP软件包。使用yum install 命令可同时安装多个软件包和所有相关依赖项

[ec2-user ~]$ sudo yum install -y httpd mariadb-server

  注意:使用以下命令可以查看这些程序包的当前版本:

yum info package_name

4.启动ApacheWeb服务器。

[ec2-user ~]$ sudo systemctl start httpd

5.使用systemctl命令可将ApacheWeb服务器配置为在每次系统启动时启动。

[ec2-user ~]$ sudo systemctl enable httpd

  可以通过运行以下命令验证httpd 是否已启用:

[ec2-user ~]$ sudo systemctl is-enabled httpd

6.如果无法启动ApacheWeb服务器,需要添加安全规则以允许实例的入站HTTP (端口80)连接。默认情况下,初始化时将设置launch-wizard-N安全组。此组包含一条允许SSH 连接的规则。

7.测试Web 服务器。在Web 浏览器中,键入实例的公有DNS地址(或公有IP 地址)。如果/var/www/html 中没有内容,应该会看到Apache测试页面。在这里插入图片描述
  如果未能看到Apache 测试页面,检查使用的安全组是否包含允许HTTP(端口80)流量的规则。如果使用的不是Amazon Linux,则还可能需要在实例上配置防火墙才能允许这些连接。
  Apache httpd 提供的文件保存在称为Apache 文档根目录的目录中。Amazon Linux Apache文档根为/var/www/html,默认情况下归根用户所有。
  要允许ec2-user 账户操作此目录中的文件,必须修改其所有权和权限。有多种方式可以完成此操作。这里将ec2-user 添加到apache 组,将/var/www 目录的所有权授予apache 组,并为该组指定写入权限。

设置文件权限
1.将用户(这里指ec2-user) 添加到apache。(usermod可用来修改用户帐号的各项设定。)

[ec2-user ~]$ sudo usermod -a -G apache ec2-user

2.先退出再重新登录以选取新组,然后验证成员资格。
  a.退出(使用exit命令或关闭终端窗口):

[ec2-user ~]$ exit

  b.要验证您是否为apache组的成员,请重新连接到实例,然后运行以下命令:

[ec2-user ~]$ groups 

在这里插入图片描述
3.将/var/www及其内容的组所有权以递回的方式更改到apache组。

[ec2-user ~]$ sudo chown -R ec2-user:apache /var/www

4.要添加组写入权限以及设置未来子目录上的组ID,请更改/var/www及其子目录的目录权限

[ec2-user ~]$ sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;

5.要添加组写入权限,我们需要递归地更改/var/www及其子目录的文件权限:(这里有点问题)

[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {}\;

这样,ec2-user (和apache 组的任何未来成员) 可以添加、删除和编辑Apache 文档根目录中的文件,允许添加内容,如静态网站或PHP 应用程序。

步骤2:测试LAMP 服务器

  如果服务器已安装并运行,且文件权限设置正确,则ec2-user 账户应该能够在/var/www/html 目录(可从Internet 访问) 中创建PHP 文件。
测试LAMP 服务器:
1.在Apache文档根目录中创建一个PHP文件。

[ec2-user ~]$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

  尝试运行该命令时,如果出现“Permission denied (权限被拒绝)”错误,请尝试先注销,再重新登录,以获取在设置文件权限中配置的适当组权限。
2.在Web浏览器中,键入刚刚创建的文件的实例的公有DNS地址,后接正斜杠和文件名。例如:

http://my.public.dns.amazonaws.com/phpinfo.php

在这里插入图片描述
注意:如果未看到此页面,请验证上一步中是否已正确创建/var/www/html/phpinfo.php 文件。还可以使用以下命令验证是否已经安装了所有必需的程序包。

[ec2-user ~]$ sudo yum list installed httpd mariadb-server php-mysqlnd

如果输出中未列出任何必需的程序包,请使用sudo yum install package 命令安装它们。另请验证在amazon-linux-extras命令的输出中启用了php7.2 和lamp-mariadb10.2-php7.2 Extras。
3.删除phpinfo.php文件。尽管此信息可能很有用,但出于安全考虑,不应将其传播到Internet。

[ec2-user ~]$ rm /var/www/html/phpinfo.php

现在就有了一个功能完善的LAMP Web 服务器。如果将内容添加到Apache 文档根目录(位于/var/www/html),就能够在该实例的公有DNS 地址中看到该内容。

步骤3:确保数据库服务器的安全

  MariaDB 服务器的默认安装提供有多种功能,这些功能对于测试和开发都很有帮助,但对于产品服务器,应禁用或删除这些功能。mysql_secure_installation 命令可引导您设置根密码并删除安装中的不安全功能。即使不打算使用MariaDB 服务器,也建议执行此步骤。保护MariaDB 服务器
1.启动MariaDB服务器。

[ec2-user ~]$ sudo systemctl start mariadb

2.运行mysql_secure_installation。

[ec2-user ~]$ sudo mysql_secure_installation

  a.在提示时,键入根账户的密码。
    i.键入当前根密码。默认情况下,根账户没有设置密码。按Enter。
    ii.键入Y设置密码,然后键入两次安全密码。有关创建安全密码的更多信息,请访问https://identitysafe.norton.com/password-generator/。确保将此密码存储在安全位置。注意设置MariaDB 根密码仅是保护数据库的最基本措施。在构建或安装数据库驱动的应用程序时,通常可以为该应用程序创建数据库服务用户,并避免使用根账户执行除数据库管理以外的操作。
  b.键入Y删除匿名用户账户。
  c.键入Y禁用远程根登录。
  d.键入Y删除测试数据库。
  e.键入Y重新加载权限表并保存您的更改。
3.(可选) 如果不打算立即使用MariaDB服务器,停止它。可以在需要时再次重新启动。

[ec2-user ~]$ sudo systemctl stop mariadb

4.(可选) 如果希望实例每次启动时MariaDB服务器都启动,请键入以下命令。

[ec2-user ~]$ sudo systemctl enable mariadb

步骤4:(可选) 安装phpMyAdmin

  phpMyAdmin是一种基于Web 的数据库管理工具,可用于在EC2 实例上查看和编辑MySQL数据库。按照下述步骤操作,在Amazon Linux 实例上安装和配置phpMyAdmin。
重要:
  除非在Apache 中启用了SSL/TLS,否则不建议使用phpMyAdmin访问LAMP 服务器;如果使用phpMyAdmin,数据库管理员密码和其他数据将无法安全地通过Internet 传输。

安装phpMyAdmin
1.安装所需的依赖项。

[ec2-user ~]$ sudo yum install php-mbstring -y

2.重启Apache。

[ec2-user ~]$ sudo systemctl restart httpd

3.重启php-fpm.

[ec2-user ~]$ sudo systemctl restart php-fpm

4.导航到位于/var/www/html的Apache文档根。

[ec2-user ~]$ cd /var/www/html

5.从https://www.phpmyadmin.net/downloads选择最新phpMyAdmin 发行版的源软件包。要将文件直接下载到您的实例,请复制链接并将其粘贴到wget命令,如本示例中所述:

[ec2-user html]$ wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

6.使用以下命令创建phpMyAdmin文件夹并将程序包提取到其中。

[ec2-user html]$ mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1

7.删除phpMyAdmin-latest-all-languages.tar.gz tarball。

[ec2-user html]$ rm phpMyAdmin-latest-all-languages.tar.gz

8.(可选) 如果MySQL服务器未运行,请立即启动它。

[ec2-user ~]$ sudo systemctl start mariadb

9.在Web浏览器中,键入phpMyAdmin安装的实例的公有DNS地址(或公有IP 地址),后接正斜杠和安装目录的名称。例如:

http://my.public.dns.amazonaws.com/phpMyAdmin

在这里插入图片描述
使用先前创建的根账户用户名root和根密码就可以登陆了。

本篇为学习过程记录笔记。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值