使用VVV进行WordPress开发

Japh 在上一篇文章中已经解释了基本原理,并最终说服了我们使用Vagrant将我们的开发环境设置为与远程Web服务器接近。 这篇文章已有两年多的历史了,但是今天这个想法仍然有用。 更重要的是,Vagrant最近以一种名为VVV的特殊Vagrant配置在WordPress社区中获得了关注,该配置是Varying Vagrant Vagrants的缩写。

VVV是Vagrant配置的预设,适用于以WordPress为中心的项目,例如开发主题,插件或为WordPress Core做出贡献 。 VVV还包含了一些工具,例如WP-CLIPHP Code SnifferComposer ,这些工具可以增强我们的开发工作流程。

尽管如此,使用MAMP,WAMP或XAMPP之类的应用程序已经为许多开发人员提供了足够的便利。 这些工具可能为他们提供了很好的服务,因此似乎没有必要迁移到VVV。

因此,本教程针对那些长期使用这些传统堆栈应用程序来开发WordPress的用户,并且现在觉得该应用程序不再能应对您更广泛,更复杂的项目。

也许您读过有关Vagrant被称为绝佳选择的某个地方,但您不知道从何开始,以及Vagrant是否适合您。 因此,在进一步研究之前,我们将概述适合使用VVV的项目开发方案。

让我们开始。

项目简介

首先,我们有一个开发人员团队来帮助我们完成这个项目。 我们的团队遍布全球,每个人都有自己的偏好-有些使用Windows,有些使用OSX。我们采用Vagrant和VVV,以便每个人都拥有相同的环境,并使测试输出更加相关。

我们的项目是创建一个主题和一个插件,然后将它们提交到各自的WordPress.org存储库。

该主题应该与一些流行的插件兼容,例如JetpackWooCommerceEDDBBPress 。 我们还将针对许多其他插件测试该插件,以确保当它们一起活动时不会发生冲突或错误。

此外,主题和插件还应该与WordPress的最新版本和两个早期版本兼容,并且应该通过Beta版进行测试,以准备将来的WordPress版本。

下表显示了我们的主题和插件应与WordPress版本以及许多插件兼容的位置。

兼容性: Acme-StoreFront(主题) Acme-LocalCurrency(插件)
WordPress 4.2
WordPress 4.3
WordPress最新
WordPress Beta
喷气背包
BBPress
简易数字下载(EDD)
WooCommerce

此外,我们可能在jetpack.wordpress.dev上有一个本地网站,该网站将托管主题(或插件),这些主题取决于一个或多个Jetpack模块,例如Infinite ScrollSharing

为了避免受到其他插件的干扰, jetpack.wordpress.dev中的活动插件仅是Jetpack,但一些支持开发的插件(例如Query MonitorVIP ScannerDebug Bar)却有些例外。

最终,我们还可以创建woo.wordpress.devbbp.wordpress.dev等,以围绕这些插件的功能来构建和测试我们的项目。

您需要安装什么?

既然我们已经大致了解了要做什么,并且已经安装了这些工具,那么我们现在将继续设置VVV并使其运行。 让我们开始吧!

步骤1:安装VirtualBox

首先,我们需要一个虚拟机(VM)来托管通过Vagrant创建的开发环境。 在本教程中,我们选择VirtualBox ; 它是免费的并且可以跨平台运行。 在“ 下载”页面上,适用于每种平台的安装程序-Windows,OSX和几个Linux发行

VirtualBox下载页面

启动安装程序,并按照步骤进行操作,直至过程结束。 或者,OS X用户可以通过Homebrew Cask安装VirtualBox,这使您可以通过单行命令更方便地安装VirtualBox,如下所示。

brew cask install virtualbox

安装VirtualBox后,可能需要一些时间,我们将继续安装Vagrant。

步骤2:安装Vagrant

同样,Vagrant安装程序可用于OS X,Windows和Linux。 为您的平台下载一个,然后按照步骤进行操作。 OS X用户可以使用以下命令行通过Homebrew Cask安装它。

brew cask install vagrant

安装后,您应该可以访问vagrant CLI。

OSX终端中的Vagrant命令
在OSX终端中检索已安装的Vagrant版本

步骤3:安装Vagrant插件

安装以下无用的插件是可选的,但通常最好安装它们,以简化启动和运行VVV开发环境(包括本地网站)的过程。

Vagrant Hosts Updater :此插件将允许Vagrant更新hosts文件以注册本地网站的域名。 否则,我们将不得不自己添加它,这听起来有点不方便。

运行以下命令以安装插件:

vagrant plugin install vagrant-hostsupdater

Vagrant Triggers :此插件将允许VVV 自动执行许多过程,例如备份数据库。 要安装它,请运行:

vagrant plugin install vagrant-triggers

前提条件-VirtualBox和Vagrant以及插件-已设置。 因此,我们可以开始安装VVV。

步骤4:安装VVV

首先,将VVV从GitHub存储库克隆到本地目录。

git clone git://github.com/Varying-Vagrant-Vagrants/VVV.git

克隆到位后,导航到克隆所在的目录。 然后使用以下命令行启动并运行它:

cd vvv; vagrant up

VVV将下载并安装Ubuntu,作为托管我们本地网站的虚拟操作系统。 在某些时候,您可能还需要输入密码才能让Vagrant写入您的主机文件。

终端正在运行vagrant up命令
VVV首次初始化

请记住,这是我们第一次设置并运行VVV。 该过程将花费很长时间。 可能需要30分钟到一个小时左右才能完成。 在此过程中散步,喝咖啡或休息一下。

当VVV启动并运行时,它为我们提供了一些WordPress默认安装,如下所示:

使用admin作为用户名和password作为密码登录这些站点。

步骤5:在VVV中添加新的WordPress项目

现在我们已经启动并运行了VVV,我们可以启动新项目了。 我们将创建一个示例主题和插件。 它一直是我的偏好,开始了与主题下划线 ,并使用WPPB一个插件。

我们将这些样板添加到位于{vvv-directory}/www/wordpress-default/wp-content/local.wordpress.dev/wp-content/目录中的相应目录中。

在Chrome中查看VVV安装的WordPress本地网站

继续开发主题和插件; 添加一些功能,为主题添加“设置”页面,为主题添加与Customizer的更深入的集成,最后使它们为WordPress下一个版本做好准备。

Envato Tuts +已发布了许多资源,这些资源在开发过程中可能会有用。 以下是一些我的最爱:

使用VV创建新的本地站点

如前所述,我们将创建更多本地网站,在这些网站上我们将开发我们的主题和插件,以便与Jetpack,WooCommerce,EDD和BBPress等多个插件集成。 我们还将设置两个网站,以针对WordPress早期版本(在本例中为4.34.2)测试我们的项目。 至此,我们只设置了local.wordpress-trunk.dev ,该主机托管了WordPress每晚,测试版或发布候选(RC)版本。

创建和设置本地网站通常需要执行几个步骤。 首先,我们将必须下载WordPress副本,将其提取并放置在我们本地主机的根目录中,创建一个数据库,运行WordPress安装,并更改hosts文件以注册域名。 如果我们将这个过程用于创建三个或更多本地网站,我们很快就会发现该过程效率低下且耗时。

使用VVV及其扩展名VV ,这是Variable VVV的缩写,我们将能够以更少的精力提高工作效率。 让我们看一下如何部署VV。

安装VV

由于在OS X和Windows中安装VV的过程各不相同,因此本节分为两部分。 您可能会立即跳到当前使用的平台部分。

在OS X中安装VV

在OSX中安装VV的最简单方法是通过Homebrew 。 只需键入以下命令。

brew install bradp/vv/vv

在Windows中安装VV

在Windows中,您首先需要在计算机目录中的某个位置克隆VV存储库。

git clone https://github.com/bradp/vv.git vv

然后,我们需要Windows识别vv命令。

为此,右键单击“我的电脑”或“此PC”,然后选择“ 属性...” 。 然后,转到高级系统设置>环境变量 。 从系统变量列表中选择“路径”,然后单击“ 编辑...”

Windows系统路径

添加您之前克隆的vv目录路径。 例如: C:\Users\thoriq\Sites\vv

在Windows中编辑系统变量对话框

安装完成后,我们应该可以全局访问vv命令。 该命令将使我们能够设置新的WordPress安装和运行方式,您可以通过vv --help命令找到其详细信息。

在OS X终端中查看的VV命令列表
在OS X中:VV CLI命令列表

在Windows中,可通过命令提示符(cmd.exe)和Bash Git访问CLI。


创建一个新的WordPress网站

VV使安装新的WordPress网站变得很容易,只需键入以下命令:

vv create

一旦执行,它将在配置新网站的过程中提示一些问题,即:

1.命名站点目录

对于MAMP用户,这类似于在/MAMP/htdocs/的MAMP文档根目录中创建一个新文件夹。 这是所有网站资产所在的文件夹。 在此步骤中,输入目录名称,不要包含空格,最好使用小写字母,例如:

OS X终端中的目录名称提示

2.命名域

设置我们新网站的域名。 本地网站的域通常以.dev.local结尾。 在这种情况下,我将命名为42.wordpress.dev 。 它是一个数字为42的子域,它表示我们将要安装的WordPress版本4.2.x。

命名域

3.设置WordPress版本

在这里,我们将安装WordPress 4.2.8,这是4.2分支中的最后一个迭代。 WordPress版本的完整列表可以在Release Archive页面上找到。

设置WordPress版本

4.启用多站点

它询问我们是否要激活WordPress Multisite模式。 我们选择N

在终端安装时提示为多站点yN

目前,为主题和插件支持WordPress Multisite并不是重中之重。 如果以后需要在多站点环境下构建和测试项目,则可以在新域(例如mu.wordpress.dev下创建另一个站点。

5. WP内容资产

WordPress wp-content目录通常包含许多子目录,例如主题,插件和上载目录。 有时我可能还会创建一些额外的文件夹来存储一些任意文件。 如果您在Git存储库中托管了预设内容,则可以输入URL并让VV克隆存储库。

现在,我们将其留空。

终端Git存储库中的VV提示要克隆,因为wp-content留空以跳过

6.导入SQL

我们没有要导入的SQL数据库,因此我们也将此提示留空。 但是,如果有,请指定SQL文件所在的目录路径,例如: /Sites/db/wp.sql

终端Git存储库中的VV提示要克隆,因为wp-content留空以跳过

7.默认主题和插件

WordPress带有默认主题(例如TwentyFifteen,TwentySixteen等)和插件( AkismetHello Dolly ),通常我们不会使用它们。 在此步骤中,我们可以将y传递给提示,以告诉VV完全删除它们。

终端中的VV提示删除默认主题和插件

8.虚拟内容

我们可以告诉VV从WPTest安装示例内容。 它是一套广泛的内容,包括帖子,页面和评论。 该内容将有助于发现主题和插件中的任何未对齐,兼容性问题或错误。 因此,键入y

终端中的VV提示将示例内容添加到站点

9. WP_DEBUG

我们一定会启用WP_DEBUG,以便WordPress在开发过程中打印任何PHP错误。 因此,在提示符下键入y

终端启用中的VV提示WP_DEBUG和WP_DEBUG_LOG

10.确认

最后,在VV继续安装之前,请确认所有定义的配置均正确。 如果一切正常,请键入y继续。 否则,请键入n以中止该操作,并且您可以从头开始重复vv create


完成后,VV将显示站点以及登录凭据(用户名和密码),如下所示。

新站点地址及其凭据

重复这些步骤,以在本教程的“项目简介”部分中安装其他上述站点。

组织和同步项目

现在,我们有几个具有不同环境的站点来测试我们的项目(主题或插件)。 我们的站点数量将随着时间的增长而增长,以至于将整个项目目录复制到这些测试环境将是一项不便的事情。

因此,我们需要一个文件夹,可以将项目立即投射到这些网站,最终使我们的工作流程更有条理。

驱动器映射简介

Vagrant允许我们将目录同步到虚拟机。 实际上,Vagrant在引擎盖下部署了自己的功能。 如果我们在“驱动器映射”部分下查看Vagrantfile ,我们会发现它同步了许多目录,包括所有站点安装所在的www/

定义www文件夹的Vagrantfile源代码映射到虚拟机

映射自定义目录

首先,我们首先需要创建两个目录,分别托管我们的插件和主题。 您可以将这些目录放置在计算机上的任何位置。 就我而言,我有一个名为dev的目录,其中包含我的所有项目,如下所示。

.
└── dev
	└── library
    ├── plugins
    └── themes

然后,我们将注册这些目录的映射。 我们在local.wordpress.devlocal.wordpress-trunk.dev安装了三个WordPress网站。 因此,这些目录将被映射,指向并同步到虚拟机中这些站点的每个/plugins//themes/目录。

但是,应始终避免修改默认系统文件。 因此,我们无需修改Vagrantfile ,而是将映射配置添加到名为Customfile的文件中-在Vagrantfile第241行处,我们发现它已加载以应用custom或覆盖默认配置。

Customfile的Vagrantfile源代码

创建Customfile在同一个位置的文件Vagrantfile

.
└── vvv
	└── Vagrantfile
    ├── Customfile

在文件中添加以下代码行,我相信它们很容易解释。

##Plugins
config.vm.synced_folder "/Users/thoriq/Sites/dev/plugins/", "/srv/www/wordpress-default/wp-content/plugins", :owner => "www-data", :mount_options => [ "dmode=775", "fmode=774" ]
config.vm.synced_folder "/Users/thoriq/Sites/dev/plugins/", "/srv/www/wordpress-develop/wp-content/plugins", :owner => "www-data", :mount_options => [ "dmode=775", "fmode=774" ]
config.vm.synced_folder "/Users/thoriq/Sites/dev/plugins/", "/srv/www/wordpress-42/htdocs/wp-content/plugins", :owner => "www-data", :mount_options => [ "dmode=775", "fmode=774" ]

##Themes
config.vm.synced_folder "/Users/thoriq/Sites/dev/themes/", "/srv/www/wordpress-default/wp-content/themes", :owner => "www-data", :mount_options => [ "dmode=775", "fmode=774" ]
config.vm.synced_folder "/Users/thoriq/Sites/dev/themes/", "/srv/www/wordpress-trunk/wp-content/themes", :owner => "www-data", :mount_options => [ "dmode=775", "fmode=774" ]
config.vm.synced_folder "/Users/thoriq/Sites/dev/themes/", "/srv/www/wordpress-42/htdocs/wp-content/themes", :owner => "www-data", :mount_options => [ "dmode=775", "fmode=774" ]

通过运行vagrant reload重新加载Vagrant,否则vagrant up如果当前未运行,请vagrant reload vagrant up/dev/plugins//dev/themes/ /dev/plugins//dev/themes/现在应该在所有站点中列出。

网站中的插件列表

添加GUI层

至此,我们已经设置并运行了Vagrant和VVV。 现在,我们能够在几分钟之内创建一个新的本地网站,而无需费心下载WordPress .zip软件包,提取该软件包以及编辑主机文件条目。

到目前为止,我们的大多数操作都是通过命令行界面完成的。 可以理解,这对于初学者来说可能有些吓人,特别是对于那些来自图形界面应用程序(例如MAMP或WAMP)的用户。 需要时间来适应它。

但是,Vagrant中的某些操作可以用GUI替代。 有一些可用的扩展程序可以为Vagrant和VVV添加漂亮的GUI层,从而使某些操作像单击一样容易。 其中一些包括:

流浪者仪表板

vvv.dev的Vagrant Dashboard可能等同于MAMP的localhost/MAMP/页面,但它以纯白色显示。

VVV默认仪表板外观

幸运的是,我们可以通过扩展使其生动起来。 有几种选择,我将通过topdown选择VVV仪表板 。 要部署扩展,请导航到/www/default/目录并拉出扩展存储库:

git clone https://github.com/topdown/VVV-Dashboard.git dashboard

然后,将/dashboard/dashboard-custom.php复制到/defaults/ ,如下所示。

.
── dashboard
├── dashboard-custom.php (the customized dashboard)
├── database-admin
├── index.php
├── memcached-admin
├── opcache-status
├── phpinfo
└── webgrind

无需重新加载流浪汉。 只需在vvv.dev刷新VVV仪表板。 现在,除了列出已安装的站点之外,您还应该在仪表板上找到有关Vagrant配置的许多其他详细信息。

新的VVV仪表板的侧栏
定制的VVV仪表板。

流浪经理

您可以安装的另一个实用程序是Vagrant Manager

Vagrant Manager类似于MAMP和WAMP,在这种情况下,它使我们可以单击几下运行,停止和重新加载Vagrant。 Vagrant Manager在OS X中通过Homebrew Cask和.dmg ,在Windows中通过.exe安装程序包提供。 因此,安装该应用程序应该很容易。

Vagrant Manager安装并运行后,您可以找到您的Vagrant配置列表,并且该列表当前处于活动状态。

OS X Taksbar中的Vagrant Manager IU

phpMyAdmin

Vagrant还内置了phpMyAdmin,可从vvv.dev/database-admin/访问。 但是,我不是phpMyAdmin的粉丝。 除了界面可爱之外,在大型数据库中处理查询也很缓慢。 这就是我更喜欢使用本机应用程序(例如Sequel Pro或Windows的SQL Workbench)的原因。 但是,我们首先必须将应用程序连接到MySQL。

使用本机应用程序连接到MySQL

在这里,我正在使用Sequel Pro for OSX。但是,无论您使用什么应用程序,都可以使用连接到MySQL所需的凭据。 他们是一样的。

  • MySQL主机127.0.0.1
  • MySQL用户名root
  • MySQL密码root
  • SSH主机local.wordpress.dev (也适用于在VVV中注册的任何域)
  • SSH用户vagrant
  • SSH密码vagrant

如果看到如下所示的警告,则可以将其忽略,只需单击“是”或“确定”继续。 我们仅连接到我们自己计算机上的虚拟机,因此无需担心任何事情。


连接后,我们可以看到我们站点的数据库。 现在,我们可以做一些事情,例如导入和导出数据库,或者可能执行一些SQL查询


下一步是什么?

如前所述,VVV附带了包括PHP CodeSniffer在内的一系列工具,可让您根据WordPress编码标准对项目执行代码审核。 我认为这是您应该做的事情,尤其是在项目启动之前。

但是,由于PHP CodeSniffer超出了本教程的范围,因此我整理了一些参考资料来帮助您入门。

包起来

我们已经设置和运行VVV并通过许多扩展对其进行了改进,已经走了很长一段路。 最终,在使用WordPress创建新的本地站点或测试环境时,它可以简化我们的工作流程,尽管可能需要一些时间来适应它。

WordPress的经济非常活跃。 有主题,插件,库和许多其他产品可帮助您构建站点和项目。 该平台的开源特性也使其成为一个很好的选择,您可以从中提高自己的编程技能。 无论如何,您都可以在Envato Marketplace中看到我们提供的所有内容。

希望本教程对Vagrant和VVV入门有帮助。

翻译自: https://code.tutsplus.com/tutorials/wordpress-development-with-vvv--cms-26322

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值