返回博客

使用 Ansible 在 Ubuntu 上安装和配置带有 LAMP 的 WordPress

使用 Ansible 在 Ubuntu 上安装和配置带有 LAMP 的 WordPress

介绍

我们总会遇到需要配置新服务器的时候。这可能是为了分担工作负载,或者仅仅是因为我们需要更多服务器。在设置新服务器时,用户需要利用服务器自动化来进行配置。这样做是为了尽量减少人工干预。Ansible 是可用于自动配置新服务器的配置管理工具之一,它能减少手动设置服务器时发生人为错误的可能性。

Ansible 是一款功能丰富且架构简单的工具。它通过脚本来简化服务器的配置。由于其简洁的架构,Ansible 不需要跨节点安装任何其他软件。

在本教程中,我们将向您展示如何使用 Ansible 自动安装在 Ubuntu 服务器上运行的、带有 LAMP 架构的 WordPress。 WordPress 是一个用于创建博客和网站的 CMS,它使用 PHP 作为编码语言,并使用 MySQL 数据库来存储数据。安装 WordPress 后,用户可以使用 Web 前端来管理该网站。

前提条件

Ansible Playbook 操作摘要

在本节中,我们将了解执行 Ansible Playbook 时它会执行哪些操作。此步骤是此处提供的手动设置的替代方案:如何在 Ubuntu 20.04 上使用 LAMP 安装 WordPress.

当我们运行 Playbook 时,Ansible 将:

  • 安装 aptitude ,这是首选的 Ansible 包管理器。
  • 安装并配置 PHP 扩展和 LAMP 软件包。
  • 创建一个新的 Apache VirtualHost ,用于 WordPress 网站。
  • 启用 mod_rewrite 模块,并禁用 Apache 提供的默认网站。
  • 设置 MySQL root 用户的密码。
  • 删除匿名 MySQL 账户和测试数据库。
  • 创建一个新用户和一个新数据库。这些将供 WordPress 网站使用。
  • 设置 UFW 以允许在配置的端口( 80 ,默认情况下)上的 HTTP 流量。
  • 下载并解压 WordPress。
  • 设置目录权限和所有权。
  • 配置一个新的 wp-config.php 文件(使用其模板)。

基于 LAMP 的 WordPress Ansible Playbook 指南

首先,我们必须从 do-community/ansible-playbooks 仓库中获取基于 LAMP 的 WordPress playbook 及其依赖项。我们将在 Ansible 控制节点内克隆此仓库。

您可以运行 git pull 命令,如下所示:

请确保您已拉取上述仓库的最新更新。这是在您之前已经克隆过该仓库的情况下。以下是获取更新的方法:

现在我们需要找到 wordpress-lamp_ubuntu 文件夹中的文件。该文件夹的名称可能会根据您使用的 Ubuntu 版本而有所不同。一目了然,您将在此目录中看到以下结构:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Dir Struc

让我们在下面总结一下这些文件的用途:

  • files/apache.conf.j2:Apache 使用 VirtualHost。此文件用于指定 VirtualHost.
  • files/wp-config.php.j2:此文件包含用于配置 WordPress 的设置。
  • vars/default.yml:它用于配置 playbook 设置。
  • playbook.yml:如果需要在远程服务器上执行任务,则使用此文件来配置这些任务。
  • readme.md:使用 playbook 的指南。

我们需要编辑 playbook 的变量文件以自定义安装。首先,打开 vars/default.yaml 文件,它位于上述目录中:

这个文件相当长。它有许多配置来帮助我们进行安装:

这里我们关注以下变量:

  • php_modules:一个包含应安装以支持 WordPress 设置的 PHP 扩展的数组。如果您想安装更多模块,可以在此处指定。
  • mysql_root_passwordroot MySQL 账户的密码。
  • mysql_db:这指定了 WordPress 将使用的 MySQL 数据库的名称。
  • mysql_user:应为 WordPress 创建的 MySQL 用户名。
  • mysql_password:新 MySQL 用户的密码。
  • http_host:服务器的域名或 IP。
  • http_conf:将在 Apache 中创建的配置文件名称。
  • http_port:此虚拟主机的 HTTP 端口。该端口用于访问网站。默认值为 80。

接下来,在上述文件中输入值并保存关闭。对于使用 nano 编辑器的用户,请按 CTRL+X, Y,然后按 ENTER.

现在您已准备好运行此 playbook。您可以在一台或多台服务器上运行此 playbook。如果您想在任何特定服务器上运行此 playbook,可以使用 -l 标志。此外,如果您需要指定连接到远程服务器的用户,请使用 -u 标志指定用户。

假设我们想在任意一台服务器 srvr1 上使用用户 u1 执行我们的 playbook,我们可以运行以下命令:

运行上述命令后,您将获得如下输出:

等待 playbook 执行完成。然后,在您的网页浏览器上导航到 server_name :

您将看到以下屏幕:

WP Page

接下来,选择您选择的语言并按 继续。您将看到下一个屏幕,提示输入一些详细信息以完成安装:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Set User Pass

之后,输入信息并按 安装 WordPress。 这需要一些时间,然后您将看到如下屏幕:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Install Success

选择 登录 以登录您的网站并配置设置:

Homepage

Ansible Playbook 内容

记住 wordpress-lamp_ubuntu 文件夹。它里面包含一些文件。让我们逐一查看它们:

●    vars/default.yml

此文件包含用于配置 WordPress 网站设置的值:

●    files/apache.conf.j2

此文件用于配置 Apache 虚拟主机:

●    files/wp-config.php.j2

此文件用于配置 WordPress。它包含由哈希函数生成的唯一密钥和盐:

●    playbook.yml

此文件包含此设置中定义的所有任务。它首先列出了此设置所针对的一组服务器。它包括 vars/default.yml 变量文件以加载配置选项:

您可以根据需要修改这些文件,以适应您正在构建的网站的具体需求。

结论

在本教程中,我们演示了如何使用 Ansible 自动安装和设置在最新 Ubuntu 操作系统上运行于 LAMP 架构的 WordPress 网站。

有关使用 Ansible 的更多指南,您可以查看以下教程,发布在我们的博客:

祝您使用愉快!

author

Preslav Dobrev

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。