EC2搭建Wordpress网站

原文:https://www.lalapodo.com/lalapodoblog/14

实验步骤
控制台启动实例

  • 安全组添加 SSH
  • 安全组添加 HTTP
  • 安全组添加 HTTS
  • SSH 进入 EC2 实例

 


 

先决条件
安装 LAMP Web 服务器

  • 要确保所有程序都是最新的,请运行以下命令:
  sudo yum update -y
  • 下一步是获取最新版本的MariaDB(MySQL的社区开发的分支)和PHP。运行以下命令以同时安装它们

 

sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
  • 现在让我们安装Apache服务器和MariaDB
  sudo yum install -y httpd mariadb-server
  • 启动 Apache 服务器
  sudo systemctl start httpd
  • 我们还可以在每次使用以下命令引导实例时使apache服务器自动启动
  sudo systemctl enable httpd
  • 使用以下命令测试Apache服务器是否启用
  sudo systemctl is-enabled httpd
  • 现在是时候测试 Apache 服务器的示例测试页是否正在运行了。
  • 复制您的EC2公共IPv4地址,然后在浏览器中输入并按回车键。如果您看到下面的测试页面,则表示Apache服务器已成功安装

 

 

 

 

 

 

  • 如果测试页未打开,则您在安装和启动 Apache 服务器时犯了一些错误。请正确检查上述步骤,然后再次执行

 

设置权限和 LAMP 服务器

  • 接下来的步骤是设置文件权限
  • 将用户(ec2-user)添加到 apache 组
  sudo usermod -a -G apache ec2-user
  • 注销并重新登录以验证新组的成员身份
  . 执行注销命令或关闭窗口
    exit
  . 再次 SSH 进入实例
  . 要验证成员身份,请输入以下命令
    groups
  • 现在将 /var/www 的组所有权及其内部内容更改为 apache 组:
  sudo chown -R ec2-user:apache /var/www
  • 添加组写入权限,请在将来的子目录上设置组 ID,并更改 /var/www 及其子目录的目录权限
sudo chmod 2775 /var/www && find /var/www -type d -exec sudo chmod 2775 {} \;
  • 添加组写入权限,请以递归方式更改 /var/www 及其子目录的文件权限:

find /var/www -type f -exec sudo chmod 0664 {} \;
  • 现在,EC2 用户(以及 apache 组的任何未来成员)可以在 Apache 文档的根目录中添加、删除和编辑文件。这允许您添加静态网站或PHP应用程序等内容。
  • 现在让我们测试 LAMP 服务器
  • 我们将在Apache文档的根目录中创建一个PHP文件。这将成为我们的主页,以测试一切是否按预期工作
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
  • 测试示例 PHP 页面,请在浏览器中打开一个选项卡,然后在公共 IPv4 地址后输入"/phpinfo.php" ,如下图所示。

 

 

 

 

  • 现在我们已经测试了示例站点,我们可以删除phpinfo.php文件
  • 让我们删除 phpinfo.php 文件。我们只是用它来测试,出于安全原因,这些细节不应该在互联网上提供。
  rm /var/www/html/phpinfo.php

 

数据库服务器详细信息

  • 启动 MariaDB 服务器
  sudo systemctl start mariadb
  • 安装MySQL,请运行mysql_secure_installation
  sudo mysql_secure_installation
  • 详情
  . 当系统提示输入密码时,键入 root 帐户的密码。(默认情况下,root 帐户没有密码)。完成后按 Enter 键。
  . 键入 Y 以设置密码,然后重新键入密码以进行确认。
  . . 注意:记下您设置的新密码,因为将来会用到它。
  . 键入 Y 以删除匿名用户帐户。
  . 键入 Y 以禁用远程根登录。
  . 键入 Y 以删除测试数据库。
  . 键入 Y 以重新加载权限表并保存更改。

 

 

 

 

 

  • 可选:我们还可以使 MariaDB 服务器在每次启动时启动。如果要启用此功能,请键入以下命令:

 

  sudo systemctl enable mariadb

 

安装用于使用phpMyAdmin处理MySQL的Web管理

  • 让我们安装所需的依赖项
  sudo yum install php-mbstring php-xml -y
  • 重新启动 Apache 服务器
  sudo systemctl restart httpd
  • 我们还需要重新启动php-fpm
  sudo systemctl restart php-fpm
  • 导航到 Apache 文档的根目录 /var/www/html
  cd /var/www/html
  • 我们必须为phpMyAdmin版本选择一个最新的源码包。要将文件直接下载到您的实例,请复制链接并将其粘贴到 wget 命令中,如下所示
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
  • 创建一个phpMyAdmin文件夹,并使用以下命令将包解压缩到其中
mkdir phpMyAdmin && tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1
  • 删除 phpMyAdmin-latest-all-languages.tar.gz
  rm phpMyAdmin-latest-all-languages.tar.gz
  • 运行以下命令以确保MySQL正在运行
  sudo systemctl start mariadb
  • 在 Web 浏览器中,键入以下 URL 以查看 php 管理页面
  http://yourIPAddress/phpMyAdmin
  • 使用您的root用户名和我们之前创建的MySQL密码登录您的phpMyAdmin安装

 

 

 

 

 

  • 使用root凭据登录后,它将如下所示

 

 

 

 

 


 

安装WordPress

  • 返回到终端和 SSH 进入实例。(如果您位于 var/www/html 中,请使用 cd 命令转到父目录)
  cd ~
  • 下载并解压缩WordPress安装包。要使用wget下载最新的WordPress安装包,请使用以下命令始终下载最新版本
  wget https://wordpress.org/latest.tar.gz
  • 解压缩和取消存档安装包。安装文件夹解压缩到一个名为 wordpress 的文件夹中
  tar -xzf latest.tar.gz
  • 让我们为WordPress安装创建数据库用户和数据库
  • WordPress需要将博客文章和用户评论等信息存储在数据库中。以下过程有助于我们创建博客的数据库以及有权读取和保存信息的用户。
  • 启动数据库服务器以确保MySQL正在运行
  sudo systemctl start mariadb
  • 以 root 用户身份登录到数据库服务器。出现提示时,输入数据库 root 密码
  mysql -u root -p

 

 

 

 

 

  • 我们将为MySQL数据库创建用户和密码。WordPress使用这些值与MySQL数据库进行通信。输入以下内容以创建唯一的用户名和密码
CREATE USER 'wordpress-user'@'localhost' IDENTIFIED BY '123';
  • 注意:请务必记下用户名和密码,因为将来会使用
  • 接下来,我们将创建一个数据库。确保为数据库指定一个描述性的、有意义的名称(如 wordpress-db)。
  CREATE DATABASE `wordpress-db`;
  • 注: 以下命令中数据库名称周围的标点符号称为反引号。反引号 (`) 键通常位于标准键盘上的 Tab 键上方
  • 请务必记下数据库名称
  • 我们必须将数据库的完全权限授予我们之前创建的WordPress用户。
GRANT ALL PRIVILEGES ON `wordpress-db`.* TO "wordpress-user"@"localhost";
  • 我们必须刷新数据库权限才能获取所有更改。
  FLUSH PRIVILEGES;
  • 最后,我们将退出 mysql 客户端
  exit

 

创建和编辑WordPress配置文件

  • WordPress 安装文件夹包含一个名为 wp-config-sample.php 的示例配置文件。让我们复制此文件并对其进行编辑以适合我们的特定配置
  • 将 wp-config-sample.php 文件的内容复制到名为 wp-config.php 的新文件中。这将创建一个新的配置文件,并保持原始示例文件不变作为备份
cp wordpress/wp-config-sample.php wordpress/wp-config.php
  • 我们可以使用名为 nano 的文本编辑器编辑 wp-config.php 文件。要在 nano 中打开新的配置文件
  nano wordpress/wp-config.php
  • 找到定义DB_NAME的行,并将database_name_here更改为我们创建的数据库名称。这将为WordPress安装创建数据库用户和数据库
  define('DB_NAME', 'wordpress-db');
  • 接下来,让我们找到定义DB_USER的行,并将username_here更改为我们创建的数据库用户。这将为您的WordPress安装创建数据库用户和数据库
  define('DB_USER', 'wordpress-user');
  • 找到定义DB_PASSWORD的行,并将password_here更改为我们创建的密码。这将为您的WordPress安装创建数据库用户和数据库
  define('DB_PASSWORD', '123');
  • 让我们导航到名为"Authentication Unique Keys and Salts"的部分
  • 这些KEY和SALT值为WordPress用户存储在其本地计算机上的浏览器cookie提供了一层加密。基本上,在这里添加长而随机的值会使您的网站更安全
  • 转到 生产随机值网站 随机生成一组键值,您可以将这些键值复制并粘贴到 wp-config.php 文件中

 

 

 

 

 

  • 保存文件并退出文本编辑器
  • 现在我们已经解压缩了安装文件夹,创建了MySQL数据库和用户,并自定义了WordPress配置文件,我们准备将安装文件复制到Web服务器的根目录,以便我们可以运行完成安装的安装脚本。
  • 将文件复制到根目录
  cp -r wordpress/* /var/www/html/

 

为WordPress提供使用永久链接的权限

  • Wordpress需要Apache的.htaccess文件的权限才能使用permalink,但是,默认情况下在Amazon Linux上不启用此功能
  • 我们需要允许Apache文档根目录中的所有覆盖。为此,我们需要编辑 httpd.conf 文件
  sudo nano /etc/httpd/conf/httpd.conf
  • 找到以<Directory "/var/www/html">开头的部分
  将行为更改为"AllowOverride All"

 

 

 

 

 

  • 保存文件并退出文本编辑器
  • 接下来,我们将安装 PHP 图形绘图库
  • PHP 的 GD 库允许您修改图像。如果您需要裁剪博客的标题图像,请安装此库
  sudo yum install php-gd
  • 接下来,我们将为 Apache Web 服务器提供文件权限。应用以下组成员身份和权限(如设置权限和 LAMP 服务器中所述)。
  • 我们必须将 /var/www 及其内容的文件所有权授予 apache 用户
  sudo chown -R apache /var/www
  • 接下来,将 /var/www 及其内容的组所有权授予 Apache 组
  sudo chgrp -R apache /var/www
  • 我们必须更改 /var/www 及其子目录的目录权限,以添加组写入权限,并在将来的子目录中设置组 ID
sudo chmod 2775 /var/www   
find /var/www -type d -exec sudo chmod 2775 {} \;   注意: 等待,直到执行命令运行结束并返回命令提示符。
  • 以递归方式更改 /var/www 及其子目录的文件权限以添加组写入权限
find /var/www -type f -exec sudo chmod 0664 {} \;   注意: 等待,直到执行命令运行结束并返回命令提示符。
  • 重新启动 Apache Web 服务器以选取新的组和权限。
  sudo systemctl restart httpd

 

运行WordPress安装脚本

  • 现在我们终于准备好安装WordPress了
  • 我们将使用 systemctl 命令来确保 httpd 和数据库服务在每次系统引导时启动(如果尚未启动)。
sudo systemctl enable httpd && sudo systemctl enable mariadb
  • 我们必须验证数据库服务器是否正在运行。
  sudo systemctl status mariadb
  • 如果数据库服务未运行,请启动它。
  sudo systemctl start mariadb
  • 还要验证您的 Apache Web 服务器 (httpd) 是否正在运行
  sudo systemctl status httpd
  • 如果 httpd 服务未运行,请启动它。
  sudo systemctl start httpd
  • 在 Web 浏览器中,键入以下 URL 以查看 php 管理页面
  http://YourIPAddress/
  • 您应该看到WordPress安装脚本页面。提供WordPress安装所需的信息。选择继续完成安装

 

 

 

 

 

 

 

 

 

 

 

 

  • 安装Wordpress后,单击下一页上的登录按钮

 

 

 

 

 

  • 输入用户名登录密码

 

 

 

 

  • 您将看到Wordpress的管理页面点击查看站点

 

 

 

 

  • 在这里,您将看到我们创建的网站

 

 

 

 

  • 这样就完成了创建您自己的Wordpress网站
posted @ 2023-02-08 13:29  warrenlucky  阅读(181)  评论(0)    收藏  举报