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

创建EC2实例,在安全组添加HTTP(80)规则

步骤 1:准备 LAMP 服务器

1、使用putty连接到你的EC2实例上(AMI 为 Amazon Linux2)

2、检查系统更新:

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

3、安装 lamp-mariadb10.2-php7.2 和 php7.2 Amazon LinuxExtras 存储库:

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

4、安装 Apache Web 服务器、MariaDB 和 PHP 软件包:

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

5、开启httpd服务

[ec2-user ~]$ sudo systemctl start httpd

6、设置apache http服务开机启动:

[ec2-user ~]$ sudo systemctl enable httpd

7、查看http服务状态:

[ec2-user ~]$ sudo systemctl status httpd

8、验证:

在浏览器中键入EC2实例的IP地址

出现如下界面,即启动http服务成功:

9、修改Apache服务的权限:(root用户可跳过)

Amazon Linux Apache 文档根目录为 /var/www/html,默认情况下归根用户所有。

①设置文件权限,将ec2-user添加到apache中:

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

②退出并重新登陆,再验证成员资格:

[ec2-user ~]$ exit

③重新连接实例,运行以下命令:

[ec2-user ~]$ groups

以下为反馈内容:

ec2-user adm wheel apache systemd-journal

④将 /var/www 及其内容的组所有权更改到 apache 组:

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

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

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

⑥添加组写入权限,递归地更改 /var/www 及其子目录的文件权限:

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

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

(root用户可跳过以上步骤)

步骤 2:测试 LAMP 服务器

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

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

2、在浏览器中键入ec2的IP地址进行验证:

http://ip-adress/phpinfo.php

你会看到如下信息:

3、删除 phpinfo.php 文件:

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

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

1、启动 MariaDB 服务器:

[ec2-user ~]$ sudo systemctl start mariadb

2、运行MariaDB初始化向导:

[ec2-user ~]$ sudo mysql_secure_installation

A、键入当前根密码。默认情况下,根账户没有设置密码。按 Enter。

B、键入 Y 设置密码,然后键入两次安全密码。

C、键入 Y 删除匿名用户账户。

D、键入 Y 禁用远程根登录。

E、键入 Y 删除测试数据库。

F、键入 Y 重新加载权限表并保存您的更改。

步骤 4:(可选) 安装 phpMyAdmin

安装PHP:

1、安装PHP依赖服务:

[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 发行版的源软件包:

[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 ##请根据实际情况修改包名

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

8、在浏览器中键入EC2实例的IP地址进行验证:

http://ip-adress/phpMyAdmin



9、使用您先前创建的 root 用户名和 MySQL 根密码登录到 phpMyAdmin 安装

AWS之EC2实例搭建LAMP服务器的更多相关文章

  1. AWS的EC2实例搭建服务器使用stackoverflow教程

    作为一个技术开发工程师, 一个给力的问题解决方案搜索引擎是十分必要的, stackoverflow作为一个码农必备神器, 存在访问不稳定,有时候打不开的问题,下面介绍如何在亚马逊云服务器上搭建属于自己 ...

  2. Ubuntu 搭建 LAMP 服务器

    /******************************************************************** * Ubuntu 搭建 LAMP 服务器 * 说明: * 想 ...

  3. Centos搭建 LAMP 服务器教程

    搭建 LAMP 服务 搭建 MySQL 数据库 安装 MySQL 使用 yum 安装 MySQL: yum install mysql-server -y 安装完成后,启动 MySQL 服务: ser ...

  4. 编译搭建Lamp服务器

    Lamp 是目前倍受欢迎的一种网站服务器.其主要有linux+apache+mysql+php 组成.由于其组成成员都是开源免费的产品,所以被作为中小型网站服务器的选择.LZ之前在学校学linux的时 ...

  5. aws申请ec2实例后如何用root用户登录

    ec2默认禁用root用户登录,我们创建ec2实例后如何知道使用什么用户登录,有两种方法? 方法一:根据我们选择的镜像来判断用什么用户登录:镜像:centos 用户centos镜像:aws 用户:ec ...

  6. AWS扩容EC2实例根空间

    文章原文 aws 端操作 先在EC2 实例中选中磁盘 然后打开跟设备 修改大小后保存 ec2 端操作 lsblk 查看当前设备的磁盘编号 df -T -H 查看扩容前的空间大小并确定磁盘格式 grow ...

  7. 关于aws的ec2实例导出成ova后在vmware中的网络配置不生效的问题

    在aws上的ec2实例,尤其是使用了aws市场中的ami创建的linux系统,默认情况下,网络配置都是通过dhcp自动获取的, 这周笔者将一台ec2实例(redhat/linux 8.3)导出/转换成 ...

  8. AWS系列-EC2实例添加磁盘

    注意:添加的磁盘,必须和挂载的实例是在同一可用区. 1.1 如下图,打开EC2控制台,打开卷,点击创建卷 1.2 选择磁盘配置 磁盘类型:如下图 磁盘大小:如图,最小500G,最大16T 可用区:注意 ...

  9. Centos7.2 搭建Lamp服务器以及迁移WordPress个人博客详细过程

    其实自己的博客搭了有段时间了,但是由于自己不太确定是不是一定要用wd的框架,以及实验室公网服务器的不稳定,就一直荒废着. 今天偶然间看到了腾讯云对于学生的优惠活动,毕业之前每月只要8元的云服务器(就算 ...

随机推荐

  1. Vue移动端报错[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive.

    解决方法如下 项目方案: 在最外侧添加样式操作 .

  2. luoguP2178 [NOI2015]品酒大会(后缀自动机)

    题意 承接上篇题解 考虑两个后缀的\(lcp\)是什么,是将串反着插入后缀自动机后两个前缀(终止节点)的\(lca\)!!!于是可以在parent tree上DP了. 比后缀数组又简单又好写跑的还快. ...

  3. POJ3662Telephone Lines(最短路+二分)

    传送门 题目大意:n个点p条边,每条边有权值,让1和n点联通,可以将联通1--n的边选k条免费, 求剩下边权的最大值. 题解:二分一个答案x,大于x的边权设为1,小于等于x的边权设为0,跑最短路. 若 ...

  4. 【2019.8.9 慈溪模拟赛 T2】摘Galo(b)(树上背包)

    树上背包 这应该是一道树上背包裸题吧. 众所周知,树上背包的朴素\(DP\)是\(O(nm^2)\)的. 但对于这种体积全为\(1\)的树上背包,我们可以通过记\(Size\)优化转移时的循环上界,做 ...

  5. Linux上error while loading shared libraries问题解决方法

    在Linux环境执行程序时经常会遇到提示程序依赖动态库.so文件不存在的情况,出现报错"error while loading shared libraries: XXXX.so.XX: c ...

  6. Office365激活方法(无需密钥)

    @echo off title Activate Office 365 ProPlus for FREE - MSGuides.com&cls&echo =============== ...

  7. 在macOS苹果电脑上安装Azure DevOps Server(TFS)代理

    1. 概述 MacOS是一套运行于苹果Macintosh系列电脑上的操作系统,是首个在商用领域成功的图形用户界面操作系统.Iphone应用软件的开发人员,都使用运行macOS的电脑或mini盒子进行软 ...

  8. Python连载26-shelve模块

    一.持久化 --shelve 持久化工具 (1)作用:类似字典,用kv对保存数据,存取方式类似于字典 (2)例子:通过一下案例创建了一个数据库,第二个程序我们读取了数据库 #使用shelve创建文件并 ...

  9. python-1-基础认识

    前言 将近2020年,python2即将不再更新,但是我们现在的python3也能非常受欢迎的!回顾一下2/3的区别: 1.python2 源码不标准,混乱,重复代码太多, 2.python3 统一 ...

  10. SpringBoot-@ControllerAdvice 拦截异常并统一处理

    SpringBoot是为了简化Spring应用的创建.运行.调试.部署等一系列问题而诞生的产物, 自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可 ...