如何在 Linux Apache MySQL 和PHP堆栈上安装 WordPress?
WordPress 是网络上常用的内容管理系统之一。它是用像 Apache 这样的PHP Web 服务器编写的,足以运行它。 WordPress 支持 MySQL 和 MariaDB,但 MySQL 被广泛使用。本教程将帮助您在 Linux 机器(可能是 VPS)上使用 LAMP(Linux、Apache、MySQL、 PHP)堆栈运行 WordPress。
先决条件:
- 一台 Linux 机器(这里使用 Ubuntu)
- 一个 sudo 用户帐户
- 一些基本的命令行经验
- 一点MySQL经验
本文假设您熟悉PHP、MySQL 和 WordPress。
安装PHP: PHP (超文本预处理器)是一种用于编写 WordPress 的语言。您可以使用以下命令安装PHP 。 libapache2-mod-php 和 php-mysql 是帮助PHP、 Apache 和 MySQL 顺利运行的库。
sudo apt install php libapache2-mod-php php-mysql
要验证您是否已成功安装PHP,请键入以下命令:
php -v
// output should look like below content
PHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
安装额外的PHP模块,如 Curl、XML、XMLRPC 以帮助简化 WordPress 的运行
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
安装和配置 Apache: Apache 是使用最广泛的 Web 服务器之一。 Apache2 是最新版本的网络服务器。您可以使用以下命令安装 Apache:
sudo apt install apache2
要验证您是否已成功安装 Apache,请键入以下命令
apache2 -v
// output
Server version: Apache/2.4.41 (Ubuntu)
我们将为 WordPress 配置 Apache 虚拟主机,我们将创建一个新的 conf 文件 wordpress。
sudo nano /etc/apache2/sites-available/wordpress.conf
使用下面的模板配置 .htaccess 文件,我们将在 /var/www/wordpress 中安装 WordPress,因此我们将其用作目录。
ServerName yourdomain.name
AllowOverride All
DirectoryIndex index.php
现在启用 Apache 重写模块并检查 Apache 配置语法。如果您正确使用了语法,您将获得正确的语法。
sudo a2enmod rewrite
sudo apache2ctl configtest
.
// output
Syntax OK
如果在 Syntax OK 之前出现如下错误,那完全没问题,因为我们使用的是 localhost。
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1. Set the ‘ServerName’ directive globally to suppress this message
安装和配置 MySQL: MySQL 是一种流行的开源关系数据库管理系统。要安装 MySQL,您可以运行以下命令,还可以验证 MySQL 是否安装成功。
sudo apt install mysql-server
mysql -V
// output
mysql Ver 8.0.25-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))
现在登录 MySQL 并更改 mysql-native-password
sudo mysql -u root
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘secure password’;
FLUSH PRIVILEGES;
EXIT;
现在使用 root 用户使用新密码登录 MySQL 并为 wordpress 创建一个新数据库
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
现在我们将创建一个新的 MySQL 用户并将对 WordPress 数据库的所有访问权限授予新的 wordpress 用户
mysql> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> CREATE USER ‘wordpressuser’@’%’ IDENTIFIED WITH mysql_native_password BY ‘secure password’;
mysql> GRANT ALL ON wordpress.* TO ‘wordpressuser’@’%’;
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
下载WordPress:如果你在Ubuntu上,可以直接使用APT安装,可以跳过这一步
sudo apt install wordpress
但我们将直接从 WordPress 存储库安装 WordPress
- 首先,我们将从其存储库下载 WordPress 最新版本(我们将其下载到一个临时文件夹中,以便下载的包和另一个有助于构建 WordPress 但在运行时无用的文件将在重新启动时自动删除)。
- 现在我们将解压 WordPress 包
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
现在我们将从示例配置创建 Apache .htaccess 文件和 WordPress 配置文件。我们还将创建一个名为“升级”的目录,以确保 WordPress 在尝试对其软件进行更新时不会遇到权限问题。
touch /tmp/wordpress/.htaccess
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
mkdir /tmp/wordpress/wp-content/upgrade
现在我们将解压后的 wordpress 目录复制到 /var/www 让 apache 运行
sudo cp -a /tmp/wordpress/. /var/www/wordpress
配置 WordPress:现在我们将调整 wordpress 文件和目录权限。 “www-data”用户和组是运行 Apache 网络服务器的用户,Apache 需要能够读取和写入 WordPress 文件才能为网站提供服务并执行自动更新。
- 我们需要给wordpress目录750权限,即当前用户(www-data)可以读、写和执行,组不能写,其他人不能读、写和执行。
- 我们需要给wordpress文件640权限,这意味着当前用户(www-data)可以读,写,组只能读,其他人不能读,写,执行。
sudo chown -R www-data:www-data /var/www/wordpress
sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;
现在我们将为我们的安装创建一些安全密钥,您可以向 WordPress API 发出请求,它会为您提供密钥,不要复制这些密钥确保您有自己的密钥
curl -s https://api.wordpress.org/secret-key/1.1/salt/
// the output will be similar to the one belowdefine(‘AUTH_KEY’, ‘:BiuKIi%W7
t)*FN.qf*q|+-W7}8f’);
define(‘SECURE_AUTH_KEY’, ‘7[Kh-{P#A~
define(‘LOGGED_IN_KEY’, ‘La{SEJ{$uI<6Txgv QqY4cxG]3+-r[Iqcx.IFxlfN.f/Yd?317zR*+Yt=*PMWM$(‘);
define(‘NONCE_KEY’, ‘U5pGQf.`J{.Hd~P/9Snw`V2+#
define(‘SECURE_AUTH_SALT’, ‘s5N%EIR(eM@tlg;M%L-+F#:<|r_x5-]Ix.&eYN)ya5ktoWLE+H~zUGkX#HceO/;H’);
define(‘LOGGED_IN_SALT’, ‘EGcaE`=DAh7lv*klFyV0VLy5<@af_*–3otD$3:^;z~C(f^JB[C0T;`yqE)2@y${‘);
define(‘NONCE_SALT’, ‘rP1%&ojrP0XLRuQ1AS#@u}#2-Q+)5ftKeJpWC$oxD]?&3}|+n2Gt{1$`kZbSW`-q’);
现在打开 WordPress 配置文件并添加这些键以及数据库的详细信息,我们已经为 wordpress 设置了。下面是一个示例配置文件 -
sudo nano /var/www/wordpress/wp-config.php
PHP
t)*FN.qf*q|+-W7}8f');
define('SECURE_AUTH_KEY', '7[Kh-{P#A~!NjtvW(o');
define('LOGGED_IN_KEY', 'La{SEJ{$uI<6Txgv QqY4cxG]3+-r[Iqcx.IFxlfN.f/Yd?317zR*+Yt=*PMWM$(');
define('NONCE_KEY', 'U5pGQf.`J{.Hd~P/9Snw`V2+#OTY!VOW[-aoruh;dhSUX]09xj*OVU)|C7|(>;`{N(4ZHg O)n');
define('SECURE_AUTH_SALT', 's5N%EIR(eM@tlg;M%L-+F#:<|r_x5-]Ix.&eYN)ya5ktoWLE+H~zUGkX#HceO/;H');
define('LOGGED_IN_SALT', 'EGcaE`=DAh7lv*klFyV0VLy5<@af_*--3otD$3:^;z~C(f^JB[C0T;`yqE)2@y${');
define('NONCE_SALT', 'rP1%&ojrP0XLRuQ1AS#@u}#2-Q+)5ftKeJpWC$oxD]?&3}|+n2Gt{1$`kZbSW`-q');
/**#@-*/
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in
* one database if you give each
* a unique prefix. Only numbers, letters,
* and underscores please!
*/
$table_prefix = 'blog_';
/**
* For developers: WordPress debugging mode.
*
* Change this to true to enable the display
* of notices during development.
* It is strongly recommended that plugin
* and theme developers use WP_DEBUG
* in their development environments.
*
* For information on other constants that
* can be used for debugging,
* visit the documentation.
*
* @link https://wordpress.org/support/article/debugging-in-wordpress/
*/
define( 'WP_DEBUG', false );
/* That's all, stop editing! Happy publishing. */
/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', __DIR__ . '/' );
}
/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';
?>
- 将数据库名称、数据库用户和密码更改为我们在配置 MySQL 时创建的值。
- 从请求 wordpress 时收到的键更改盐键
- 将表前缀从“wp_”更改为“blog_”,这是可选的
设置 WordPress:现在启动 apache2 服务器并访问 WordPress 安装
sudo service apache2 start
// visit 127.0.0.1/wordpress
现在选择用户语言
现在配置 WordPress 用户详细信息(这将是默认的管理员用户)
- 给你的 WordPress 一个网站名称
- 现在为用户选择一个用户名
- 现在给个密码
- 提供有效的电子邮件(图像中的电子邮件)不应在生产中使用)。
- 搜索引擎可见性意味着网站管理员允许搜索引擎为网站编制索引。
单击“安装 WordPress”后,将安装 WordPress,您将看到成功屏幕。
现在,使用您的登录详细信息登录 WordPress 仪表板
登录后,您可以看到 WordPress 仪表板
现在您可以通过访问其 URL 来查看您的 WordPress 网站
http://127.0.0.1/wordpress