网站搜索

如何使用 LAMP + Postfix 设置 WordPress 作为 VPS 服务器上的仅发送邮件通知


您可能已经知道 WordPress 是什么:一个基于 PHP 和 MySQL 的免费开源博客工具和内容管理系统 (CMS)。其官方网站以文字游戏的形式宣称,它既免费又无价。

在其显着特征中,安装和主题之间切换(外观和感觉)的可能性非常突出。此外,数百个可用插件使您可以在网站上执行几乎所有操作。

作为一个强大的博客工具,WordPress 允许您的访问者对帖子发表评论,从而参与(希望丰富)有关其中所呈现主题的对话。为此,它包含一个消息传递组件,当读者对作者的帖子发表评论时,该组件会向作者发送通知。

此外,当您订阅帖子时(无论您是作者还是读者),您可以选择在有人评论时收到通知。

如果您购买了共享主机包,则必须已经为您设置和配置了 WordPress 所依赖的邮件服务(顺便说一句,大多数共享主机提供商都提供 WordPress 的一键安装)。

建议阅读: 7 家最佳网站托管公司

但是,如果您使用 VPS 并想要安装和使用 WordPress,则必须设置和配置邮件服务器(Postfix 或其他),以允许 WordPress 发送通知。

在这篇文章中,我们将解释如何在云 VPS 上设置完整的 LAMP 服务器以及如何将 WordPressPostfix 集成。我们强烈建议您在寻找托管提供商时考虑我们的合作伙伴之一(请随时在此处查看我们对其服务和计划的评论)。

先决条件

为了让您的 WordPress 成功发送通知,您需要确保满足以下要求:

步骤1:为WordPress设置DNS MX和A记录

1. 随着LAMP堆栈的安装,您需要添加必要的DNS MXA您的邮件服务器和域的记录。

如果您需要帮助来执行此操作,请查看本指南中的 MX 部分并参阅 DNS 管理器概述,然后再继续。

尽管这些链接解释了如何为 Linode VPS 设置 DNS 记录,但对于其他提供商来说应该没有显着差异。

步骤 2:在 Linux 中安装适用于 WordPress 的 LAMP Stack

2. 设置完整的LAMP (LinuxApacheMySQL/MariaDBPHP)堆栈。

以下是在两个主要发行版系列中执行此操作的说明:

  1. 在 RHEL/CentOS 7.0 上安装 LAMP
  2. 在 Fedora 24 服务器上安装 LAMP
  3. 在 Fedora 23 服务器上安装 LAMP
  4. 在 Ubuntu 16.04(及更高版本)上安装 LAMP
  5. 在 Ubuntu 15.04(及更高版本)上安装 LAMP

第 3 步:为 WordPress 创建数据库

3. 使用您选择的名称和 WordPress 使用的帐户创建一个数据库。稍后您将需要此信息来编辑 WordPress 配置文件。

使用您在执行上面的 mysql_secure_installation 脚本时选择的 root 密码登录到 MySQL/MariaDB 提示符灯安装步骤:


mysql -u root -p
[Enter password here]

MariaDB [(none)]> CREATE DATABASE wp_myblog;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wp_myblog.* TO 'your_username_here'@'localhost' IDENTIFIED BY 'your_chosen_password_here';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

完成上面列出的先决条件的前三个步骤后,我们就可以继续安装和配置 WordPress

第 4 步:安装和配置 WordPress

4. 下载并解压最新的 WordPress tarball。


wget http://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
cd wordpress

5.WordPress 目录中,将现有的 wp-config-sample.php 重命名为 wp-config.php


mv wp-config-sample.php wp-config.php

然后使用 MySQL 设置部分下的数据库信息更新它(请参阅下图中突出显示的框):


// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'database_name_here');

/** MySQL database username */
define('DB_USER', 'username_here');

/** MySQL database password */
define('DB_PASSWORD', 'password_here');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');

上述设置说明:

  1. DB_NAME:您为 WordPress 创建的数据库的名称 (wp_myblog)。
  2. DB_USER:DB_NAME 的用户名 (your_username_here)。
  3. DB_PASSWORD:您为 DB_USER 选择的密码(your_password_here)。
  4. DB_HOST:主机名(通常是localhost)。
  5. DB_CHARSET:数据库字符集,通常不应更改。
  6. DB_COLLATE:数据库排序规则通常应留空。

6. 将 wordpress 目录移动到 Web 服务器的根目录(如果您计划设置其他虚拟主机,则移动到子目录)。

在此示例中,我们将把 wordpress 移动到 /var/www/html/wp (Apache DocumentRoot 内的子目录):


mv wordpress /var/www/html/wp

7. 在浏览器中打开 http:///wp/wp-admin/install.php 并填写所需的屏幕信息(其中 < ip> 是您服务器的 IP 地址):

  1. 网站标题
  2. 用户名
  3. 密码,两次
  4. 管理员电子邮件
  5. 点击“安装 WordPress

如果安装成功,会显示如下页面:

现在,您可以单击登录,使用您在同一步骤中选择的凭据登录 WordPress 控制面板。

第 5 步:设置 Postfix 发送 WordPress 通知

此时,您已经拥有一个功能正常的 LAMP 环境和 WordPress。为了允许 WordPress 通过我们自己的邮件服务器发送通知,我们需要安装 Postfix 并将其配置为空客户端。

这意味着我们将仅使用 Postfix 邮件服务来发送 WordPress 电子邮件通知邮件。根据您选择的发行版,按照这些文章中给出的说明进行操作:

在 Ubuntu 和 Debian 中安装 Postfix


----------- On Ubuntu and Debian systems -----------
apt-get update && sudo apt-get install postfix

当系统要求您配置邮件服务器时,请选择:

  1. 邮件配置类型:互联网站点
  2. 系统邮件名称:yourdomain.com

在 CentOS、RHEL 和 Fedora 中安装 Postfix


----------- On CentOS, RHEL and Fedora systems -----------
yum update && yum install postfix

无论您使用哪个发行版,都可以使用以下值编辑 /etc/postfix/main.cf


mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only

有关上述设置的详细信息,您可能需要参考 Postfix 官方文档。

现在继续写一篇虚拟帖子。然后使用底部的表单添加评论。作为作者,您应该立即开始接收通知。

常见安装陷阱及解决方案

安装WordPress后,您可能会遇到以下问题。没什么大不了的——只需按照概述的说明来修复它们即可:

1. 如果您在浏览 http:///wp 时看到的是目录列表而不是网页,这很可能意味着网络服务器需要默认情况下被告知读取 index.php 文件。

完成此任务的最简单方法是在安装目录中创建一个包含以下内容的 .htaccess 文件:


echo 'DirectoryIndex index.php' > /var/www/html/wp/.htaccess

2. 如果您看到 php 标签(<?php 和/或 ?>)在网页中显示为纯文本,则 PHP 不是好好工作。确保您的 PHP 版本满足要求 (>v5.2.4):


php -v

3. 尝试打开 index.php 文件时出现的任何其他错误(包括但不限于“标头已发送”)可能是由存在的任何字符(包括空格)引起的) 在 wp-config.php 文件中的 PHP 开始标记 (<?php) 之前或结束标记 (?>) 之后您在上面的第 5 步中进行了配置。

概括

在本文中,我们解释了如何在 UbuntuCentOS 上设置 LAMP 堆栈后安装 WordPress

如果您已按照前面的说明正确设置了您的域的 DNS 记录,您应该立即开始接收评论通知。如果没有,请检查邮件服务器日志(CentOSCentOS 中的 /var/log/maillog/var/log/mail.log >Ubuntu,分别)并使用下面的评论表回复我们。

我们非常乐意查看并回答您的任何问题。