Wordpress
WordPress 是一款免费开源的内容管理系统 (CMS),由 Matt Mullenweg 创建,并于 2003 年首次发布。WordPress 拥有庞大而充满活力的社区,提供数以万计的免费插件和主题,使用户能够轻松自定义其 WordPress CMS 的外观和功能。WordPress 在 GPLv2 许可下授权。
WordPress 最大的特点是其易于配置和管理。 设置一个 WordPress 网站只需五分钟。WordPress 管理面板允许用户轻松配置其网站的几乎所有方面,包括获取和安装插件及主题。WordPress 提供轻松的自动更新功能。
安装
WordPress 需要安装并配置 Apache HTTP Server、PHP 和 MariaDB。有关信息,请参阅相应的页面。在 PHP 配置过程中,请注意,某些 WordPress 功能需要 PHP 扩展,这些扩展可能默认未启用。
配置
这里使用的配置方法假定您正在本地网络上使用 WordPress。
主机配置
请确保您的 /etc/hosts 文件设置正确。这对于从本地网络访问您的 WordPress CMS 非常重要。您的 /etc/hosts 文件应如下所示:
#<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 lithium.kaboodle.net localhost lithium ::1 lithium.kaboodle.net localhost lithium
配置 Apache
/etc/httpd/conf/httpd.conf 中取消注释 LoadModule rewrite_module modules/mod_rewrite.so 来启用 mod_rewrite 模块。您需要为 Apache 创建一个配置文件,以便它能找到您的 WordPress 安装。创建以下文件并使用您喜欢的文本编辑器进行编辑
# /etc/httpd/conf/extra/httpd-wordpress.conf
Alias /wordpress "/usr/share/webapps/wordpress" <Directory "/usr/share/webapps/wordpress"> AllowOverride All Options FollowSymlinks Require all granted </Directory>
在第一行中将 /wordpress 更改为您想要的任何内容。例如,如果您使用 /myblog,则需要通过 http://hostname/myblog 访问才能看到您的 WordPress 网站。
如果进行了手动安装,请同时更改 WordPress 安装文件夹的路径。别忘了将父目录追加到 php_admin_value 变量,如下所示。
# /etc/httpd/conf/extra/httpd-wordpress.conf
Alias /myblog "/mnt/data/srv/wordpress" <Directory "/mnt/data/srv/wordpress"> AllowOverride All Options FollowSymlinks Require all granted </Directory>
接下来编辑 Apache HTTP Server 配置文件并添加以下内容
# /etc/httpd/conf/httpd.conf
Include conf/extra/httpd-wordpress.conf
由于 WordPress 的索引是用 PHP 编写的,请在 <IfModule dir_module> 块内添加以下行
# /etc/httpd/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
现在 重启 httpd.service (Apache)。
配置 Nginx
来自 https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/ 的示例服务器块配置
# Upstream to abstract backend connection(s) for php
upstream php {
server unix:/tmp/php-cgi.socket;
server 127.0.0.1:9000;
}
server {
## Your website name goes here.
server_name domain.tld;
## Your only path reference.
root /var/www/wordpress;
## This should be in your http block and if it is, it's not needed here.
index index.php;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
# This is cool because no php is touched for static content.
# include the "?$args" part so non-default permalinks doesn't break when using query string
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_pass php;
#The following parameter can be also included in fastcgi_params file
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
配置 MariaDB
MariaDB 可以使用多种工具进行配置,但最常用的是命令行或 phpMyAdmin。
使用 MariaDB 命令行工具
首先,以 root 用户登录。系统将提示您输入 MariaDB root 密码
$ mysql -u root -p
然后创建用户和数据库
wordpress 是您的数据库名称,wp-user 是您的用户名。您可以根据需要更改它们。另外,请将 choose_db_password 替换为此数据库的新密码。在下一节中,系统将要求您输入这些值以及 localhost。MariaDB> CREATE DATABASE wordpress; MariaDB> GRANT ALL PRIVILEGES ON wordpress.* TO "wp-user"@"localhost" IDENTIFIED BY "choose_db_password"; MariaDB> FLUSH PRIVILEGES; MariaDB> EXIT
有关详情,请参阅 WordPress.org [1]。
使用 phpMyAdmin
请参阅 phpMyAdmin 以安装和配置 phpMyAdmin。
在您的网络浏览器中,导航到您的 phpMyAdmin 主机并执行以下步骤
- 登录到 phpMyAdmin。
- 点击“用户”,然后点击“添加用户”。
- 给弹出窗口一个名称和密码。
- 选择“创建具有相同名称并授予所有权限的数据库”。
- 点击“添加用户”按钮创建用户。
WordPress 安装
在设置好 HTTP 服务器、PHP 和 MariaDB 后,就可以安装和配置 WordPress 本身了。
WordPress 安装过程将使用您网络浏览器地址栏中的 URL 作为默认网站 URL。如果您导航到 https:///wordpress,您的网站将可以在本地网络访问,但其外观和功能将损坏。
- 导航到
http://hostname/wordpress。 - 点击“创建配置文件”按钮。
- 点击“开始!”按钮。
- 填写您在上一节中创建的数据库信息
- 点击“提交”。
如果您安装了 wordpress,那么此设置过程将没有正确的权限来创建 WordPress 使用的 wp-config.php 文件。您需要以 root 用户使用 WordPress 提供的信息自己完成此步骤。
将出现一个页面,提示 WordPress 无法写入 wp-config.php 文件。复制编辑框中的文本,并以 root 用户身份在文本编辑器中打开 /usr/share/webapps/wordpress/wp-config.php。将复制的文本粘贴到编辑器中并保存文件。
之后,您需要使用 chown 命令更改 /usr/share/webapps/wordpress/ 及其所有文件的所有权和组,使其归用户 http 和组 http 所有,以便 Web 服务器可以访问它。
# chown http:http -R /usr/share/webapps/wordpress/
最后,点击“运行安装”,WordPress 将用您的信息填充数据库。完成后,您将看到“成功!”页面。点击登录按钮完成安装。
现在是时候从所有设备访问您的网站,以确保您的 WordPress 安装设置正确了。
用法
安装主题
寻找新主题
WordPress 有成千上万的主题可供选择。在 Google 上搜索一个好的主题可能就像在一条充满垃圾的河流中摸索。寻找主题的好地方包括:
通过管理面板安装
在通过管理面板安装主题之前,您需要在 WordPress 主机上设置一个 FTP 服务器。为了保持高度的保护,您可以为 WordPress 在您的系统上创建一个专用的 用户,将其主目录设置为 <您的 WordPress 安装路径>/wp-content,禁止匿名登录,并且允许登录的用户数量不超过 WordPress 所需的数量(当然,还有您设置所需的其他用户)。
设置好 FTP 服务器后,登录您的 WordPress 安装,然后点击“外观 -> 安装主题 -> 上传”。从中选择包含您主题的 zip 文件,然后点击“立即安装”。系统将显示一个框,要求输入 FTP 信息,输入后点击“继续”。如果 WordPress 报告无法写入目录,您可能需要更新 文件所有权 和 权限。如果您一直按照说明进行操作,现在应该已经安装了主题。如果需要,请激活它。
手动安装
下载存档并解压到 wp-content/themes 文件夹
$ cd /path/to/wordpress/root/directory $ cd wp-content/themes
获取主题存档并解压
$ wget http://www.example.com/MyTheme.zip $ unzip MyTheme.zip
删除存档 (可选)
$ rm MyTheme.zip
请务必遵循主题作者提供的任何额外说明。
从主题选择器 (外观 > 主题) 中选择您的新主题。
安装插件
安装插件的步骤与安装主题的步骤相同。只需点击左侧导航栏中的“插件”链接,然后按照步骤操作即可。
更新
偶尔,当您登录 WordPress 时,会收到更新通知。如果您已正确安装和配置了 FTP 客户端,并且具有写入 WordPress 安装路径的正确文件系统权限,则您应该能够通过单击按钮来执行更新。只需按照步骤操作即可。
或者,您可以使用 SSH 通过 SSH SFTP Updater Support 插件 更新您的安装。
故障排除
外观显示错误 (无样式)
当您在没有正确映射主机名到 IP 地址的桌面或移动网络浏览器中查看您的 WordPress 网站时,它将显示为没有样式。
这发生的原因是,在进行初始设置时,您使用了带有服务器主机名的 URL,而不是 IP 地址,然后 WordPress 将此 URL 用作了默认网站 URL。
要解决此问题,您需要编辑您的 /etc/hosts 文件或设置一个代理服务器。请参阅 Squid。
另一个选项是更改 WordPress 数据库表中的一个值,具体来说是 wp_options 表。修复方法是将 siteurl 选项更改为直接指向域名而不是“localhost”。
无法安装插件: 无法创建目录
您的 WordPress 网站需要对本地文件的适当权限。它没有创建文件/目录的权限。Arch 中的 Apache 使用用户 `http`。
要授予适当的权限,请运行以下命令
# chown -R http:http your-wordpress-directory/wp-content
此外,如果您使用 php-fpm (从 7.4 版本开始) 的设置,则需要覆盖 php-fpm 的 systemd 单元文件,因为 php-fpm 是经过强化的,导致 /usr 为只读。 编辑 php-fpm.service 文件并在其中添加以下行
override.conf
[Service] ReadWritePaths=/usr/share/webapps/wordpress
无法将插件保存到 localhost
WordPress 默认只使用 FTP 服务器来下载插件。为了也能本地下载,请追加以下配置
# wordpress_root_location/wp-config.php
define('FS_METHOD', 'direct');
裁剪图片时出错。
WordPress 需要 `php-gd` 来修改图像。 安装 php-gd,然后通过在 /etc/php/php.ini 中取消注释以下行来启用该扩展
extension=gd
未定义函数 mysql_connect()
如果您使用 PHP >= 7.0.0 的 MySQL/MariaDB 并启用了 WordPress 配置中的调试功能,通常会看到此错误。
通过在 /etc/php/php.ini 中取消注释以下行可以解决此问题
extension=mysqli
启动 nginx 后出现 502 网关错误
这可能是由于 Nginx 配置文件中定义的 PHP 上游 server 127.0.0.1:9000; 未安装和配置所致。
# /etc/php/php-fpm.d/www.conf
listen = /run/php-fpm/php-fpm.sock
将其更改为
# /etc/php/php-fpm.d/www.conf
listen = '127.0.0.1:9000'
技巧与提示
WP-CLI
WP-CLI 是 WordPress 的命令行接口。您可以在不使用网络浏览器的情况下更新插件、配置多站点安装等等。