从现有的生产机器创建一个Dev Box?

时间:2014-11-14 作者:Rick

我继承了一个WP Networks生产服务器,它需要一些更新。但是,一些用户对主题进行了一些自定义(没有创建子主题)。

理想情况下,我想“克隆”这台机器。然而,这可能是我无法控制的。作为替代,我想启动一个vagrant VM(可能正在运行Centos) 并直接复制文件树。这就是我想要的rsyncscp 结束/var/www/html 通过移动数据库mysqldumpmysql < database.dump.sql.

具体而言,我的问题是:(1)上述内容是否合理;(2)如何处理数据库中编码的域名?将使用我的主机系统/etc/hosts 文件是否足够?

我甚至会很高兴有一些东西可以帮助网站使用相对URL。这可能吗?WP配置中是否需要绝对URL。php和数据库?

正在运行:

圣地亚哥RHEL服务器6.3,WordPress Networks 3.9,mysql版本14.14

1 个回复
最合适的回答,由SO网友:BODA82 整理而成

是的,很合理。设置WordPress的开发克隆非常简单。

将文件(rsync/scp可以)复制到开发服务器上,在开发服务器上设置新的数据库和数据库用户(以及设置权限),更新wp配置。包含新数据库信息的php文件:DB_NAME, DB_USER, DB_PASSWORD, DB_HOST (如果不是本地主机)Update: 如果这是多站点,您还需要更新DOMAIN_CURRENT_SITE 到您的开发服务器域https://interconnectit.com/products/search-and-replace-for-wordpress-databases/ 在数据库上运行搜索和替换。(使用类似的东西是关键,因为WordPress表中通常有序列化数据。通常在wp\\U选项或wp\\U Posteta中。

只需将其转储到您的基本WP目录中,然后在浏览器中将其调出即可。它将自动填充数据库详细信息(如果没有,您可以手动输入),并输入搜索/替换参数。

您有机会进行一次试运行,以查看将更新哪些行(如果有)。

我要说的唯一其他事情是在wp配置中放置以下内容。php文件(替换http://example.com 使用您的开发域,删除或更新用于生产的域):

define(\'WP_HOME\',\'http://example.com\');
define(\'WP_SITEURL\',\'http://example.com\');
并确保脚本可能依赖的任何主题文件中都没有硬编码路径。

在定义这些和DB搜索/替换之间,您应该是黄金。

最后,这里是用于迁移到另一台服务器的WP文档。可能是您方便的参考:http://codex.wordpress.org/Moving_WordPress

Update

您需要确保您的。htaccess文件(位于基本WP目录中)也被继承。

对于普通的WordPress安装,只需刷新永久链接(Dashboard>Settings>permalinks>Save/Update),即可自动重建。htaccess文件(如果WP可以写入目录)。否则,您必须手动创建它,并使用Permalinks页面上显示的规则。

对于多站点安装,有特定的重写规则,具体取决于您的设置,您可以从“网络设置”>“网络设置”中提取这些规则。

结束

相关推荐

Multisite Widget/Content

我正在使用WordPress multisite,需要在侧边栏中显示所有子网站的内容。这是一个由50多个站点组成的网络,因此每隔几天用此内容更新所有50多个侧栏是不现实的。我找到的一个解决方案是简单地将我想要的内容插入侧边栏。虽然我不希望我的客户机编辑这个文件,但我希望他们使用TinyMCE编辑器而不是HTML。另一个想法是在每个子网站中嵌入一个iframe,让我的客户端更新iframe引用的页面。我的最后一个想法是用TinyMCE编辑器创建一个插件,将代码注入侧栏。php文件保存时,虽然我不知道插件是否