我正在 Ubuntu 14.04 LTS 计算机上按照以下说明设置我的第一个 VIP 主题:
https://vip.wordpress.com/documentation/vip/dev-environment/ 和 http://docs.chassis.io/en/latest/quickstart/#pre先决条件
此时我有:
在详细写步骤之前,这里是我当前的文件夹结构
/var/www/html
|-> thevp (Chassis installation)
|-> wp
|-> wp-content/themes/vip/plugins
| | |-> vip-init.php
| |-> vp-theme (custom theme)
|-> mu-plugins
Vagrant URL: vagrant.local
Admin URL: vagrant.local/wp/wp-admin
安装以上两个后,我将 Chassis 安装在
/var/www/html/thevp
文件夹中。这安装了一个名为 wp
的文件夹,我相信这是默认的 WordPress 安装。所以现在我有了 /var/www/html/thevp/wp
(加上其他文件夹和文件)。接下来,我从 svn co https://vip-svn.wordpress.com/plugins/ wp-content/themes/vip/plugins 安装了 VIP 插件和助手
/var/www/html/thevp/wp/wp-content/themes/vip/plugins
。
然后我在里面安装了 VIP mu-Plugins
/var/www/html/thevp/wp/wp-content/mu-plugins
最后,我从 Github 克隆了我的 VIP 主题
/var/www/html/thevp/wp/wp-content/themes/vp-theme
完成所有安装和克隆后,我从
/var/www/html/thevp/
中运行 $vagrant,它配置了我的机箱并提供了 URL http://vagrant.local/。
上面的 URL 运行良好,并打开带有 TwentySeventeen 主题的默认站点。 在管理 > 主题下,我可以看到我自己的主题 vp-theme 以及 WordPress 已安装的其他默认主题。
但是每当我尝试激活此主题时,我都会收到此错误消息:
警告: require_once(/vagrant/content/themes/vip/plugins/vip-init.php): 失败 打开流: 没有这样的文件或目录 /vagrant/wp/wp-content/themes/vip/yrc-wordpress-theme/functions.php 上 9号线
致命错误:require_once():打开要求失败 '/vagrant/content/themes/vip/plugins/vip-init.php' (include_path='.:/usr/share/php') 在 /vagrant/wp/wp-content/themes/vip/yrc-wordpress-theme/functions.php 上 9号线
假设
/var/www/htm/thevp
未被识别为正确的路径,因为 wp-content 文件夹实际上位于 /var/www/html/thevp/wp
下,并且这应该是 root,我销毁了正在运行的 VirtualBox 实例并再次运行 $ vagrant up
,但这次是从内部 /var/www/html/thevp/wp
.
但我仍然遇到同样的错误。我该如何解决这个问题?
我检查了主题的functions.php中的以下行
require_once WP_CONTENT_DIR . '/themes/vip/plugins/vip-init.php';
在那里,但我有一种感觉,
WP_CONTENT_DIR
可能由于某种原因输出错误的路径,如错误消息所示
require_once(/vagrant/content/themes/vip/plugins/vip-init.php)...
我找不到任何文件夹
/vagrant/content
。
经过长时间的研究和谷歌搜索,我终于让它发挥作用了。
出现错误的主要原因是
config.yaml file
中定义的内容文件夹。
安装 Chassis 时,它会在其根目录中创建一个名为
config.yaml
的文件。这是 “path” 部分下文件中的默认设置。
# Base directory for reference. Relative to the Chassis directory.
base: .
# Where WordPress lives. Relative to the base directory.
wp: wp
# Content directory. Relative to the base directory.
content: content
我做的第一件事就是将
content: content
更改为 content: wp/wp-content
。这里需要注意的是 Chassis 在“wp”下而不是在“Wordpress”下创建默认的 WordPress 安装。
我需要更改的第二件事是在同一文件中从
multisite: No
更改为 multisite: Yes
。
但是,在启动虚拟机时,我遇到了以下错误:
您的机器似乎不支持 NFS,或者没有 用于在该计算机上为 Vagrant 启用 NFS 的适配器
通过安装 NFS Common 和 NFS Kernel Server 解决了这个问题
$ sudo apt-get install nfs-common nfs-kernel-server
我在使用 vagrant 启动 VitualBox 时遇到了另一个错误。它询问我的
sudo
密码。但提供后执行失败,我在控制台上收到以下消息:
以下 SSH 命令以非零退出状态响应。 Vagrant 认为这意味着命令失败!
mount -o 'vers=3,udp' 33.33.33.1:'/home/subrata/' /var/www
来自命令的标准输出:来自命令的标准错误:stdin:不是 tty mount.nfs:请求的 NFS 版本或传输协议不是 支持
要解决此问题,我必须在
/etc/sudoers
文件中添加以下行。
vagrant ALL=(ALL) NOPASSWD:ALL
Defaults:vagrant !requiretty
我终于准备好了!
$vagrant up
已成功启动我的虚拟机。
http://vagrant.local 运行良好,现在我可以第一次激活我自己的 VIP 主题:)