我收到了把一个网站转移到一个新的主机的紧急项目。通常情况下,这是很容易的,直到我意识到网站正在失去它的托管在短短几天,settings.php不是在网站/默认目录,也不是文件目录。这个结构根本不是标准的D7。
后来我意识到该网站目前托管在Aegir上,诚然,我对此一无所知,但我不知道Aegir是否创建了非标准的结构。我使用树命令显示了下面的结构:
tree project/sites/ -L 2
core-1.23/sites/
|-- all
| |-- drush
| |-- libraries
| |-- modules
| |-- README.txt
| `-- themes
|-- default
| `-- default.settings.php
|-- example.sites.php
|-- sites.php
`-- www.clientsite.com
|-- drushrc.php
|-- email
|-- files
|-- googlef1245ba6b3c38a3c.hmtl
|-- libraries
|-- local.settings.php
|-- modules
|-- pdf
|-- private
|-- README.md
|-- settings_.php
|-- settings.php
|-- themes
`-- vendor如您所见,settings.php位于一个以实际活动站点命名的子目录中,与普通的Drupal 7代码结构非常不同。
我承认我被这件事所困扰。
有人能告诉我,这是否是Aegir布局Drupal结构的方式,以及我如何将它移动到更传统的D7结构?
发布于 2019-07-18 19:22:45
你写道:
settings.php不在sites/default目录中,files目录也不在。这个结构根本不是标准的D7。
那是不正确的。来自Aegir文件:
Aegir在平台上安装站点,这意味着它将站点目录放置在
/var/aegir/platforms/<your_platform>/sites/<yoursite.com>中。许多站点都可以安装在一个平台的“站点”目录中。这是一个标准的,内置的Drupal特性,被称为“多站点”,它并不是Aegir独有的。
...and 多站点上的官方Drupal文档:
但是,应该注意的是,最好使用Aegir主机系统。它为您完成了使用安全最佳实践的所有繁重工作,包括自动为Apache和Nginx配置虚拟主机、添加HTTPS支持、运行编写器命令等。参见建立“平台”的文档,Aegir-表示多站点代码基。
所以,当你问我,我怎么才能把它移到一个更传统的D7结构?,正确的答案是你不能。除了遵循Drupal标准,Aegir还遵循安全方面的最佳实践(例如设置安全文件权限)和可持续性(同时对多个站点进行点击升级)。因此,与“传统”方式相比,使用Aegir托管Drupal站点要好得多。
因此,我的建议是在其他地方设置一个新的Aegir实例,然后在旧实例退役之前设置远程导入站点。如果您自己正在运行一个灯堆栈,那么您不应该为多站点Drupal运行Aegir的原因非常少。
https://drupal.stackexchange.com/questions/283619
复制相似问题