以编程方式创建初始WordPress站点

时间:2014-03-19 作者:davidgo

(我找到了一些定制初始安装的链接,如this onethis one, 但除非我遗漏了什么——这很可能,否则他们不会回答我的问题)

我想设置一个最小的Wordpress安装,然后用户可以使用它运行。我写了一个脚本,下载最新的wordpress并创建一个wp配置。带有数据库设置等的php页面。用户第一次访问他们的站点时,它会要求他们提供站点标题、用户名、密码和电子邮件地址。

由于有人创建了其中一个网站,但没有继续输入其详细信息,该网站最终被黑客发现并利用。我突然想到,要解决这个问题,我所需要做的就是为这些字段指定初始详细信息,并将它们自动传达给网站所有者,但这似乎说起来容易做起来难。

在尝试设置新博客时,我发现只有在运行此安装页面后,才会创建数据库架构。我不愿意创建一个初始的SQL模式并将其转储,因为我担心新版本的Wordpress会使用不同的模式,从而破坏安装过程(这种担心有道理吗?)

有没有一种方法可以通过编程来处理“install.php”之类的东西,或者至少让wordpress自动创建模式和默认值,这样我就可以预填充用户名和密码?

(让我印象深刻的是,作为替代方案,我可能可以在Apache中使用.htaccess文件来使用密码保护install.php,但这似乎不是一个优雅的解决方案)

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

我强烈推荐WP-CLI 对于此类任务。这是一个允许在命令行上安装和配置WordPress的工具。

您正在尝试的内容可以轻松完成:

wp core download
wp core config --dbname=<dbname> --dbuser=<dbuser> --dbpass=<dbpass>
wp core install --url=<url> --title=<site-title> --admin_user=<username> --admin_password=<password> --admin_email=<email>
有一个lot of other commands 您可以使用它进一步自定义安装。

SO网友:davidgo

我想出了一个简单而优雅的方法来解决这个问题——在完成安装后,我可以简单地使用CURL通过一个带有如下命令行的网页为初始用户提交值

curl --data "user_name=USERNAMEHERE&admin_password=PasswordHere&admin_password2=PasswordHere&[email protected]&blog_public=checked&Submit=submit" "http://site.name/wp-admin/install.php?step=2
请注意,此解决方案确实在命令行传递程序,因此,如果有人可以看到系统上正在执行post的进程列表,那么这可能不是最安全的方式(在我的环境中这不是问题)。进一步研究这个问题,我怀疑我可以使用curl--data@FILE,它可以从文件中读取数据,但可能不会在命令行上显示。

SO网友:Kumar

如果您使用的是Linux,那么很幸运,有一个命令行工具EasyEngine 该网站最近在2014年孟买Wordcamp上公开发布,您可以在5分钟内安装完整的网站。不仅是安装,还为您提供了其他管理站点的选项。

我认为这是一个非常方便的工具。

结束

相关推荐

Custom WordPress Installation

我想知道下面的帖子中描述的自定义WordPress安装的方法是否有更新版本。http://wpbits.wordpress.com/2007/08/10/automating-wordpress-customizations-the-installphp-way/