作者:成都长风云Drupal开发团队
正值Drupal10成熟使用、Drupal11正式发布阶段,成都长风云Drupal开发团队总结了Drupal10和Drupal11的运行环境需求,方便Drupal爱好者学习研究,为Drupal在国内的发展近一些绵薄之力。我们详细总结了Drupal11的web服务器要求、Drupal11的PHP环境要求、Drupal11的内存要求、Drupal11的composer要求、Drupal11的数据库版本要求等,请查看成都长风云Drupal开发团队官网的Drupal技术分享栏目。本文详细叙述了Drupal11运行的web服务器要求。
Drupal适用于任何具有符合PHP版本要求的PHP版本的web服务器。
许多托管服务提供商提供PHP版本选项。默认的PHP版本可能低于Drupal所需的版本,因此请在主机的控制面板中检查当前版本,并将其更改为最新支持的版本(如果需要)。
PHP偶尔会发布安全版本,请在PHP.net上关注它们,并根据需要升级/修补服务器,或者与处理PHP更新的托管提供商合作。
如果你想在你的计算机上创建和开发Drupal网站,你可以在本地安装所需的一切。
安全提示:一些安全功能仅通过使用.htaccess和web.config文件为Apache和(在较小程度上)IIS提供。您有责任在不使用Apache时重新创建这些功能。
一、Drupal11文件和文件夹权限设置
Drupal和PHP应该具有对/sites/default/files目录的读写访问权限。此区域用于存储缓存文件(压缩的CSS和JavaScript)以及通过Drupal界面上传的任何文件。
安全提示:像0777这样的通用权限是不安全的,不鼓励使用。
二、Drupal11的Apache要求
Apache是Drupal11最常用的web服务器。Drupal需要在UNIX/Linux、OS X或Windows上托管Apache 2.4.7或更高版本。
Drupal11的大部分开发和部署都是在Apache上完成的,因此在Apache上进行的社区体验和测试比在其他web服务器上进行的要多。
需要Apache的“mod_rewrite”扩展名。它用于干净的URL。
Apache Virtualhost配置必须包含AllowOverride All指令,以允许使用Drupal的.htaccess文件。
如果Apache服务器默认启用了Options+MultiViews,则Apache Virtualhost配置还应包含Options-MultiViews(或将-MultiViews添加到现有的Options指令中)。
在某些系统上,特别是OpenSuse发行版,您可能需要将SymLink设置添加到.htaccess文件中。根据安全设置,您可能需要添加+FollowSymLinks或+SymLinksIfOwnerMatch(尤其是在共享主机上)。如果需要这样做,屏幕上的错误消息可能没有帮助,但错误日志在这两种情况下都能正确识别问题。如果你编辑.htaccess文件,记住你必须在更新后重新编辑,因为更新会覆盖文件!
如果您使用的是共享主机,并且无法通过GUI或其他方式更改DocumentRoot,请参阅使用符号链接在共享主机上重新定位web根。
三、Drupal11的Nginx要求
Nginx是一种常用的web服务器,专注于高并发性、高性能和低内存使用。
Drupal11需要在UNIX/Linux、OS X或Windows上托管Nginx 1.1或更高版本。Nginx是Apache的流行替代品,因此在Nginx上也有大量的社区经验和测试。
四、Drupal11的微软IIS要求
Microsoft IIS是一个web服务器和一组适用于Microsoft Windows的功能扩展模块。
如果PHP配置正确,Drupal核心将适用于IIS 5、IIS 6、IIS 7、IIS 8或IIS 10。
为了获得一个干净的URL,您可能需要使用第三方产品。对于IIS 7或8,您可以使用Microsoft URL重写模块或第三方解决方案。
在IIS 7上,MySQL需要Windows 2008 Server SP2或更高版本才能获得fastCGI支持。
从MySQL 11.0.0开始,它不支持使用Microsoft IIS。
总体来说,根据成都长风云Drupal开发团队的经验,我们不支持将Drupal部署在IIS服务器上。
五、PHP内置Web服务器(仅限开发)
PHP内置Web服务器作为CLI SAPI工具包含在所有最新版本的PHP中,旨在帮助应用程序开发。它也可能用于测试目的或在受控环境中运行的应用程序演示。它不是一个功能齐全的web服务器,因此,它不应该被用作公共用途的生产服务器。
可以使用Drupal快速启动命令启动此web服务器。
六、互联网协议(IP)版本
Drupal11 Core不限制基于IP格式的访问。具体来说,使用IPv4和IPv6的请求符合Drupal11 Core。某些附加模块(贡献或自定义)可能对IP版本有自己的限制或要求。然而,Drupal11 Core本身没有这样的限制。