> **本文作者韩旭**
>
> 北京西云数据科技有限公司亚马逊云科技技术支持
>
> 亚马逊云科技云博主
### **什么是 LAMP**
**LAMP 是一套广泛使用的开源软件堆栈,主要用于网站和网络应用程序的开发与部署**。LAMP 是由四个核心组件的首字母缩写组成的,它们分别是:
* **Linux**:操作系统层,LAMP 通常部署在 Linux 操作系统上,但也可以使用其他类似 Unix 的操作系统。
* **Apache**:Web 服务器,用于处理网站的请求与响应。Apache 是一款非常流行的开源网络服务器。
* **MySQL**:数据库系统,负责存储和检索网站数据。目前,MariaDB 常作为 MySQL 的替代品使用。
* **PHP**:脚本语言,用于生成动态网页内容。除 PHP 外,Perl 或 Python 也常被用于此层。
### **LAMP 的安装**
一般情况下,LAMP 的安装步骤是先在 Linux 上分别安装 Apache、MySQL 和 PHP。
1. **打开 Amazon Linux 2 实例的终端,并更新软件包列表**:sudo yum update -y
2. **安装 Apache**:sudo yum install httpd -y
3. **安装 MySQL**:sudo yum install mysql-server -y
4. **安装 PHP**:sudo yum install php -y
5. **启动 Apache 和 MySQL 服务**:sudo systemctl start httpd 和 sudo systemctl start mysqld
6. **设置 Apache 和 MySQL 服务开机自启**:sudo systemctl enable httpd 和 sudo systemctl enable mysqld
在使用亚马逊云科技服务时,可以选择使用托管的 RDS MySQL,这样无需在 [Amazon EC2 ](https://aws.amazon.com/cn/ec2/?trk=cndc-detail)上安装数据库。
#### **步骤1:更新和安装软件包**
* 更新软件包列表并安装 PHP 8.2
* 安装 Apache HTTP 服务器
```js
sudo yum update -y
sudo amazon-linux-extras install php8.2
sudo yum install -y httpd
```
#### **步骤2:配置 Apache**
- 启动 Apache 服务
- 设置 Apache 服务开机自启
- 检查 Apache 服务状态
- 将 ec2-user 添加到 Apache 用户组
- 更改 /var/www 目录的权限
```js
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl is-enabled httpd
sudo usermod -a -G apache ec2-user
sudo chown -R ec2-user:apache /var/www
```
使用 IP 地址访问 Apache 的默认页面,确认 Apache 服务是否正常运行:
**测试 PHP**
创建一个简单的 PHP 测试页面,验证 PHP 是否通过 Apache 渲染:
```js
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
```
访问并确认页面内容后,删除测试文件:
```js
rm /var/www/html/phpinfo.php
```
![image.png](https://dev-media.amazoncloud.cn/fe23f0b42eeb44dea372ad4694283eb1_image.png "image.png")
#### **步骤3:配置 SSL**
- 安装 mod_ssl 模块
- 创建虚拟 SSL 证书
- 重启 Apache 服务
```js
sudo yum install -y mod_ssl
cd /etc/pki/tls/certs
sudo ./make-dummy-cert localhost.crt
sudo systemctl restart httpd
```
由于证书是自签名的,未被 CA 机构信任,浏览器会提示安全警告。在测试时可以忽略此警告。
![image.png](https://dev-media.amazoncloud.cn/1316a64c486545b0a2893e29cd8c4792_image.png "image.png")
在浏览器中可以查看自签名证书的信息。
![image.png](https://dev-media.amazoncloud.cn/38a557f049c2431e91cc8b78563efac9_image.png "image.png")
#### **步骤4:配置数据库**
**在亚马逊云科技控制台中创建 RDS MySQL 实例**,并设置用户名和密码:
使用 **telnet** 和 **dig** 命令测试数据库连接并验证数据库主机名:
```js
sudo yum install telnet -y
telnet database-1.cpa1onesgnhw.rds.cn-north-1.amazonaws.com.cn 3306
dig database-1.cpa1onesgnhw.rds.cn-north-1.amazonaws.com.cn
```
使用 DBeaver 连接数据库,创建一个新的数据库,该信息将用于 WordPress 的配置文件中:
![image.png](https://dev-media.amazoncloud.cn/ea4ac164901f4c45a81d1667b299d2c1_image.png "image.png")
#### **步骤5:配置 WordPress**
- 下载并解压 WordPress 软件包
- 创建新目录以存储 WordPress 文件
- 配置 WordPress 配置文件
- 复制 WordPress 文件到 Apache 文档根目录
```js
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
cp wordpress/wp-config-sample.php wordpress/wp-config.php
vim wordpress/wp-config.php
cp -r wordpress/* /var/www/html/
```
在 wp-config.php 文件中填写数据库的配置信息:
```js
define( 'DB_NAME', 'WP' );
/** 数据库用户名 */
define( 'DB_USER', 'username' );
/** 数据库密码 */
define( 'DB_PASSWORD', 'password' );
/** 数据库主机名 */
define( 'DB_HOST', 'myrdsURL' );
```
**效果展示**
使用 https://IP 地址访问 WordPress 的配置界面:
最后,成功访问并展示 WordPress 首页:
![image.png](https://dev-media.amazoncloud.cn/3e5019bad77942a3abb2a2af5aecf755_image.png "image.png")
### **总结**
通过以上步骤,您已经成功**在 Amazon Linux 2 上部署了 LAMP 堆栈,并配置了一个运行在 RDS MySQL 数据库上的 WordPress 网站**。LAMP 堆栈凭借其稳定性和开源特性,成为构建和运行动态网站与应用程序的强大工具。**借助亚马逊云科技的基础设施和服务,LAMP 的部署和管理变得更加灵活和高效**。无论是为个人项目还是企业应用,LAMP 都能为您的开发需求提供坚实的基础。
![image.png](https://dev-media.amazoncloud.cn/9c6035bdd8904121993baf4e3ccd995c_image.png "image.png")