如何使用带有嵌套web根目录的WordPress安装程序的Kalabox?

我一直在努力和失败的一个星期,让Kalabox与一个嵌套的万维网根与WordPress的安装WordPress的工作。 我发现了一些很棒的资源,但是其中很多资源都是用于Drupal的,而且他们似乎并没有转化为WP安装,就像Tandem在这里所写的那样: https : //www.thinktandem.io/blog/2017/ 5月20日/使用-神殿-S-嵌套文档根与- kalabox /

有没有人有快速演练,将工作? 谢谢!

我想到了! 以下是它所做的:

1.在万神殿安装一个站点

  • 创build网站

2.使用Kalabox将网站复制到本地机器

确保你已经在你的机器上安装了Kalabox。 这也将安装Docker,如果你还没有安装它。 现在,打开你的terminal。

mkdir -p ~/Kalabox cd ~/Kalabox kbox create pantheon # follow the prompts to clone down your Pantheon site 

3.添加您的网站代码

这是真正的工作开始的地方。 确保你在主要的Kalabox目录中。 我正在使用优秀的高级WordPress的万神殿作为这个应用程序的样板。 但是,你可以使用任何你想要的。

 # replace text in < > with your site name cd ~/Kalabox/<your-site-name> rm -rf code/ # Clone this or copy your own site code into the code directory git clone https://github.com/ataylorme/advanced-wordpress-on-pantheon.git code 

如果您使用上面的高级WordPress安装,请input以下几行:

 cd code/ ./bin/local-build.sh 

确保你将代码添加到~/Kalabox/<your-site-name>/code/目录中。

您现在可以在您的浏览器的http://.kbox.site上访问您的网站,但是如果您有嵌套的Web根目录,则可能会看到Nginx 500错误。 这是我们正在尝试解决的问题!

4.编辑Kalabox安装程序以允许嵌套的Web根目录

这部分是秘密酱油。 我们必须进入Kalabox设置的Docker容器并更改nginxconfiguration文件。 如果所有这些对你来说都是无意义的,别担心。 这些简单的指导应该帮助你做到这一点! 回到terminal!

 docker ps 

这将转储一个包含正在运行的Docker容器列表的表。 在图像列下find说nginix那个。 立即查看“ Container ID列中的左侧。 请注意,复制和/或写下该容器ID的前四个字母。 您将在下一个命令的<container-id>部分中使用它们:

 docker exec -i -t <container-id> bash 

这会用你的nginx容器打开一个伪远程shell。 好极了! 现在我们可以编辑nginx文件,并让我们的网站正常运行! 命令行可能有所变化,将您的用户显示为root@<your-site-name> 。 这意味着它的工作。

nginx容器默认没有下载文本编辑器。 所以,我们将下载一个名为Nano的小文本编辑器。

 apt-get update apt-get install nano 

一旦这些命令完成运行,我们可以编辑configuration文件:

 nano /etc/nginx/conf.d/default.conf 

这将打开Nano编辑器与我们正在尝试编辑的configuration文件。 查看并更改以下几行:

 # This one is near the top of the file # Before root /code; # After root /code/web; # These next two are near the bottom of the file. # This exact line appears twice--once in the `location ~ ^/simplesaml/` # block, and once in the `location ~ \.php$` block. Edit it in # BOTH locations. # # Before fastcgi_param SCRIPT_FILENAME /code/$fastcgi_script_name; # After fastcgi_param SCRIPT_FILENAME /code/web/$fastcgi_script_name; 

完成之后,input<Ctrl-o> <Enter> <Ctrl-x>保存您的工作并退出。 你回到你的Docker容器的伪shell。 键入exit返回到正常的命令行。

5.重buildKalabox并testing它!

确保你在~/Kalabox/<your-site-name>目录下,然后键入kbox restart ,以确保你已经清除了Kalaboxcaching中的所有内容。 Kalabox将停止并重新启动您的网站。 一旦完成,请访问http://.kbox.site在您的浏览器看到你的工作!

额外的好东西

  • 升级到PHP 7:在你最喜欢的编辑器中打开~/Kalabox/<your-site-name>/kalabox.yml ,把第33行改为php: 70
  • 删除Undefined Index: NONCE_KEY错误:打开~/Kalabox/<your-site-name>/config/php/prepend.php并大致转到第55行读取$_ENV['NONCE_SALT'] = getenv('NONCE_SALT'); 。 在它下面添加一个类似的行: $_ENV['NONCE_KEY'] = getenv('NONCE_KEY');