wordpress本地安装和部署变得简单

fabpress的Python项目详细描述


注意:FabPress处于早期开发阶段,如果您想使用WordPress进行本地开发,通常需要遵循以下步骤:

-安装WordPress的本地副本
-导入您的生产MySQL数据库
-搜索并替换数据库中的永久链接(``http://mysite.com``到``http://localhost/dev/mysite``)
-用正确的版本安装所有插件和主题
-下载媒体文件

然后,每次生产网站上有更改,并且需要提取这些更改时,都必须执行相同的步骤。如果你想在生产中部署本地网站,同样的事情也会发生。

SS?
==
==

-一组脚本,用python编写,位于"fabric"之上,http://www.fabfile.org/>;``和'wp-cli<;http://wp cli.org/>;`,两个很棒的工具
-一种从/到生产wordpress网站的拉/推数据库、媒体文件、主题、插件的方法
-a命令行工具,在ArchLinux和Debian上测试过,可能适用于Mac OS和其他Linux发行版
-免费(如免费语音和免费啤酒),开源,根据BSD


什么是*不是*FabPress?
==


-生产准备就绪。我把它用在我的项目上,而且很管用。绝对没有任何保证,它将为您工作,与您的设置。**在尝试之前,请备份您的数据**。我是认真认真的,认真的,我是认真的,认真的,我是认真的,我是认真的。



>本地机器上的要求



















>




















*****

-`wp-cli<;http://wp cli.org/>;``用于处理大多数wordpress内容
-Linux系统(Fabpress是在ArchLinux和Debian Wheezy上开发和测试的)


docs.org/en/latest/installing.html>;``但是您也可以使用'轻松安装'。请在继续之前安装pip。

**



>在本地计算机上安装fabric::


sudo pip install fabric

**

请按照"wp-cli<;http://wp cli.org/>;`` uu网站上详细说明的过程进行操作.

fabpress
*****


fabpress可在"pypi<;https://pypi.python.org/pypi/fabpress>;"上找到。将其安装到本地计算机上:



此方法还将下载并安装fabric

配置
==



首先,移动到项目目录::

cd/home/user/projects/mysite

le.py``文件:

echo'来自fabpress导入任务fp'>;>fabpfile.py

>然后,生成配置文件:


fab fp.config.create

可以随意将其添加到VCS忽略的文件中。

差不多可以走了。记住为您的本地实例创建一个mysql数据库。


a bit of theory
=tes和参数名不是必需的
fab命令:value1,value2

\some任务不需要参数
fab command

远程或本地wordpress实例。例如,执行以下任务:

fab fp.db.sync:remote

第二种方法则相反:备份本地数据库,上传并导入到远程实例中。

你的目标WordPress实例。有些任务不导入数据,但仍需要目标:``fab fp.db.reset:<;target>;``将重置目标安装的所有数据库表。

请注意,fabpress帮助和文档有时会提到"来源"。这个术语是指定目标的对立面的快捷方式。使用以下命令"fab.main.sync:local"时,目标是"local",而"origin"是远程安装,数据将从中导入。

它在本地:

fab fp.main.mirror:local

典型输出

这是一个重要的选择。你想继续吗?[y/n]y
运行main.mirror[在本地]…
运行base.collect_data[在远程]…
运行main.download[在本地]…
将/var/www/mysite的权限更改为770
wp-config.php是从示例中复制的。你想编辑它吗?[y/n]y
编辑位于/var/www/mysite/wp-config.php的文件,然后重新启动此命令

fab fp.main.mirror:local
这是一个重要的选择。你想继续吗?[y/n]y


找到现有wp-config.php文件
正在运行main.sync[在本地]…
正在同步数据库(从远程到本地)
正在运行db.export[在远程]…
正在运行db.import[在本地]…
正在创建saf本地数据库的ety备份,仅在
从远程下载备份
将backup.sql导入本地数据库…
删除无用的sql备份…
运行db.fix_permalinks[在本地]…
正在将URL从mysite.com更新到localhost/mysite…
正在运行theme.sync[在本地]…
跳过主题爆炸:它列在忽略的主题中
正在运行plugin.sync[在本地]…
正在运行media.sync[在本地]…
syn将媒体文件从远程压缩到本地(请耐心等待,这可能需要一些时间)
完成。




/wp admin``并更新您的永久链接(设置>;永久链接)。你不应该在那之后再做一次。

那么,是时候工作了。我们安装主题、插件、创建新页面和帖子、导入媒体文件…

完成后,如果要在生产中推动本地更改,我们只需运行::


fab fp.main。稍后推送


/>钩子o任务运行时发生的事情。例如,在远程安装上运行"fp.theme.sync"时,从主题的git存储库中提取。hooks在这里的作用是:

hooks.py(在与fab-settings.py相同的目录中创建它)


from fabric.api import run,cd
def pull-theme():
with cd("/var/www/mysite/wp content/themes/mytheme"):
run("git pull")


ab_u settings.py



e从fabpress sample创建配置文件
fp.db.clear_backups删除目标
fp.db上的备份文件。export将数据库从目标安装导出到给定路径
fp.db.fix_permalinks search并用目标域
fp.db.导入源路径处的数据库转储到目标
fp.db.重置删除目标数据库中的所有表
fp.db.将目标数据库与源同步,将源永久行替换为目标永久行
fp.fs.drop删除目标的所有文件,包括目标目录
fp.main。在目标下载原始wordpress文件的副本(保留版本和语言)
fp.main。drop删除目标文件和数据库。也将删除安装父目录。
fp.main.help获取一些帮助
fp.main.mirror在目标位置创建原始镜像wordpress installation
fp.main.pull sync database,themes,plugins and media files from remote to localinstallation
fp.main.push sync database,themes,plugins and media files from local to remote installation
fp.main.sync将源数据库、主题、插件和媒体文件拉到目标
fp.main.wp在目标上运行wp cli命令。您不需要在它前面加上'wp'前缀,它将自动添加到目标
fp.media.sync下载原始媒体文件到目标
fp.plugin.sync下载并激活目标
fp.theme上的原始插件。sync下载并激活目标上的原始主题

限制
==


-由于某些原因,当第一次镜像wordpress安装时,您必须从管理员手动保存永久链接,以便加载自定义的posts类型永久链接。否则,访问CPT详细信息页面将导致404。
-将只下载WordPress.org上可用的主题和插件。




待办事项列表-2014年10月29日:
***********
-同步数据库现在可以清除过渡,这应该可以解决插件(如polylang)的一些url问题

0.1-2014年9月29日:
***********
-初始版本


contribution
=



欢迎光临。请随时与我联系<;contact@eliotberiot.com>;


许可证
=


该项目是根据BSD许可证授权的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么我必须强制转换这个泛型类型?   如何使用Java查找、读取和显示文本文件中的行   java URL在标签后被剪切   java加速计+按钮   java J2ME应用程序选择性地在某些手机上工作   java如何在自定义对话框内的webview上加载完网页?   java IntelliJ结构化搜索和替换问题   java从现有项目创建新的本地回购   java如何在netbeans IDE上启用只读代码?   java表达式的类型必须是数组类型,但解析为双精度   java Apache Camel:bean组件将sql结果集转换为csv:处理空值   java如何分配多个字段作为实体的主键(使用JPA)   java使用JSON从HttpClient请求解析JSON。组织分析器   java将输入转换为多个Int/Var   sqljava。lang.NullPointerException:无法对null对象调用方法addURL()   java Spring SecurityConfig单元测试,用于忽略特定URL上的Web安全性   一个或多个条件的java设计模式   java在本地主机上运行web应用程序   java如何在布局之间滑动时打开音频文件?