系统要求

  1. 一个可执行PHP脚本的网站服务器
    • 推荐使用:Apache。Drupal的开发基于Apache1.3.x,并在2.0.x上成功测试。
    • 其它选择:IIS。Drupal的开发也考虑了兼容IIS,正确设置PHP后,IIS5和IIS6都可正常运行。
  2. PHP
    • Drupal4.6需要PHP4.3.3以上才可运行(Drupal4.6也支持PHP5)。Drupal4.2到4.5.2版本需要PHP4.1以上,更老的Drupal版本可以运行在PHP4.0.6上。我们推荐使用最新版本的PHP4.x。
    • PHP XML extention (用于bloggerapi,drupal,jabber和ping模块)。此PHP扩展在PHP安装后是缺省开启的;PHP的windows版本也内建了对此扩展的支持。
    • Drupal核心安装需要8MB PHP内存。如果你安装了其它扩展模块,可能还需提高PHP内存设定。CivicSpace等定制的Drupal安装包可能也需要比8MB更高的PHP内存。
    • PHP需要设定以下参数: session.save_handler: user
    • 此外还建议设置以下参数:
      session.cache_limiter: none
      以上我们只列出了与缺省的PHP设定(从PHP4.0.6开始)不同的参数设定。
    • 上面的两个设置已经包含在Drupal安装包的缺省.htaccess文件中了,所以你不需要显式的设置他们。不过,这些.htaccess中用来取代php设置的选项仅在apache及其兼容服务器并且满足以下条件时生效:
      1. 当.htaccess文件确实被读取了,比如AllowOverride 不是None时
      2. 当PHP被作为一个模块安装到apache时
    • 这里列出了其它情况下如何更改PHP设置。
    • 使用基于PEAR的数据库时,当然需要先[url=http://pear.php.net/manual/en/installation.php先[url=]安装PEAR[/url]
  3. PHP支持的数据库服务器

    • 推荐使用:MySQL v3.23.17及以上版本,以支持Drupal中关于join_condition条件下INNER JOIN的用法。也可以使用MySQL4。
    • Drupal使用了一些特殊的MySQL功能,如LOCK TABLE权限,很多便宜的主机不支持此功能,请事先咨询好。
    • PostgreSQL:Drupal4.7对PostgreSQL7.3及以上版本支持良好。(7.2也可以,但从Drupal4.6升级到4.7时,可能会出现错误。)

注意:如果你的服务器运行的是MySQL4.1或更高版本,可能会碰到这里提到的问题;对MySQL5可能还会碰到这里提到的问题,您可以查阅相关文章找到解决方案。

此外,xTemplate(也是Drupal4.6及以前版本中缺省的主题引擎)在PHP5.0.5和5.1下可能会有一些问题。建议把您的主题转换为使用phpTemplate引擎,这也是最新的 Drupal 4.7默认的主题引擎。

客户端系统要求

Drupal致力于遵守互联网标准,但必要的时候为了兼容一些流行的非标准客户端软件,也会做出相应的调整。

Javascript

对于Javascript,我们测试了所有必需的API功能(DOM APIs),在此基础上,还测试了开启或关闭所有JS功能。这样我们就不必考虑特定的浏览器,只需考虑它们支持什么功能即可。

CSS

CSS的情况与Javascript很相像。唯一的区别就在于,对于CSS,Internet Explorer和其它遵循标准的浏览器的区别非常大。我们支持使用CSS2,必要的时候并同时提供相应的IE6解决方案。

RSS

Drupal的RSS feeds适用于所有的RSS feed阅读器。

浏览器

IE6,FF1.0/1.5和Safari 1.x/2.0都完全支持。Konqueror的最新版本也应该可以。

流行的浏览器

总体来说浏览器的使用,IE占85%,Firefox 10%,Safari 3%,Opera大概占2%。在访问drupal.org的用户中,50%使用Firefox/Mozilla,30%使用IE,20%用其它。

已知问题

IE5和IE5.5可能会遇到一些排版问题。IE5.0下Javascript不工作。我们预想Firefox和Opera的用户将会更好的浏览最新版本的Drupal。

IE4和Netscape4由于太古老,用户很少,不再我们的考虑之列。

Validation

Drupal HTML和RSS代码都应该可以通过W3C验证。

说明

本文只是作为Drupal核心,模块和主题的指导说明,并不保证完全准确。在实际应用中,Drupal核心代码比其它用户贡献的代码将会更符合以上标准。如果您发现了与上面说明不符的客户端兼容问题,请先尝试找到问题的原因并到drupal总站提出请求,如果您能附上解决办法就更理想了。

如何向您的咨询客户推荐服务器的配置

当为Drupal 站点考虑服务器硬件时, 通常有两个重要的问题:

1. 您将使用哪些模块? 某些模块对服务器有更高的要求, 一般而论,更多模块就意味更多服务器要求。

2. 您将有多少名用户并且他们打算做什么? 更多用户将给服务器更大的工作压力, 特别是在这些用户登录和发表评论或文章的时候。如果用户很多,您将需要一台更加强有力的服务器。

您需要同时考虑这两个问题。 例如, 您可能会有一个高度复杂站点(也就是说启用了很多的模块)与非常少量用户,如果是这样的话,你可以使用共享的网络空间。 或者, 您可能使用非常少量模块, 譬如只用刀编辑器, 缓存等, 并且网站的流量也不是很大,如果是这样,你也可以只使用一个共享的网络空间。

如果您的项目是一个更加交互式的环境并有非常多的用户登录以及张贴文章,那么您需要考虑有着更加强有力的硬件的站点。如果您打算是用自己的服务器,在手册中的调制您的服务器以优化Drupal 表现的章节有相关的介绍。 调制服务器也许允许您继续使用原有的硬件而不是升级, 但是它比较费时,不如简单地购买新硬件方便。

当您决定升级服务器的硬件, 请记住"Apache有带宽被限制, PHP 有CPU 被限制, MySQL 有内存限制,硬盘有I/O 限制"。

给客户消息

如果您的客户预算有限,那么可以向他推荐比下面配置稍低一些服务器,如果您的客户更看重将来升级的可能性并打算在以后购买新的硬件,那么可以向他推荐比下面的配置稍高一些的服务器。

如果您打算配置新的服务器(而不是在已有的服务器上安装Drupal)请留意以后升级的可能性。 您可以先购买一台服务器并随着你的网站的发展进行必要的升级。 譬如,刚开始,可以把网络服务器和数据库放在同一台被优化过的服务器上提供网络服务。 随着站点规模的增大,您需要处理更多的用户请求,这时您可以把数据库放在另外一个服务器上。 如果您的站点的规模继续增长,由"网络服务器之外" 和 "数据库服务器" 构成的双服务器配置已经不能满足您的要求,您可以考虑使用一个网络服务器和多个数据库服务器。

基准配置

服务器的基准配置的例子之一是 MBR .org,它的服务器使用的是Apache 1.3 和MySQL 4 .1 并有1Gb的内存 。 MySQL 分索引(Indexing), 数据库内存使用以及针对InnoDB的 MyISAM 都在控制之中。

这个手册页面里需要更多类似的个案分析。