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对多个for循环使用一个整数有什么好处?   要求的Java枚举错误返回类型   使用AOP的Java Spring MVC CSRF令牌   PHP ZF2中的java 安卓登录按钮和远程web登录   java将双精度转换为整数转换为字符串,并在TxtField CodeNameOne中输出   java代码不断向后向数组中输入值   如何使用Java获取git信息?   当使用DateUtils类的parseDateStructive()方法时,java异常无法解析日期   java执行示例Flink kafka consummer   java触发REST调用时无法解释某些汉字   java错误:不兼容的类型:<null>如果使用安卓 room(!\u cursor.isNull(null))则无法转换为int   java Spring引导构建正常,但Heroku部署失败   我无法使用ORMLite库在java(安卓)中执行“WITH RECURSIVE”子句   java JavaFX图像加载错误