前言
由于群晖NAS套件中心提供的WordPress套件版本更新不如官方及时,本文将详解如何在群晖NAS中手动安装配置官方WordPress博客.
见过尝试,总体比较简单,关键是一个读取权限的问题。
WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。截至2018年4月,排名前1000万的网站超过30.6%使用WordPress。WordPress是最受欢迎的网站内容管理系统。WordPress是当前因特网上最流行的博客系统。WordPress在最着名的网络发布阶段中脱颖而出。如今,它被使用在超过7000万个站点上。
本文为landiao结合网络文章根据实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
一、环境套件安装
群晖套件中心安装以下套件
- Web Station
- Apache HTTP Server 2.4
- PHP 7.3
- MariaDB 10
- phpMyAdmin
网络文章都是写的PHP 7.2,这这里用的7.3。完全没有区别可自由选择。图片就不更新了
二、创建数据库
浏览器输入http://192.168.x.x/phpmyadmin
也可以从群晖桌面图标进入
账号root
密码为安装MariaDB 10套件时设置的密码
选择服务器-MariaDB 10
192.168.x.x的IP为群晖的内网IP
- 新建
- 填写数据库名称
- 创建
数据库名称可自行设置,建议使用wordpress等方便识别.
三、下载并安装WordPress主程序
- 访问官方网站,下载最新版.
- 在群晖Web文件夹下创建博客主目录,命名为wordpress(或其他任意文件名).
- 将下载并解压的文件夹内的所有文件及文件夹拷贝至博客主目录.
- 设置wordpress文件夹权限为http(重要)
- 应用到这个文件夹,子文件夹和子文件
- 确定
四、配置PHP
- 打开Web Station
- PHP设置,选中Default Profile,版本为7.3,编辑.
- 扩展名勾选全选,安装扩展.
五、配置Web站点
- 打开Web Station
- 虚拟主机
- 新增
- 填写你的域名
- 文档根目录选择刚才在Web下创建的文件夹
- HTTP后端服务器选择 Apache HTTP Server 2.4
- PHP选择Default Profile(PHP 7.3)
六、配置WordPress博客
在浏览器中输入你的域名开始配置WordPress博客
- 数据库名称填写刚才phpMyAdmin创建的数据库
- 用户名root
- 密码填写群晖安装MariaDB 10时设置的密码
- 数据库地址填写localhost:/run/mysqld/mysqld10.sock
- 提交
数据库地址如下图所示在群晖NAS中打开MariaDB 10所显示的路径.如诺不行,可尝试以下几种:
localhost:3307/run/mysqld/mysqld10.sock
127.0.0.1:/run/mysqld/mysqld10.sock
127.0.0.1:3307/run/mysqld/mysqld10.sock
如果安装的数据库套件为MariaDB 5,那么此处数据库地址填写localhost即可.
现在安装
- 填写站点标题
- 填写用户名
- 填写密码
- 填写电子邮件
- 安装WordPress;
安装成功
登录
登录成功
访问你的WordPress博客吧!
关键来了
更新或者主题操作报错。
主要是权限的问题。
故障原因
因为某种神奇的原因,更新 WordPress 版本或安装插件时的用户身份是 nobody
,而 WordPress 目录权限身份是 http
,因此导致目录权限身份不符引发权限问题。
通常情况下运行 WordPress 的所有目录权限设置为 755 就够了,因为 WordPress 安装/更新插件需要 644(4+2)的权限,更新升级 WordPress 自身的话需要 7(4+2+1)权限。
所有 WordPress 的文件设置为 664 即可,例外的是:wp-config.php 应设为 600,以防其它用户读取。
解决方法
找到问题的症结后,就能对症下药了。既然更新文件时使用了奇怪的用户身份,那我们来强制 WordPress 使用 PHP 的读写身份就行了。
修改 wp-config.php
- 在 WordPress 的根目录下找到
wp-config.php
文件;
在好了!请不要再继续编辑这行代码的前面新增这行代码:
define('FS_METHOD', 'direct');,
这行代码告诉 WordPress 强制使用 PHP 的读写身份运行文件读写操作。就像下面这样,保存后上传到你的服务器。
- 在最后添加一段代码:
define(“FS_METHOD”, “direct”);
define(“FS_CHMOD_DIR”, 0777);
define(“FS_CHMOD_FILE”, 0777);
结语
这个教程主要是整理完善。现在大家都在用docker部署,但是个人觉得这样也挺好的。