安装与配置

安装与配置Drupal的向导。这个向导将包括很多关于使用Drupal模块,安装外观主题等的技巧以及一个最终用户向导。

介绍 Drupal 的术语(翻译稿)

Drupal 是一个基于网站的内容管理系统(CMS)。文字和关于其它类型内容的连接都存放在数据库中,通过响应浏览器发出的请求,进行动态的存取、编辑,并呈现给用户。

Drupal 里的内容是独立的“节点”(node)。对于“新闻”(story)类型的节点,用户可以对其进行评论(评论本身并不视为节点)。根据网站设置,可以启用或禁用建立新节点和/或发表评论的功能。此外,节点或评论(comment)也可以设置为需要经由审核通过才可以公开发表。Blog 文章是另一种 Drupal 节点类型。

Drupal 默认的布局(主题, theme)由三列组成。中间列一般是内容,通常是用来显示按发表时间排列的节点的摘要。如果你点某一节点的摘要(译注:一般是节点标题),就会在中间列显示该节点的完整内容。

左侧和右侧的列是“边栏”(sidebar)。边栏可以显示相关信息的“区块”(block)。区块通常包含通往其它节点的链接。举例来说,会有显示最新发表的新闻的区块、或是最热门新闻的区块。对于新安装的系统来说,会有一个用户登录区块,以及一个包含了目前可执行的操作的导航菜单。根据你的操作和所拥有的权限(“角色”, role),会在导航区块里显示不同的菜单项。

此外,根据你的操作和所拥有的权限,会显示或不显示某些区块。举例来说,如果你已经登录系统了,就不会显示用户登录区块;如果没有任何新闻类型的内容节点,就不会显示“最近新闻”区块。管理员可以在管理->区块菜单里启用/禁用不同的区块。

节点可以按分类(category,或称taxonomy)进行组织。论坛就是一种用分类来进行组织的内容节点。分类可以是层次性的,父分类可包含多个子分类。

Drupal的新功能通常都是通过模块(module)的方式来导入。当管理员在 modules 目录下新增了一个模块文件时,使用该模块的选项就会出现在管理->模块菜单中。如果管理员启用了该模块,该模块相应的功能就可以使用了。模块可以定义新的节点类型,导航区块里可能会出现新的选单,或是在边栏里出现新的区块。

在手册和论坛中,许多关键词和术语有其特定的含义,了解他们,将有助于你使用 Drupal,并且当您在论坛问问题时,能够更有效地进行沟通。

原文: http://drupal.org/node/21951
参考: http://tw-drupal.info/handbooks/Introduction_to_drupal_terminology
哪位弟兄帮忙改改?

节点类型

Drupal所有内容都以节点(node)方式存放。Drupal的基本节点类型很少,但是很灵活。

Blog文章 (Blog Entry)

Blog(或web log)是一种网上笔记或日志。社群的成员可以通过blog来自由记录自己的想法,而不必过分担心自己的文章是否符合站点的主题。

手册页面 (Book Page)

手册页面可用来组成一个协同写作的手册(比如您现在正在看的drupal手册)。在早期版本里只有专门的手册页面才可以作为手册的一部分,现在任何类型的节点都可以加入到手册中,从而使得手册的组织更灵活。

评论 (comment)

评论实际上不是节点,而是自己特殊的内容类型,可以允许用户针对任何节点添加评论。

论坛 (Forum)

论坛是多个节点及其评论的集合。这些节点及评论被组织在一起并分配给一个讨论版面,每一个版面同时就是一个分类项(taxonomy term)。多个版面又可以再组织成一个讨论区(forum container),每一个讨论区也是一个分类项,在分类结构中都属于一个叫做论坛(forums)的分类。

页面 (Page)

页面是一种简单的节点,通常用于静态内容的发布,并连接到(当然并非必须)导航条。

投票 (Poll)

一个投票通常是一个多项选择问题,用户可以参与投票回答问题并察看投票结果。

新闻 (Story)

新闻页面是大多数内容管理系统都有的通用的页面类型。新闻页面通常用于发布具有时效性的内容。

除了以上列出的之外,很多扩展模块还会提供额外的内容类型供使用。

注意:一个常见的问题就是,新闻(story)和页面(page)类型到底有什么不同?答案是,差别不大。在早期版本中差别比较明显,但现在只不过有不同的名字,完全看你怎么设置使用它们了。

专用术语

Drupal使用了特定的词条来表示特定的意义。下面是一些Drupal专用术语的介绍:

区块 (Block)

当你浏览drupal页面时,左右边栏通常有一些导航条或提供一些额外信息的栏目,这些就是区块。在drupal4.6里,区块的的摆放是通过外观主题(theme)来控制的;在drupal4.7里,则可以通过管理/设置(admin/settings)来更加灵活地摆放。区块本身不是节点(node),而只是在页面中展示内容的一种方式。区块的外观显示可以在外观主体中控制,通过定义 block($subject, $content, $region="main") 来实现。更多信息可参见区块设置与管理手册页面。

外观主题引擎 (Theme Engine)

外观主题引擎是一套解释节本,可以把网站的动态内容输出为html,从而帮助你更方便地设计网站的外观。Drupal提供了3种主题引擎供你使用,当然你也可以不通过引擎而直接设计外观主题。4.6及之前的drupal版本,缺省使用xTemplate引擎,4.7之后缺省使用phpTemplate引擎。可以到drupal.org的主题引擎下载页面察看并下载。

过滤器 (Filter)

用于内容过滤。一般用于特指输入法过滤(input filter),比如bbcode filter就是把bbcode语法输入转换为html标签,这样用户就可以通过bbcode格式来输入格式化内容。

模块 (Module)

模块实际上是一套代码,用于扩展drupal来满足特定的功能需要。核心模块指那些drupal下载安装后自带的模块。扩展模块,是其它那些由drupal使用者贡献的模块,可以在drupal总站的模块下载页面找到。请注意你所下载安装的模块版本,一定要与你的drupal版本相符,这样才能正常使用。

节点 (Node)

几乎所有的drupal内容都保存为一个节点。当大家讲一个节点时,其实也就是指drupal里的一段内容,比如一篇文章,一个投票或者一个手册页面等。

权限 (Permissions)

权限用于控制用户是否可以新建内容,修改内容以及管理网站。管理员(administrators)可以分配不同的权限给不同的角色(roles),然后指定给用户不同的角色。Drupal网站的第一个用户(uid=1)将自动拥有所有的权限,不管之后该用户被分配给了什么角色。

角色 (Roles)

一个角色实际上就是一套特定的权限设定,以进一步分配给用户使用。用户可以同时拥有多个角色,并将拥有不同角色的所有权限。Drupal安装后会自动生成两个角色,已认证的用户(authenticated user)和匿名用户(anonymous user),管理员可以进一步更改这两个角色的权限,也可以再建立新的角色。

样式 (Style)

样式指的是一个或多个用于改变缺省外观显示的CSS文件。

分类 (Taxonomy)

Taxonomy字面上的意思是分类学。Drupal用这个词来描述其分类系统。用户可以通过分类来分门别类的管理展示站点内容。在Drupal里,taxonomy通常是指包含了多个分类的集合。更多有关分类系统的介绍,请参看这里

模板 (Template)

一个模板就是一个可用于生成html的文件,其中大部分为html代码,另外还包括一些特殊的代码,用于代入外观引擎(theme engine)提供的特殊数据。

外观主题 (Theme)

一个外观主题由一个或多个文件(包括php,theme,css,jpg,gif,png等)组成,它们共同决定了你的站点的外观。这些文件通常为drupal的外观主题引擎(theme engine)所调用,从而把不同的参数转化为html标记。Drupal模块还定义了可定制的外观函数,可以通过在theme文件里重定义这些外观函数来方便的控制你的站点外观。另外在总站还提供更多的主题下载

关于Drupal路径

Drupal路径举例:
node/3
flexinode/7
taxonomy/term/6
flexinode/list/3
user/login (当你关闭了登陆模块又需要登陆时,这个路径就派上用场了)

如何找到Drupal路径
可以到管理/内容(admin/content)里找到特定页面的路径。你将会看到所有已发布的内容页面的列表。把鼠标移动到标题上,你就可以在浏览器左下角的状态栏看到类似下面的字串;当然也可以点击该标题,在新打开页面的地址栏找到类似字串:

http://www.yourdomain.com/?q=node/54

在 /?q= 之后的部分就是drupal路径,比如上面的就是 node/54

当你的鼠标移动到链接上时,注意一下浏览器的状态栏;或者在打开新页面时,看一下地址栏,你都会发现更多的drupal路径。

其他一些可以找到Drupal路径的地方:
管理 >> 分类 (administer >> categories)里,移动鼠标到上方的“编辑词条”(edit term)连接上,就可以看到类似 taxnonomy/term/6 的Drupal路径。

系统要求

  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 都在控制之中。

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

Drupal安装(包括模块与主题的安装)

Drupal安装,模块与主题的安装大致上的过程都差不多,只要你熟悉了这一过程,需要的时候就可以很轻松的重复安装。

成功安装Drupal之后,你需要进入设置菜单(settings menu)进行一些基本的站点设置

安装与设置站点只是管理员的一部分工作,你还需要定时备份,测试和维护你的站点,关于这方面的内容请参见手册中的最佳实用技巧部分,并订阅drupal总站的安全通讯以及时获得安全方面的信息。

下载Drupal 6.x

我们可以从http://drupal.org/获得Drupal的最新版本。文件是 .tar.gz格式并且可以使用最压缩工具解压缩。对一个典型的Unix命令行,请使用:wget http://drupal.org/files/projects/drupal-x.x.tar.gz

tar -zxvf drupal-x.x.tar.gz

这样会建立一个新的drupal-x.x/目录包括所有的Drupal文件和目录。把这个目录包括的这些文件移动到网站服务器文件的根目录下面或者是你的公开的HTML目录下面:

笔记

在Windows系统上,您可以使用一些压缩程序。例如一个是 7-Zip (http://www.7-zip.org/). 解压缩到一个drupal - x.x.tar文件,然后再解压。

把这个目录包括的这些文件移动到网站服务器文件的根目录下面或者是你的公开的HTML目录下面:

mv drupal-x.x/* drupal-x.x/.htaccess var/www/html

如果你想把默认的英语接口翻译到不同的语言,我们这里有好消息。你可以在刚开始用其他的语言安装和使用Drupal.打开这个页面http://drupal.org/project/translations and download the package,选取一个被释放的你需要的语言包,看是否可以使用在这个Drupal版本上 .内容解压缩到与drupal相同的解压目录下。

创建数据库

drupal需要进入一个数据库,以便进行安装。您的数据库用户将需要足够的特权来运行drupal 。如需有关特权,并指示建立一个数据库,使用命令行可在安装。

要创建一个数据库使用phpmyadmin或基于Web的控制面板谘询文件,或要求您的网页主机服务提供商。
注意该用户名,密码,数据库名称和主机当您建立数据库。你将进入这些项目在安装脚本。

用MySQL创建数据库
这一步是不仅是必要的如果你不已经有一个数据库的设立(如您的主机) 。在下面的例子, ‘用户名’就是一个例子MySQL用户,其中有创造和给予特权。使用适当的使用者名称为您的系统。
首先,您必须创建一个新数据库,为您的drupal网站在这里, ‘ databasename ‘的名称是新的数据库) :
mysqladmin -u username -p create databasename
MySQL中会提示为’ UserName ‘的资料库密码,然后创建初始数据库文件。接下来,您必须登录,并设置Access数据库的权利:
mysql -u username -p

再次,您会被要求为’ UserName ‘的数据库密码。在MySQL的提示符下,输入以下命令:
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON databasename.* TO ‘username’@'localhost’ IDENTIFIED BY ‘password’;
where
‘ databasename ‘的名称是您的database’username @localhost’的使用者名称是你的MySQL account’password ‘是需要密码为用户名
笔记:
除非您的数据库用户的所有特权,在上面列出,您将无法运行drupal 。
如果成功的话,将MySQL的答复:

Query OK, 0 rows affected
以启用新的权限,输入以下命令:
FLUSH PRIVILEGES;
该数据库应建立与UTF-8( Unicode的)编码。
用PostgreSQL创建数据库
数据库必须建立与-8 ( Unicode的)编码。
1 。创建数据库用户

这一步是不仅是必要的如果你不已经有一个用户设置(例如,通过您的主机)或您要创建新用户使用drupal只。下面的命令

createuser –pwprompt –encrypted –no-adduser
–no-createdb username
如果一切运作正常,您会看到一个
“CREATE USER” 的通知。
2 。创建drupal数据库
这一步是不仅是必要的如果你不已经有一个数据库安装程序(如您的主机)或您要创建新数据库使用drupal只。下面的命令创建一个新的数据库名为“ databasename ” ,这是国有由以前创建的“用户名” :

createdb –encoding=UNICODE –owner=username databasename
如果一切运作正常,您会看到一个“CREATE DATABASE” 的通知。

在配置文件中设定写入权限

在sites/default目录下drupal具有default.settings.php文件。安装程序将在相同的目录下创建一个此文件的复制文件,并且包括你在安装过程中提供的细节内容。 用命令通过sites/default 目录给Web服务器写入特权(从安装目录) :

chmod o+w sites/default

注意:

对Windows系统,这样将改变权限,并确定该文件是否设定为只读。

安装Drupal

下面是一些介绍Drupal安装的中文原创文章:

Drupal 5 简易安装指南(文字版)

  1. 检查自己的系统配置
    这里看看Drupal的基本系统要求,确认你的系统符合这一要求
  2. 下载Drupal
    现在的最新版本是5.0 beta2,到这里。上传/解压到你的空间,比如/public_html/drupal/ 目录下。(切记不要按照4.7的老习惯手动设置settings.php)
  3. 新建数据库
    下面我们要为Drupal新建一个空的数据库,具体过程这里就不说了,在你的空间商提供的网站管理控制面板(比如CPanel)里面应该有这一功能。例如,我们建立一个叫'drupaltest'的数据库,用户名为'dami', 密码'12345'。要记得赋予用户'dami'相应的数据库权限,特别是LOCK TABLE的权限。(不要手动导入Drupal数据库,在下一步的安装程序会帮你完成)
  4. 运行Drupal的自动安装程序
    在你的浏览器打开你的Drupal安装地址,比如 http://www.mysite.com/drupal 如果一切正常的话,Drupal的安装程序应该自动运行,你应该能看到Drupal图标及数据库设置(Database configuration)页面。
    输入相应的数据库名称(drupaltest),用户名(dami),密码(12345)。(如果你的数据库地址、端口等有特殊要求,或者想给数据库加上前缀名,可以在'Advanced options'里面配置。)
    点击'Save configuration'完成配置,稍等片刻,Drupal会自动导入数据库完成配置。完成后,你应该看到‘Drupal installation Complete'的页面。点下面的'your new site'连接访问你的新Drupal站点!
  5. 首次访问Drupal站点,生成管理员账号
    新站点打开后,你将看到传说中的Garland主题,呵呵,别忙着激动,你还有一项重要的工作需要做:设置管理员密码!Drupal设定第一个用户(nid=1)为站点管理员,拥有一切管理站点内容的权利,赶紧点击那个'create first account'连接,创建你的管理员账号。
    这时你将进入建立账号页面,输入你想要设定的管理员用户名(比如admin),以及你的email地址。点'create new account'按钮,生成账号。
    注意不要忽略这一步:
    这时你就可以看到admin账号的信息了,如果你在本机测试或者邮件服务器(SMTP)没有设置好,那么可能会出现红色的警告(warning)信息,那是由于admin密码没有正确发送到你的email地址的原因。别着急,你的密码就列在下面,一个绿色的粗体字串,像这样的:XoALciBZxP。记下这个密码,同时赶紧到同一页面的下方,设定你的新密码。同时你还可以设定admin的签名档、时区等。点击'submit',大功告成了!

Drupal 5 简易安装指南(图片版)

参照今日志的4.7安装说明图片版制作,也放在flickr:

http://www.flickr.com/photos/drupalchina/sets/72157594417813106/show/

Drupal 4.7 中文化安装指南(图示+Flash)

制作的Drupal4.7图形化安装指南,放在flickr:

http://www.flickr.com/photos/todays/sets/912418/show/

安装Drupal 6.x

drupal拥有自动安装脚本会自动填充数据库表,并列出了正确的设定settings.php文件。

尽管我们认识到,有一些图形工具也可以做这些事情,可是我们没有帐户不可能看到整个文件。基于这样的情况,这本手册包括基本方法。一些操作,如下载和移动您的档案复制到您的主机目录和具体的鼠标点击设立您的数据库,通过图形界面更好地涵盖与您的主机或工具文档。

我们知道,很多人跳过前几章,跳过这一节,如果您遇到困难关于术语或者规则的混淆,你就会考虑到返回去重新看前面的章节是最好的做法。

安装drupal-6.2和简体中文语言包

注意:drupal-6.3 需要手动在/sites/default/ 文件夹内创建 settings.php,并设置settings.php有读写权限

此文章将带你安装drupal-6.2以及加载简体中文语言包到站点

下载drupal-6.2

http://ftp.osuosl.org/pub/drupal/files/projects/drupal-6.2.tar.gz

解压并上传到站点根目录

在安装之前你需要建立数据库

如果你想使用简体中文语言全新安装,请参考本文“安装简体中文语言包”部分,先上传语言包,再安装drupal-6.2,由于采用简体中文语言全新安装有个bug,需要在安装之前将Drupal安装根目录下的install.php 第93行中的下面字串,从
[^a-zA-Z_0-9]

修改为
[^a-zA-Z-0-9]

你可以参考这篇文章

http://drupalchina.org/node/4212

我们将要在文章使用的网址是:http://domains.com作为例子

URL到:http://domains.com

URL地址会转到:http://domains.com/install.php?profile=default

系统会检测语言包,并列出供我们选择,如果我们没有上传任何语言包,系统将采用内置的英文语言

安装共6个步骤,这是步骤一

drupal6.2_Install.001.png

如(图1)点击Install Drupal in English(URL:http://domains.com/install.php?profile=default&locale=en)进行步骤二

drupal6.2_Install.002.png

(图2)中我们收到了错误通知,这是由于/sites/default目录没有读写权限

按照INSTALL.txt的说明需要chmod o+w sites/default

使用FTP工具将 sites/default 读写权限设置为:777

刷新 (图2)页面,错误通知没有了,并且转到步骤三

drupal6.2_Install.003.png

drupal6.2_Install.004.png

按照(图3)(图4)所示填写就可以了,保存后开始安装数据表,稍等片刻,完成后会转到步骤四

drupal6.2_Install.005.png

(图5)中的错误信息通知解决方法:由于我们在步骤二使用FTP工具将 sites/default 读写权限设置为:777 ,我们要再把sites/default 读写权限设置为:755

安装脚本会新建文件sites/default/settings.php把数据库连接等设置写入后,并设置读写权限设置为:444

更改完sites/default 读写权限设置为:755后,你再刷新一下页面,错误信息通知就没有了,参照 (图5)所示填写后,保存

drupal6.2_Install.006.png

安装完成了,点击 your new site 就可以看到你的站点了

安装简体中文语言包

下载简体中文语言包

http://ftp.drupal.org/files/projects/zh-hans-6.x-1.0.tar.gz

解压zh-hans-6.x-1.0.tar.gz后会得到3个文件夹和3个文件

modules

profiles

themes

LICENSE.zh-hans.txt

Readme.zh-hans.txt

STATUS.zh-hans.txt

我们要做的是使用FTP工具上传 modules、profiles、themes这3个文件夹覆盖站点根目录下的这3个目录

URL到:http://domains.com/admin/build/modules

drupal6.2_Install.007.png

找到(图7)所示的locale模块,选中它,然后点击 “Save configuration” 按钮激活

drupal6.2_Install.008.png

点击 “Save configuration” 按钮后,我们收到了通知信息(图8),可以忽略,如果你不想看到它并想解决,好,依次点击“run cron”连接(其URL地址为:http://domains.com/admin/reports/status/run-cron? destination=admin%2Fbuild%2Fmodules)
和"check manually"连接(其URL地址为:http://domains.com/admin/reports/updates/check?destination=admin%2Fbuild%2Fmodules)

URL到:http://domains.com/admin

找到点击“Languages”连接,URL是:http://domains.com/admin/settings/language

drupal6.2_Install.009.png

按照(图9)所示操作,会URL到:http://domains.com/admin/settings/language/add

drupal6.2_Install.010.png

由于我们刚才已经把简体中文语言包上传到服务器了,当我们点击(图10)的add language按钮后,系统会自动找到语言包并导入

在URL:http://domains.com/admin/settings/language

我们会看到 简体中文语言 已经添加成功

drupal6.2_Install.011.png

如(图11)所示,把简体中文设为默认语言,然后点击"save configuration"按钮,之后就能看到中文界面了

文件系统

在该文件的目录中创建初始安装是默认的文件系统路径用来存放所有上传的文件,以及一些临时文件所造成的drupal 。安装完成后,设置为文件系统路径可能会对其进行修改存储上传
这是没有必要修改此路径,但您可能希望改变它,如果:
1.您的网站运行多个drupal装置从一个单一的CODEBASE (修改文件系统路径的每一个安装到不同的目录,以便上传不重叠之间的装置) ;或,
2.您的网站运行了一些Web服务器前端的背后负载平衡器或反向代理(修改文件系统路径在每台服务器上,以指向一个共享文件存放处) 。
修改文件系统路径:
1.确保新位置的路径存在或创建它,如果必要的。创建一个新的目录名为上载,例如,使用下面的命令从一个壳或系统提示(而在安装目录) :
mkdir uploads
2.确保新位置的路径是写在Web服务器进程。给予写权限的目录名为上传,您可能需要使用下面的命令从一个壳或系统提示(而在安装目录) :
chmod o+w uploads
3.访问文件系统路径设置在drupal选择这些菜单项从导航菜单:
Administer > Site configuration > File system
4.输入的路径到新的位置(如:上传)在文件系统路径提示。
改变文件系统路径后的文件已上载可能会导致意想不到的问题就现有的网站。如果您修改文件系统路径对现有的网站,请记得先复制所有文件从原来的位置到新的位置。
一些管理者建议,使文档文件,特别是changelog.txt ,非可读,以便确切版本drupal您正在运行的略多,很难确定。如果你想执行这项任择保安措施,请使用下列命令从一个壳或系统提示(而在安装目录) :
chmod a-r CHANGELOG.txt
注意的例子,不仅影响changelog.txt 。完全隐藏所有的文档文件从公众视野中,重复此命令的每一项drupal文档文件在安装目录,而代以的名称,每个文件changelog.txt在例子。

多站点设置

暂缺

原文见:http://drupal.org/node/43816

安装新模块

安装Drupal之后,你可以选择安装额外的扩展模块来改变或者扩展Drupal的原有功能。

简单来说,安装新模块的过程无非就是下载,解压,上载到相应的Drupal模块目录,需要时运行MySQL脚本,最后在“管理/模块”中开启新模块。

  1. 下载新模块。确定你下载的模块版本与你的Drupal版本相符。请注意CVS版本的模块一般都是开发中的不稳定版本,安装使用时要特别注意。通常CVS版本的模块只能在CVS版本的Drupal下运行,它们可能还处在草稿阶段并可能有频繁的改动。
  2. 解压缩。刚下载来的文件一般都是压缩格式,比如tar.gz。在Windows下,可以使用WinZip等解压缩软件解压。在Mac下,可以使用Stuffit Expander解压。如果在Unix下,需要使用下面的命令行解压:
    tar -zxvf modulename-4.5.tar.gz
    完成后你将看到很多文件被解压到一个目录下。
  3. 上载。文件解压之后,可以通过FTP上载到你的服务器,将整个模块文件目录放到Drupal安装目录下的 modules 文件夹下。
  4. 阅读说明文件。一般说明文件叫做INSTALL.txt或README.txt或类似的名字,用Notepad或其它编辑器打开后仔细阅读,看看有什么特别需要注意的地方。
  5. 数据库操作。有些模块需要更新数据库。一般这种模块都会包含有.mysql或.pgsql后缀的文件。如果您需要更新数据库,参见第6步,否则请直接看第7步。
  6. 更新数据库。如果该模块必须更新数据库,你将需要你的Drupal数据库中添加对应的表单。下面以MySQL为例说明如何添加:
    • 使用phpMyAdmin(这部分直接翻译自英文,可能没有什么价值,哪位比较熟悉的可以写一个中文版phpMyAdmin的介绍,放到这里)
      1. 如果你有phpMyAdmin,登入并选择你的drupal数据库。如果你有phpMyAdmin但不知如何使用,请联系你的服务器供应商。
      2. 点击SQL栏
      3. 你应该看到一个标有'Run SQL query/queries on database'字样的文本框。在它下面会有‘Or Location of the textfiel’的字样,点击‘浏览(browse),找到你要安装的模块的.mysql文件。点击'开始(go)'。除非模块说明文件中有特别说明,一般来说这样就可以了。
    • 使用Unix命令行:
      1. 运行如下命令:mysql -u username -ppassword database_name < modulename.mysql
      2. 上面的username是你的MySQL用户名,password是你的MySQL密码(注意保留前面的-p),database_name是你的Drupal使用的数据库名,modulename.mysql是你要新安装的模块自带的SQL文件。上面的信息一般来说都可以在你的Drupal的sites/default或sites/sitedomain.com文件夹下settings.php文件中找到。
  7. 启用模块。对大多数模块来说,只要开启它们就可以了。要开启模块,需要到管理/模块(administer/modules)里面,勾选你想要开启的模块,并保存就可以了。
  8. 设置权限。有些模块要求你正确的设置权限或其它设定才能正常工作。相关的权限设定信息应该可以在模块说明文件中找到。如果没有,可以试试下面的方法:
    1. 点击 管理/访问控制(administer/accesscontrol)。看看新安装的模块是不是列在其中,如果是,把该模块的权限赋予适当的角色即可。
    2. 点击 管理/设置(administer/settings)。看看新安装的模块是不是列在其中,如果是,点击该模块名字就可以进行相关设定。
  9. 报告问题。如果还是有问题,到相关论坛搜索一下或发帖询问一下。

注意:为了及时得到特定模块的最新信息,你可以到drupal.org注册一个账号,并订阅相关的模块消息

注意:在一个Drupal安装中,相同名字的模块只能有一个。

安装新主题

在安装Drupal并开始使用之后,你多半会开始计划更改站点的外观到你想要的样子。

在Drupal总站的下载页面,可以找到一些现成的外观主题。

安装新主题的过程很简单:

  1. 下载新的主题。请注意您所下载的外观主题版本必须与你安装的drupal版本号相符,否则将不能正常工作。比如4.4版本的主题不能用于drupal4.5,反过来也不行。
  2. 阅读主题附带的README或INSTALL文件,看看有没有什么特别需要的步骤。
  3. 检查一下你是否安装了对应的主题引擎(theme engine)。主题引擎文件可以在 themes/engines 文件夹中找到。(译注:drupal4.6缺省使用xTemplate引擎,而4.7开始缺省使用phpTemplate引擎。)
  4. 上载新的主题文件到themes目录下的一个新文件夹,比如 themes/box_grey。
  5. 点击 管理>>主题(administer >> themes),并开启新安装的主题。(主题文件上载后,Drupal会自动检测到该主题。)
  6. 编辑您的用户设置,选用新安装的主题。如果您想使这个新主题成为所有用户的默认主题,可以在主题管理页面选中“缺省(default)”选项。

注意:您可以在这里预览不同主题的效果。那里展示的主题,有些可以从drupal.org直接下载,有些只是个范例而不能下在。

Drupal汉化

安装Drupal后,您最先遇到的问题就是如何将其中文化,办法很简单:

  1. 下载汉化包:
    由于带宽与方便维护、升级的原因,我们的汉化包同其它众多翻译项目一样,都统一放在drupal.org的zh-hans(简体中文的语言代码)项目下,请选择您对应的Drupal版本下载:

  2. 导入汉化包:
    6.x 对多语种支持有改进,请参见 如何使用6.x中文安装包
    5.x 及以前版本,请参考下面步骤:

    • 到 admin->site building->modules [admin/build/modules] 启用 Locale 模块。
    • 到 admin->site configuration->localization [admin/settings/locale]
      1. 点 Add Language 连接,选择 Chinese, Simplified(简体中文)
      2. 点 import 连接,选择你的 po 文件,Import into 要选择 Chinese, Simplified 那一项,点 import
      3. 启用 Chinese, Simplified 语言即可。

扩展模块中文化
待续

基本站点设置

基本站点设置

Drupal的功能非常灵活,用户可以通过多种设置选择来改变站点外观,与用户互动的方式以及显示哪类信息。虽然设置选项很多,但安装后你只需进行极少的设定就可以让你的站点跑起来。随着你的站点的成长,你可能会有更多的需求,而Drupal能够使你很容易的添加新的功能,或者对你的站点来个大变脸。更棒的是,Drupal是通过GNU开源发布的,是你可以自由的几乎无限制的来改造定制成自己需要的样子。

点击导航区块中的administer » settings,就可以开始Drupal的基本设置了。你必须先登录并且拥有设置权限才能访问设置页面。在改变某个设定后,别忘了点击相应页面下的“保存”按钮。

你输入的设置选项,将被保存在数据库中用来帮助Drupal决定如何准备与展示相应的页面。请记住设置页面只包括了站点基本的设置选项,许多模块还有自己的设置页面,具体如何设置可以在模块自己的帮助页面或者在手册的模块介绍中找到。另外一些高级设置参阅定制与外观手册

在基本站点设置里,基本上所有的选项下面都有简短的说明,并且都是很容易理解的。唯一需要注意的是,站点的口号(slogan)、目标(mission)、脚标(footnote)等在某些外观主题里是显示不出来的。如果你是第一次使用Drupal,建议先把所有的信息都填上,这样你就可以直观的了解各个设置是干什么用以及如何显示的。如果你不需要或者不喜欢某些设置,再可以回过头去把它们去掉。

设置

设置

下面这些链接提供了设置页面的详细帮助。如果你只是想先把你的Drupal站点跑起来,完全可以先略过这些介绍,以后回过头来再慢慢试验。唯一的例外是文件系统设置,你可能需要一开始就把它设置好,这样也可以避免新安装Drupal后在设置页面可能出现的一些错误信息。

基本站点设置在administer » settings

通用设置

通用设置

在通用设置中您可以配置站点的一些基本信息。

  • 名称(name):设置站点的名称。
  • E-Mail地址(e-mail address):站点的合法的电子邮件地址,用于注册、重设密码和通知时的自动电邮发送。您可以设置一个真实有效的E-Mail地址,这样用户可以回复邮件;或者设置一个类似no-reply@example.com虚拟的e-Mail地址,仅用于站点的电邮发送而不接受用户的电邮回复。注意,您的站点使用的电子邮件服务器应在php.ini文件中设置而不是在Drupal中。
  • 口号(slogan):站点的口号(可以理解为站点的副标题)。若您设置了口号,某些主题将会显示它。同时站点口号也将显示在浏览器的标题栏上。
  • 任务(mission):站点的任务声明或关注内容。若要显示站点任务,可在主题设置中启用站点任务显示,当然这要求主题本身的支持。
  • 底部信息(页脚,footer):这些信息将显示在网站页面的最下方,通常用于为你的网页添加版权信息。
  • 提醒,任务和底部信息可以使用HTML语言格式。

  • 匿名用户(anonymous user):访问你的网站但没有登陆的用户在默认情况下被称为“Anonymous”(匿名用户)。在这里您可以改变这种默认的称呼,例如改为“神秘人”。此称呼将用于Drupal创建的内容发布信息中,例如“由 Anonymous 在 周一, 2006-05-01 23:45 提交”。

默认首页

默认首页

通过对默认首页的设置,您可以控制用户访问站点首页时(即访问Drupal的所在目录),首页将显示什么样的内容。例如,您可能创建了一个大的目录列表以链接站点的各项内容板块,并且希望当用户访问站点时首先看到这个目录列表(即将它作为首页主体显示)。

这个设置告诉Drupal将用户访问重定向到哪个链将用户访问重定向到哪个链接地址(URL)。需要注意的是,这个链接地址是相对于Drupal所在的目录的。例如,用于代替

"http://www.example.com/node/83" 或 "http://www.example.com/drupal_installation_directory/node/83",

您只需输入"node/83"。就算您的站点没有使用简洁链接,您也无需在输入的链接前加上"?q="。

在缺省状态下,“默认首页”被设置为“node”,这使得首页主体仅简单地显示那些已被“推荐到首页”的文章或内容。注意,当您将“默认首页”改为其它设置时,那些已被“推荐到首页”的文章或内容将不再缺省地显示在首页上;不过,你还是可以通过相对链接“node”访问它们。

如果您设置了任何非法或无效的Drupal路径,当用户访问首页时将看到“页面无法显示”之类的错误。此外,您无法将用户转向到任何不是由您的Drupal站点创建的网页(例如其它的静态HTML页面)。

实例

实例

问题1:您想让用户访问www.example.com时某个特定的节点(node)成为首页(假设Drupal安装在此网站的根文件夹)。

解答:确定这个节点的id号。这里提供查看id号的一个方法,访问想要的那个节点(通常是文章标题链接等),此时浏览器地址栏中最后的一组数字就是id号。现在将“默认首页”设置为“node/id#”。例如,您选定的节点的id号为129,则输入“node/129”。

问题2:您想让博客成为首页。

解答:将“默认首页”设置为“blog”。

问题3:您想将某一分类的内容显示在首页。

解答:确定这个分类的id号。您可以这样确定分类的id号:在“管理”>>“分类”,点击进入这个分类所在的术语表,将鼠标放在这个分类的链接上,此时显示在浏览器状态栏(通常位于浏览器窗口的最下方)中链接地址的最后一组数字就是分类的id号。现在将“默认首页”设置为“taxonomy/term/id#”。例如,您选定的分类的id号为5,则输入“taxonomy/term/5”。

简洁链接

其实正常情况下,简洁链接是不需要单独设置apache和.htaccess,本页面是遇到问题时来查询使用的。

缺省情况下,Drupal 用内部的路径参数生成URL,这样的结果就是URL看起来象是:"http://www.example.com/?q=node/83."。这使得很多搜索引擎,比如google,在索引这些页面时被挡在门外。你可以告诉Drupal使用“简洁链接”,以去掉内部链接中的“?q=”。注意,这只能在加载了重写模块(rewrite_module)并且在配置中启用重写模式(mod_rewrite)的apache服务器上能正常工作。

有两种方法可以在Apache中启用URL的重写。如果你有Apache服务器的全部权限的话,可以在httpd.conf文件中启用简洁链接。或者参看更有效率和安全(的apache)

警告:如果你的服务器配置不正确时启用了“简洁链接”可能会导致你回不到管理页面来修复你错误的改动。如果你已经在这种状况,你可以直接键入“非简洁链接” http://www.example.com/?q=admin/settings 来回到管理页面。
启用简洁链接需要下面三步:

  1. 启用Apache的重写模式。请咨询主机服务商或查询Apache 文件以了解有关重写模式和如何操作。最少,要确认你的Apache安装中启动了重写模式。它应该被编译进(apache)或被做成可加载的模块。一句话,你可通过在apache的配置文件中引用下面的代码来告诉Apache加载重写模块。
    LoadModule rewrite_module modules/mod_rewrite.so
    AddModule mod_rewrite.c
    

    注意,并不是所有的*nix系统都是这样设置。请查询你的分发版文档中关于apache的部分。我们也建议要禁止Apache 的multiviews功能,因为将会与简洁链接发生冲突。

  2. 编辑站点的Apache配置文件:有关Apache的配置信息一般存放在httpd.conf文件中,一般来说位于 /etc/httpd/conf/httpd.conf ;如果你使用虚拟主机,那么可能会在其它位置,或者你没有权限修改httpd.conf文件时,也可以尝试修改你的drupal安装目录下的.htaccess文件。最主要的配置就是设置重写基点 RewriteBase 。举例来说,如果你的Apache的文件根路径是 /var/www/ (即, /var/www/index.html 是当你浏览http://www.example.com/ 时显示的页面),而你的Drupal安装在子目录 /var/www/mysite/ 下, 那么重写基点就要被设为/mysite 。 在某些情况下,需要在配置文件中设置为
    RewriteBase /
    以使得重写模式可以工作。

    如果你不使用Drupal自带的 .htaccess文件,你就要添加重写规则到你的Apache目录定向(directory directive)中。样例请参考 .htaccess file in Drupal.

      RewriteEngine on
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    

    你也要设置Allow Override 以使.htaccess的命令能够在你的站点上运行,如果你改变了drupal自带的 .htaccess,你应该把它设置为
    AllowOverride All
    以保证重写可以启用。参阅"Behind the scenes with Apache's .htacces" 以总观了解 。.htaccess。 这里有个示例

  3. 设置路径模块。你必须保证Drupal站点上的路径模块(path module)被启用而且正确的配置了权限。你可以在管理>>模块中启用路径模块,把权限设置为管理URL别名创建URL别名管理>>设置中启用简洁链接。首先,看看你是不是能用简洁链接访问到设置页面,键入下面的链接:http://www.example.com/admin/settings ( 用你的主机名替换掉 www.example.com )。 如果没有发生错误,并且这个页面和你点击“管理”然后点击“设置”时的页面相同,那么你就该知道重写规则的设置是成功的,你可以点击“简洁链接”处的 确认选项。如果有问题,你可以查阅卸载简洁链接。如果你还有关于简洁链接的问题 你可以在Drupal的settings.php中设置$conf['clean_url']=1;。

注意:在标准的Drupal安装中, .htaccess文件已经支持简洁链接了。不过很容易在拷贝时漏掉它,因为前面有个“点”

注意 关于MultiViews: Apache web服务器支持的MultiViews,是一种允许你访问页面时不需要文件的扩展名。比如,你有一个叫"evaluation.txt"的文件,在启用MultiViews的站点,你可以用"example.com/evaluation"来访问到这个文件。就已经知道的情况来说,MultiViews这种方便的功能,会在Drupal启用简洁链接时产生问题。除非你确实知道你在做什么,否则你应该在你计划启用简洁链接的drupal站点上禁止MultiViews。幸运的时,MultiViews在Apache的缺省安装时已经被禁止了。查阅Apache文档进一步了解MultiViews的信息。

待补充页面
* Apache 2 configuration of clean URLs on Debian
* Clean URL Support in Abyss
* Clean URL support in XAMPP
* Clean URLs with different webservers
* Example Clean URL configuration of httpd.conf for performance
* Existing URLs for server overwrite Drupal paths
* IIS CleanURLs using some of the available ISAPI filters.
* Using Clean URLs with IIS

原文链接http://drupal.org/node/15365

设置403和404错误页面

设置403和404错误页面

Drupal的页面错误信息是简明扼要的。您可能希望这些信息对于用户显得更友好些,通过一下步骤,您可以自定义它们:

  1. 创建两个节点,分别用于403和404错误页面。
  2. 记下这两个节点的id号。
  3. 现在在“管理”>>“设置”>>“错误设置”中,将403错误和404错误两处设置分别输入相应的路径。例如,为403错误创建的节点的id号为129,则在“默认禁止访问(403错误)页面”文本框中输入“node/129”。

配置站点的错误报告

配置站点的错误报告

错误报告,记录Drupal、PHP和SQL错误记录的地方。在一个正式服务器上,建议只将错误写入日志;而在一个正在测试的服务器上,建议选择将错误同时输出到屏幕(当然错误仍将写入日志),这对于您及时发现错误、调试错误会很有帮助。

您可以设定日志的保持时间,当超过这个时间后Drupal会自动将旧日志删除。注意,这需要已被正确设置的crontab(yoursite.com/cron.php)。

缓存支持

缓存支持

繁忙的Drupal站点可能需要缓存站点的页面,这样可以减轻服务器的压力同时提高页面载入速度。

通常,每次用户访问一个页面,Drupal会向数据库发送一系列查询请求,获得数据用来产生HTML页面,并最终呈现在用户的浏览器中。对于一个安装运行了大量模块的网站或存在大量内容的页面,每个页面的数据库查询请求可能有上百个。一般情况下,您不会注意到这些,这是因为现在的计算机系统运行速度很快还有Drupal十分拥有很高的效率。但如果是一个每分钟页面访问量达到成百上千的非常忙碌的站点,大量的数据库查询请求可能使得服务器的速度大大降低。

而通过开启Drupal的缓存功能,繁忙的站点可以大幅度减少这些数据库查询请求数量。

缓存功能开启时,Drupal会将匿名用户访问的任何页面的所有HTML代码直接存入数据库中。当同样的页面被再次请求,Drupal会直接从数据库中读取之前产生的HTML代码,而不是重新生成这些HTML代码。结果,近百条的数据库请求被一条请求代替,从而大大减轻了服务器的负荷。

主链接和二级链接

主链接和二级链接

一般信息
在4.6及之前版本中,主链接和二级链接是在外观主题中进行管理的。
而4.7版本,主链接和二级链接被整合到菜单系统中。通过创建菜单项,您的主题将在相应位置显示设定好的主链接或二级链接。全新安装的Drupal4.7将默认创建一个名为“主链接(Primary Links)”的菜单,用于显示主链接或二级链接。

设置您的主链接和二级链接
这里有两个相关的设置区:

  • 在“管理”>>“设置”>>“菜单”中,您可以选择哪个菜单用于主链接、哪个菜单用于二级链接。如果您已向默认的“主链接(Primary Links)”菜单中添加了菜单项,但它们却没有显示出来,请查看此处设置并确保没有设置为“没有主链接(No Primary Links)”。
  • 在“管理”>>“菜单”中,您将找到默认的“主链接(Primary Links)”菜单,您应该添加您的链接至其中,即向里面添加菜单项。当然,您也可以常见一个新的菜单用于二级链接,或者另外新建一个菜单用于主链接。请记得将“管理”>>“设置”>>“菜单”设置成相应的菜单。

自定义显示您的主链接和二级链接
通过一下两种方式在页面上显示主链接和二级链接:

  1. 您可以添加一个菜单区块,就像其它的菜单一样。
  2. 您可以在页面中希望显示菜单的地方添加如下代码:
    <?php if (isset($primary_links)) { ?><div id="primary"><?php print theme('links', $primary_links) ?></div><?php } ?>
        <?php if (isset($secondary_links)) { ?><div id="secondary"><?php print theme('links', $secondary_links) ?></div><?php } ?>

之后您可以使用CSS定义菜单的显示。

设置主页上的文章数目和摘要长度

设置主页上的文章数目和摘要长度

在“管理”>>“设置”>>“文章”中,您可以设置在类似主页的总览页面上显示的文章数目和文章摘要的长度。您也可以设定是否强制用户发表前进行预览。

注意:摘要长度设置只影响新建立的或更新的内容。

文件系统设置

文件系统设置

通过设置文件系统,您可以控制用户和管理员是否可以上传下载文件及怎样上传下载。

没有设置或设置不当,在“设置”页面上可能将显示一条或更多的错误信息,以提示“文件系统路径”或“临时目录”不存在或权限设置有问题。

其实,您只需简单的创建这些目录并赋予它们正确的权限(通常是完全的权限),这样Drupal就可以读写这些目录了。

如果您不确定在什么地方或怎样创建这些目录,或怎样改变目录的权限,请联系您的网站空间服务商以获得进一步的协助。

下载模式

文件系统设置_下载模式

这里有两种下载模式可供选择:“公开”或“私有”。

  • 公开:
    将允许包括匿名用户在内的所有用户下载那些已上传的文件。
  • 私有:
    可以控制用户下载已上传文件的权限。

注意:在这些设置的下方您可以看到“你可以在任何时候更改设置,但这可能会导致所有URL改变和未知错误,所以不被推荐”的提示。为了避免将来出现这样的问题,我们推荐您将“下载模式”设置为“私有”,这仍然允许您让任意用户下载已上传的文件,直到您做出限制某用户的具体设置。

目录路径设置

文件系统设置_目录路径设置

文件系统路径:
默认情况下,这里被设置为“files”。我们建议您不要修改它。

临时目录:
默认情况下,这里被设置为“/tmp”,也就是绝大多数Linux操作系统通常的临时目录。

如果您的服务器使用的是Windows或其它的操作系统,我们建议将其设置为“tmp”(没有斜杠)。Drupal将自动在“文件系统路径”下创建这个子目录作为临时目录。

如果目录没有正确的权限或存在其它的设置问题,您可以手动创建和设置这些目录。

日期时间设置

日期时间设置

Drupal允许您设置日期和时间的格式及如何显示。当您设置日期和时间的格式时,应考虑到网站受众和用户的文化习惯。
以下是对于如何设定“默认时区”及“配置时区”可选项的一些建议。

  • 若网站的大多数用户生活在一个相对小的地理区域:
    设置“默认时区”为此地理区域的时区,将“配置时区”可选项设为“禁用”。
  • 若网站的大多数用户生活在跨越连续几个时区的地理区域(例如,中国或美国):
    设置“默认时区”为此地理区域的标准时间所在的时区,将“配置时区”可选项设为“禁用”。例如,在中国,您应将“默认时区”设置为北京时间所在的时区,即GMT+0800。
  • 若网站的用户生活在全球各地:
    设置“默认时区”为格林尼治标准时间(GMT+0000),将“配置时区”可选项设为“启用”。

界面定制

当发布一个新的drupal站点时,你可以从以下一些方面来对你的站点设计与结构进行个性化的定制。

  • 选择外观主题(theme)
    你的Drupal站点的外观基本上是有你所选用的主题决定的。一个站点甚至可以同时采用多个主题。第一步最好是先到“管理-〉外观主题”那里设定一个缺省的主题。在drupal.org你可以找到更多的主题下载,下载之后你需要进行主题的安装才能使用。
  • 创建自己的主题
    如果你想让你的站点拥有一个除了这些预设主题之外的独一无二的外观,那就需要开发自己的主题。你需要懂得HTML/CSS知识,对一些复杂的主题,还要懂得一些基本的PHP知识。
  • 定制导航菜单
    页面上部及底部的菜单条可以在“管理-〉外观主题”里面设置。在“设置”面板里找到“菜单设置”部分就可以了。你同样可以在这里直接使用HTML来定义主链接及二级链接。如果你没有定义主链接,那么系统将根据你所安装的模块自动生成导航条。

    每个已安装的主题都有自己独立的设置页面(列在全局设置页面的上面)。Drupal 4.6及以前版本中,如果使用PHPTemplate主题引擎,你不得不到每个主题的设置页面里去单独设置导航条。

    从4.7开始,PHPTemplate被集成到Drupal内核,主链接及二级链接现在变成了菜单系统的一部分。更多4.6及4.7的不同可以在这里找到。

  • 定制文本字串
    你可以通过本地化来改变Drupal页面显示的文字语言,你既可以使用预先翻译好的语言包(参见本地化手册部分),也可以使用自己的翻译来取代指定的字串。

定制登陆界面

在Drupal缺省设置下,用户未登陆时总是显示登陆区块的。但有时候你可能需要隐藏登陆区块。比如一个站点只有极少数用户被允许登陆后发布或编辑文章,而绝大多数用户只是浏览者(比如一个个人blog就是典型的例子),这时候你可能会希望隐藏登陆区块,因为占用了很大一部分页面但是对大多数用户并没什么用,反而会引起用户的困惑。

要关闭/隐藏登陆区块,你需要:

  1. 进入区块设置(“管理-〉区块”)
  2. 清楚“用户登陆”的复选框

登陆区块隐藏后,需要编辑的用户以及管理员可以通过下面的链接进入登陆页面:
http://www.example.com/?q=user
(将上面的example.com替换为你的drupal站点地址)

你还可以更进一步定制自己的登陆区块

你可以在 “管理-〉访问控制->账户规则” 里定义自己的用户名称与email规则。如果一个用户帐号或email地址符合你所定义的拒绝规则,同时并不符合任何允许规则时,那么这个新账户将是非法的,用户将不能注册此账户。常见的用途是,你不希望用户名中有任何不恰当的字眼,比如“管理员”或者“xxxx"之类的。

检查输入格式过滤器

Drupal的输入格式过滤是一项重要的功能,但是很多新手往往对此不太了解。输入格式控制可以让管理员更好的控制站点上内容的发布格式,例如是通过HTML还是bbcode的格式发布等等。Drupal社区有很多扩展模块提供了各种各样的输入格式过滤功能。

在“管理->输入格式”下面可以进行相关的设置。

用户注册的设置

管理员可以对用户注册进行控制,共有三种选择:

* 只有管理员可以创建新的用户帐号。
* 访客可以申请创建帐号,需要管理员批准后生效。
* 访客可以自行创建帐号,无需管理员的批准。

如果你允许用户注册,用户注册后将通过email收到自动发出的欢迎信,所以最好花一点时间来写好你的站点的欢迎词。

在这里你还可以设置是否支持用户头像。

如果你使用4.6,这些设置在 “管理 >> 用户 >> 设置” 下。如果你使用4.7,这些设置在 “管理 >> 设置 >> 用户” 下。

如果你需要创建用户名规则来限制特定用户名的使用,或者禁止特定的email地址用户注册,那么可以到 “管理 >> 访问控制” (?q=admin/acess/rules)下建立相应的账户访问规则。

访问规则可以用来限制特定用户名或注册email的使用。如果一个用户名或email地址符合任意一条拒绝规则,同时并不符合任意一条允许规则,那么这个这个新账户的注册将被拒绝。

在创建规则时可以使用通配符:
% 百分号,匹配任意长(包括0个)字符。
_ 下划线,匹配恰好1个字符。

例如:
%- 将包括任何以 '-' 结尾的用户名
w_r 将包括第一个字母为w,第三个字母为r的所有用户名(如wor, war等)

在账户规则设置页面同时提供了一个检查工具,来帮助你检查你要创立的规则是否正确工作。

创建菜单结构

Drupal自带的菜单模块允许你建立无限嵌套的菜单结构。在 “管理 >> 模块” 下启动菜单模块后,就可以进入 “管理 >> 菜单” 进行菜单设置了。

Lullabot提供有一份配有英文解说的视频,演示如何建造基本的站点导航菜单系统。

创建菜单

  1. 添加菜单,只需到 “管理 >> 菜单” 下点选 “添加菜单” 并提供菜单名称即可。
  2. 建立了菜单后,还需要到 “管理 >> 区块” 下找到你刚刚添加的菜单名称,点选其后的复选框来开启菜单。你还同时可以选择菜单显示的位置与顺序(权重)。关于区块的介绍与使用,请参考手册中的区块介绍
  3. 建立菜单项。回到 “管理 >> 菜单” 页面,点击 “建立菜单项”。在这里你可以定义具体菜单项,如标题、说明、路径等。(关于路径及url别名,请参见pathmodule模块的相关介绍。然后,你还为这个菜单项选择一个上级菜单项,也就是说这个菜单项将作为哪个导航菜单项下的子菜单来显示。当上级菜单项就是第一步中定义的菜单时,那么此菜单项就成为这个菜单中的顶级菜单项。接下来选择权重,权重用来定义菜单项的显示顺序,权重数字越小,菜单项就越“轻”,也就是说越显示在上方。

    你还可以为同一个节点生成多个菜单项,但是最好只有在必须的时候再这样做,因为用户将可以通过不同的菜单访问到同一个节点内容,有可能会引起用户的困惑。

简化流程
在Drupal 4.6 版本中,新建页面后你还必须要进入到菜单管理页面,才能把这个页面加入到菜单中。Drupal 4.7 大大简化了这一流程,在发布内容时,用户将可以直接通过发布页面下的“菜单设置”来将此页面加入到指定菜单中。当然,管理员可以规定哪些用户才有权限来使用这一功能。

搜索引擎和robots.txt帮助

Drupal本身就是相当搜索引擎友好(Search engine friendly)的,例如常常会有基于Drupal的站点的Google ranking在5甚至更高(小于10),而放置同样内容的其它CMS则要低的多。

不过,你还可以通过更改一些默认参数让Drupal更加搜索引擎友好。有很多Drupal的设置你都可以调节来使Drupal更加搜索引擎友好。

  1. 首先你需要启用简洁链接(Clean URL)
  2. 然后,如果你使用的版本是4.5.x,确认你去掉了链接(URL)里的会话(session)ID,这可以通过设置.htaccess文件来改变。在4.6中,链接里的会话ID是默认禁止的。
  3. 可选的,对某些或所有节点使用URL别名(URL aliasing)。你可以使用自动路径(pathauto)模块来为新节点自动创建别名。

控制被索引的内容—使用robots.txt文件

默认情况下,Drupal没有使用robots.txt文件,几乎所有搜索引擎都使用这个文件,作为允许管理员控制被索引内容的机制。

通过添加这个文件到你的站点服务器(虚拟目录)根目录,你可以引导搜索引擎的“机器人(Robots)”遍历你的站点或者禁止索引站点的某些部分。一个例子,你可以访问 http://drupal.org/robots.txt 来查看drupal.org的robots.txt文件。

如果你想要使用robots.txt文件,请按照下面的指导,更多详细信息可以访问 http://www.robotstxt.org

用下面的内容创建一个新文件,取名为“robots.txt”

# 小型 robots.txt
# 关于此文件的更多信息可以在 http://www.robotstxt.org/wc/robots.html 找到
# 以井号(“#”)标记开始的行表示注释并可以被删除。
# 如果你的drupal站点在文档根目录下的某个子目录(如 /drupal)
# 请在下面的路径前面添加子目录路径
# 要阻止某个特定机器人索引目录exampledir
# 只要加入下面两行(删除#号)
# user-agent: 特定机器人
# Disallow: /exampledir/
# 已知机器人列表可以在 http://www.robotstxt.org/wc/active/html/index.html 找到
# 可以访问 http://www.sxw.org.uk/computing/robots/check.html 进行语法检查
User-agent: *
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print

这个文件告诉索引机器人应该避免索引包含用户个人内容的页面,例如搜索页面,或者节点的“添加评论”表单。

很多机器人遵从“Crawl-Delay:”参数。如果Drupal站点在搜索引擎上很受欢迎,有更多的甚至超过访问者数量的机器人抓取你的站点而变得有攻击性,这种情况下最好减慢机器人的速度,在robots.txt添加如下的行:

User-Agent: *
Crawl-Delay: 10

这里的10是每个页面请求之间延迟的秒数。

不管是“Slurp”(yahoo和altaVista的索引机器人)还是MSN使用的微软机器人都遵从这个参数,Googlebot还没有使用“crawl-delay”参数,但是可能会在下个版本中实现。

按需要修改好这个文件并保存,然后上传到你的网站服务器,并确保文件在你的网站(虚拟目录)的根目录下。如果你已经把Drupal安装到了子目录中(比如/drupal),那么修改robots.txt中的URL地址并替换服务器根目录的robots.txt文件——而不是放到drupal安装根目录。

现在注意访问你站点的机器人,过一段时间后,查看你的日志文件(logs)("来源日志(referrer log)")可以看到有多少来自搜索引擎的访问者。

选择性的机器人爬行

这是一份我的robots.txt文件:

# AllTheWeb
User-agent: fast-webcrawler
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# AltaVista
User-agent: scooter
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# Googlebot
User-agent: googlebot
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# Looksmart
User-agent: wisenutbot
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
User-agent: zyborg
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# MSN
User-agent: msnbot
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# Yahoo Vertical Crawler
User-agent: yahoo-verticalcrawler
Crawl-Delay: 10
Disallow: /aggregator
Disallow: /tracker
Disallow: /comment/reply
Disallow: /node/add
Disallow: /user
Disallow: /files
Disallow: /search
Disallow: /book/print
Disallow: /admin
Disallow: /cron.php
Disallow: /xmlrpc.php
Disallow: /database/
Disallow: /images/
Disallow: /includes/
Disallow: /modules/
Disallow: /scripts/
Disallow: /themes/
Disallow: /email_disclaimer
Disallow: /privacy_policy
Disallow: */add/
# Exclude every other bot (hopefully)
User-agent: *
Disallow: /

...这样,禁止了我列出的以外的所有的机器人。

这是更合理的解决方案,我觉得。

不过,虽然有些离题,但是不要忘了禁止PHP会话的use_trans_sid来获得更干净的搜索引擎列表。

在php.ini里增加内存

虽然Drupal核心的运行只需要你的服务器分配8MB的内存,但是根据你站点上使用的模块数量,你可能需要增加些内存分配。当你访问?q=admin/moudles时会加载你站点上的所有模块,不管你是否启用。如果你出现了白屏,你只有两个选择:增加分配给PHP的内存,或者删除不使用的模块。

根据你的主机的不同,有几个地方都可以完成这个配置,一般是php.ini,或者htaccess,具体要看你的主机状态。
比如:

  • 在你的php.ini文件里设置memory_limit = 12M(推荐使用,如果你拥有这个权限的话)
  • 在你的sites/default/settings.php文件里设置ini_set('memory_limit','12M');
  • 在你的Drupal根目录下的.htaccess文件中设置php_value memory_limit 12M

你需要做点试验来确定最适合你的值。

设置默认内容选项—禁止自动提升到首页

配置默认的内容工作流(workflow)以适合你的站点。默认的情况下,Drupal模块被设置为提升到首页(Promote to the front page),一些时候这个功能很有用,不过你不会总是想要这样。

4.7中管理菜单发生了变化,因此这个配置页面也移动到了其它位置。

在4.6或更早版本中:
访问管理 >> 内容
选择配置(Config)标签,然后选择内容类型(Content types)子标签。

在4.7中:
访问管理 > 设置 > 内容类型

点击有需要的节点类型的配置(Config)链接,根据你的站点的需要更改默认的工作流选项。

如果你增加或者启用了包含额外内容类型的模块,你需要重新访问这些设置。

在帖子里显示或隐藏“提交人信息”

4.7及以前版本
你可以通过下面的链接为你的站点设置适当的帖子显示信息。
?q=admin/themes/settings

管理 >> 主题菜单下,选择配置(Configure)标签之中的全局设定(Global settings),然后在显示文章信息(Display post information)面板中为你的站点选择适当的选项。可用的选项是根据你安装的模块自动检测的,其它选项可以在单个主题配置页面设置。

5.0
管理 >> 站点建设 >> 外观主题(admin >> site building >> themes)下面选择设置(configure)标签之中的全局设定(Global settings)。然后选择适当的文章显示选项就可以了

区块

区块是显示在Drupal站点的边栏或特定区域上的框状结构。你可以看到大多数的区块(比如,最新论坛主题)都是各个Drupal模块动态生成的,当然你也可以创建你自己的区块。

区块在在页面上显示的位置和在哪些页面显示,既取决于使用的主题,也和区块的设置有关。区块设置由区块管理页控制,你可以通过点击管理 » 区块来访问。在这个页面你可以控制每个区块的启用、在页面上的显示位置、以及在哪些页面会显示。

区块配置

区块是否在某个页面上显示取决于以下几个因素。

  • 首先,区块必须被[i]启用[/i],这可以通过勾选区块管理页的“启动”复选框来完成;
  • 其次,区块的[i]用户定义可见性[/i]设置必须让用户允许区块显示。你可以配置区块为[i]用户不能控制是否显示此区块[/i];[i]默认显示此区块,但用户可以自行隐藏[/i];或者[i]默认隐藏此区块,但用户可以选择显示[/i]。每个用户可以在“我的帐户”页面里选择或禁止显示可配置的区块。
  • 然后,管理员可以通过设置区块的“页面自定义可见性”,来决定区块是否在站点的某个页面上显示。你可以配置区块只在某些页面显示,或者只在某些页面之外的页面显示,或者根据php代码返回值来决定是否显示。
  • 最后,如果启用了[i]低负荷模块[/i],并在区块管理页面选中区块的低负荷复选框,那么只有当站点的负荷低于指定阀制的时候,区块才会显示。

当你配置好区块,使其按需要显示在指定页面的正确边栏时,你可能希望调节区块的权重来指定区块在边栏中的垂直位置。区块的权重通过区块管理页面的下拉选择框来选择,更重的区块(具有更大的正值权重)会“下沉”到边栏的底部,同时更轻的区块将向顶部“上浮”。

更多信息可以在手册的模块部分有关区块介绍里找到。

限制特定页面上的区块显示

在区块配置的“页面定义可见性设置”选项组下面有一个大文本框,其中每一行你可以输入路径指定区块在哪些页面将会显示或者不显示,这取决于你上面选择的选项。

下面是一些有注释的例子,它们都假定你选择了第二个选项(只在指定页面显示),如果你选择了第一个选项(在除了下列页面外的所有页面上显示),区块将会在除了你下面列出的页面之外的所有页面显示。你可以在列表中加入任意多个页面,每个占一行。(注意你不能同时指定会显示区块的页面和不会显示区块的页面,两者只能选一)

<front> 指定区块将在首页上显示
node/42 指定区块会在节点ID为42的文章里显示
aggregator 指定区块仅在聚合页面显示。
blog/* 指定区块区块会在所有地址(URLs)以blog/打头的页面上显示。注意,如果你希望在blog主页面上也能显示区块,则只要再加入一个路径blog(不需要后面的反斜线)就可以了。

另一个例子,如果你有在管理界面不需要显示的HTML,Javascript或PHP区块,你可以选择“在除了下列页面外的所有页面上显示”选择,然后使用下面的通配路径:

admin/*

除此以外,你还可以选择第三个选项(看下列的 PHP 代码是否返回 TRUE)来进一步定制区块的显示,这时需要在下面的文本框中输入PHP代码,并使用<?php ?>标记,PHP代码的返回值决定了区块的可见性。

自定义区块

自定义区块包含的内容由你来提供(与模块生成的区块相反),自定义的内容可以是静态的(如HTML)或者动态的(PHP生成内容)。事实上Drupal提供的所有功能都可以在PHP内容区块中访问到,这种区块的弹性提供了极其强大的途径来定制你的Drupal网站。

你可以通过区块管理页(点击管理 » 菜单),选择添加区块标签,并完成表单来创建自定义区块。

每个自定义区块由标题、描述和正文组成,正文中的内容可以为任意长度。

注意:在Drupal4.6中,区块的标题被用来作为数据库的标识符,因此你只能定义一个没有标题的区块(这个问题已经为更新的Drupal版本作了修正)

这个问题的一个解决办法是把标题改为:<!--title of custom block-->,这样既能满足Drupal对区块标题的要求,同时注释标记(<!--...-->)也防止了标题在区块中的显示。

数据库表名前缀(以及进程间共享表)

有些网络主机限制了客户只能拥有一个数据库,因此需要不能重复的表名。即使在这种情况下,管理员仍可以使用Drupal,甚至可以安多个Drupal,因为Drupal提供了表名前缀(table prefix)功能。

为了使用这项功能,你必须首先编辑脚本database/database.x,以创建带有你的前缀字串的数据库表。如果你要安装附加模块,你也需要修改数据库脚本里的INSERT和REPLACE语句来加上前缀(译注:Drupal 4.7模块自带的Install文件无需修改)。例如,改变以下格式的所有语句从:

CREATE TABLE access
INSERT INTO system VALUES 
('modules/filter.module','filter','module','',1,0,0);

变成

CREATE TABLE dr1_access
INSERT INTO dr1_system VALUES 
('modules/filter.module','filter','module','',1,0,0);

然后使用dr1_(举例)作为$db_prefix的值,写入到
sites/example.com/settings.php文件中。

你也可以使用脚本来自动完成这项工作,你可以同时更新多个站点,使用(bash shell)的命令行:

for F in '' prefix1 prefix2; do \
   for S in 'find ./modules --name \*mysql'; do \
      scripts/dbprefix.sh $F < $S | grep -v DROP |\
          mysql -h DBHOST -u DBUSER -pPASSWD DATABASE; \
      done;
   done

注意:不是所有数据库脚本都是以mysql结尾的,这里只是一个例子; '' 表示前缀为空的情况。

这里还有一个PHP脚本,用于为/drupal/sites/*下的所有站点创建所有数据库表,可以在DRUPAL-4-6下工作,访问数据库表创建脚本问题以获取更多信息。

如果你想在多个站点间共享用户,你需要按照下面的格式设置$db_prefix变量:

<?php
$db_prefix
= array(
 
'default' => 'thissite_',   
 
'authmap' => 'shared_',
 
'profile_fields' => 'shared_',
 
'profile_values' => 'shared_',
 
'role' => 'shared_',
 
'sequences' => 'shared_',
 
'sessions' => 'shared_',
 
'users' => 'shared_',
 
'users_roles' => 'shared_',
 
'users_uid_seq' => 'shared_', // 用于pgsql
);
?>

请访问共享表以及数据库间共享表一节获取更多信息。

多个数据库间共享公共表

多个数据库间共享公共表
[仅在mysql上测试过]把多个Drupal安装在不同的数据库中,但是仍然共享共用的表,这是可以做到的,只需要指定数据库名作为前缀的一部分,例如

$db_prefix = array(
    "default" => "slave1.", // slave1安装的默认数据库
    "users" => "master.",
    "sessions" => "master.",
    "authmap" => "master.",
    "sequences" => "master."
    "profile_fields" => "master.",
    "profile_values" => "master.",
);

上面的例子中,slave1以及master为数据库名。
如果你共享的是users表,你应该还需要共享一系列的表(虽然我不太清楚)。如果你不是想共享用户表,只想共享翻译,那么共享locale表就足够了。

进程间共享表

表名前缀可以选择性的只应用到某些表上,这样多个Drupal安装就可以共享共用的表。一个有趣的应用是共享分类表(vocabularies, term_date),另一个有趣的用法是在多个Drupal安装间共享users表。

为了使用这项功能,先安装两个Drupal到同一数据库中,并使用不同的数据库前缀。在这个例子中,一个前缀为“master_”,另一个为"slave1_"。然后编辑"slave1_"安装的conf.php文件,让一些表指向"master_",实现用户共享,如下:

$db_prefix = array(
    "default" => "slave1_", // slave1_安装的默认表前缀
    "users" => "master_",
    "sessions" => "master_",
    "authmap" => "master_",
    "sequences" => "master_"
    "profile_fields" => "master_",
    "profile_values" => "master_",
);

注意:下面的表含有的数据属于每个站点特有,因此不能被共享:

  • cache
  • variable

在PostgreSQL中使用模式作为前缀

本页讨论了使用PostgreSQL的模式(Schema)作为前缀的用法。“普通”前缀可以和MySQL一样的用法,所以这里不再讨论。

PostgreSQL有种叫“模式”的机制(http://www.postgresql.org/docs/current/static/ddl-schemas.html)。有时非常方便,但如果你不知道那是什么,你可能实际上不需要它们并可以不用读下去了。

模式在Drupal中可以被用作前缀,也就是说,在多站点安装中,每个站点可以存在于自己的模式中,并且共享的表可以存在于一个“共享”模式中(或者甚至可以是公共模式)。

这儿有个问题:Drupal的升级会失败。很不幸,但是没办法,因为“普通”前缀和模式前缀是不兼容的。如果你对详细情况感兴趣,请访问http://drupal.org/node/40034。

不过也不用担心,可以通过小小的修改更新脚本(update.php和updates.inc)来简单的修正这个问题。问题来自CREATE [UNIQUE] INDEXALTER TABLE .... DROP/ADD CONSTRAINT语句,当使用模式作前缀时,会执行下面的查询:

CREATE INDEX prefix.search_total_word_idx ON prefix.search_total(word)
ALTER TABLE prefix.boxes DROP CONSTRAINT prefix.boxes_title_key
ALTER TABLE test.contact ADD CONSTRAINT test.contact_category_key UNIQUE (category)

必须从索引名和约束名前面移除前缀,也就是它们必须改为:

CREATE INDEX search_total_word_idx ON prefix.search_total(word)
ALTER TABLE prefix.boxes DROP CONSTRAINT boxes_title_key
ALTER TABLE test.contact ADD CONSTRAINT contact_category_key UNIQUE (category)

你只需要搜索CREATE  INDEX,CREATE UNIQUE  INDEXADD/DROP CONSTRAINT语句并移除索引/约束名外面的{}就可以了。

最好的方式是运行升级测试,你可以看到错误查询的列表,然后你就可以很简单的修改它们了。

其它注释:你不能使用prefix.sh来为表加上前缀,这会产生错误的CREATE [UNIQUE] INDEX 查询。这点同样可以简单的被修正,只需要修改:

s/^CREATE INDEX \(.*\) ON /CREATE INDEX $PREFIX\\1 ON $PREFIX/;
s/^CREATE UNIQUE INDEX \(.*\) ON /CREATE UNIQUE INDEX $PREFIX\\1 ON
$PREFIX/;

为:
s/^CREATE INDEX \(.*\) ON /CREATE INDEX \\1 ON $PREFIX/;
s/^CREATE UNIQUE INDEX \(.*\) ON /CREATE UNIQUE INDEX \\1 ON $PREFIX/;

一种可选方法
如果你打算用这种方法来解决,下面是你需要做的:

1.添加下面的语句到database.pgsql文件的顶部:

CREATE SCHEMA schemaname;
SET search_path TO schemaname;

2.编辑drupal/includes/database.pgsql.inc,替换函数db_connect()为:
<?php
function db_connect($url) {
 
$url = parse_url($url);
 
$db_and_schema = explode(".",substr($url['path'], 1));
 
$conn_string = ' user='. $url['user'] .' dbname='.
$db_and_schema['0']  .'  password='$url['pass']  .  '  host='  .
strtr($url['host'],'+','/');
 
$conn_string .= isset($url['port']) ? ' port=' . $url['port'] : '';
 
$connection = pg_connect($conn_string) or die(pg_last_error());
  if(!empty(
$db_and_schema['1'])) pg_query('SET search_path TO
'
.$db_and_schema['1']);
  return
$connection;
}
?>

3.最后,在你的seeting.php文件里使用类似的db_url:
$db_url = 'pgsql://user:password@+tmp/dbname.schemaname';

  • 没有进行彻底的测试,但是我的可以工作(在4.6.3上)。
  • 这也解决了无法指定一个Unix socket作为主机的问题——在pg_connect()里/tmp被替换成了+tmp

。[=red]
[/]

Define shared variables for all sites

暂缺

原文:http://drupal.org/node/70472

最终用户指南

欢迎!

这篇指南用于怎么在基于drupal的网站开始。指南包含基本的topic,比如注册账号,登录,修改账号设置,创建内容等。

Drupal是一个内容管理系统。其目标是帮助用户组织和发表网站的内容,如articles,图片,或者其他形式的内容。Drupal是一个“动态”的系统-而不是强迫用户去使用一个修改的,预定义范围的内容。Drupal考虑到信息安排和发表的细节,使用户集中精力于真正要表达的内容上

在用drupal构建的站点的大多数内容-比如本页的文本,举例来说,被保存在数据库中。文本和图片按照指定的格式被提交到浏览器。而访问者浏览页面时间,drupal把有关这些内容的部分从数据库中调出并按照页面的模板组织好。这使得较快的增加或修改内容更容易,不需要那些提供内容的人拥有HTML的知识或者其他的网站技术。

通过配置drupal站点和你在该站点上的用户角色,你可以被允许发布和编辑内容。幸运的是,drupal就是设计用来让这一点变得相当容易的。只需要非常少的一点技术知识。虽然不同的站点有不同的细节,但是基本的过程有以下几步:
* 注册
* 登录
* 创建内容(比如文章,故事)

本篇指南将解释这些步骤,让你熟悉成功使用drupal所需要的基本信息。

这些内容也可以用在创建指导定制特殊要求的站点

编辑和删除内容

要编辑或删除内容,需要先登录,并找到你想编辑的页面。在这个页面上寻找“编辑”选项。根据你的权限,你可以在所有的页面上或者只在某些页面(比如那些你自己提交的)看到这个选项。

点击编辑按钮将打开一个新的页面,在这里你可以通过表单修改文本,同时你也可以修改有关文章发布的设置。一旦你将文本和格式修改合适,就点击在表单底部的“提交”按钮。注意某些站点可能被设置成在提交你的修改前需要你“预览”页面。

如果你希望删除这个页面(并且你有需要的权限),点击表单底部边上的“删除”按钮。你将还有一次机会确认你希望删除这个页面――还是改变你的主意。

注意:由于Drupal是可以非常灵活的配置的,可能还有别的其他方法来编辑和管理内容。请检查你的安装文本,或询问Drupal管理员,或向其他的用户咨询细节。

注册成为用户

注册成为用户

如果打算在一个Drupal 站点上添加或编辑页面内容,通常你必须首先注册成为用户。(有时站点管理员设置允许“匿名用户”可以发布一些如评论这样的内容,这种情况下你可以不注册为用户就能发布)

有些时候,由站点管理员把你添加为用户。如果是这种情形,他们会把用户名和密码发送给你用来登录站点。

另外的方式就是,在你想注册的站点主页上找到一个叫做“用户登录”表单(通常在页面的左边或右边),然后点击下面的“创建新帐号”链接。

接着出现的下一个页面里一般会提供一些要注册的站点的规章政策信息。读过这些信息后,要继续注册的话,就在相应位置输入你的用户名和电子信箱地址,然后点击“提交”按钮。检查你的电子信箱。几分钟内,你应该会收到一封自动生成的电子邮件,来确认你的注册过程,并且给你一个初始密码。用这个初始密码,你就可以登录Drupal站点了。

用户登录

用户登录

通常来说,你需要登录后才能添加或编辑网页的内容。如果你还没有注册为用户,请参看上面的步骤(或者,如果可以的话,请网站管理员为你注册一个用户)。然后点击你打算使用的网站的主页,找到一个"用户登录”表单。一般这个表单会在页面的左侧栏位或右侧栏位(这在Drupal中称为“区块”)。输入你的用户名和密码后点击“提交”按钮。

一切顺利的话,会载入一个包含新的区块的新页面,你的用户名会显示在顶部。这新区快是个菜单,通过这个菜单,你就可以开始并编辑、生成页面内容了。

更改你的帐号设置

一旦你在一个Drupal站点注册成功,你就可以通过更改设置来控制你自己的相关信息,并且可以改变你使用这个Drupal站点的方式和体验。要看看你对自己的帐号能做些什么改变,就登录进去,点击导航区块(以你的名字命名的那个)的“我的帐号”。然后点击“编辑(edit)”。

帐号设置。你实际看到的选项可能与下面提到的有些不同,这取决于站点激活了哪些功能选项。

密码
在密码字段输入2次密码来设定一个新密码。Drupal最初会发送给你一个初始密码,但非常难记,因此建议你改一个你自己容易记忆的密码。
区块设置
网站管理员可能设置一些可选的区块(通常显示在页面左边和/或 右边的内容块)。你可以通过“选中“(checking)或“取消选中”(unchecking)来控制是否显示或隐藏这些区块。
签名档
如果开放了评论功能,你就可以设定一个缺省的签名档。这个签名档会被自动的复制添加到你的评论中,同时还可以进行编辑。
时区
你的站点管理员可能会允许用户设定自己的时区。这样站点上所有的有日期的内容都可以根据拟设定的时区差以本地时间显示出来。
主题
一个“主题“(theme)就是一个Drupal站点基本的外观和风格。有些站点安装了不止一个主题。如果管理员提供了不止一种主题可用,你就可以选一个喜欢的主题作为你的帐号的默认主题。

如前所述,不同的站点有不同的设置,这就可能在你的用户帐号页面显示不同的区块字段。要使用那些附加的选项,就要参看那些单独模块的文档说明。

附加信息。除了帐号设置标签,你也许会看到一些以它们包含的内容命名的额外的标签。例如“个人信息“,“工作区”等等。这些标签都由“profile模块“控制,这个模块允许你输入更多关于你自己的信息。请通过查看profile模块来获得更多有关信息。

建立新的内容

一旦登录,你就可以开始发布内容了。

在你个人菜单的顶部,可以找到一个称为“创建内容”的链接。点击之后你讲看见一个你能够创建的内容的列表,这个列表反应了你的账号或者是你账号所属的群组的权限。

在这个框架下,有一些扩展模块可以帮助你创建更复杂的内容,比如拼写检查、嵌入图片亦或文件上传。

一步一步的实例

假设你选择了“故事”作为创建的内容形式。

你要找到有一个表头上写着“提交故事”的空栏,在这里填入内容并提交。

管理选项
在表栏的上部,你可以看到一下管理选项。举例来说,有个标识为用户评论的box,Drupal支持在发布的时候讨论/评论,但是这些评论不一定是合适的。如果评论对你的文章有用的话,保持默认选项“可读/写”,如果不是,选择“禁止”

标题
标题应该直观,用描述和易记的语言。
Topic:可能不被看到,如果你没有指定目录的话。
接下来是“topic”菜单。着个区域,你的文章将继续-用DRUPAL的技术语言来说,这是“taxonomy categories”。这个列表列出了所有可看到的sections,以及他们的结果。为你的故事选择正确的“section”,继续下 以支持文本的body
Body
Body 是你输入主要内容的地方。如果你已经在word处理工具或HTML编辑器输入过了,只需要拷贝并粘贴到这里就可以了。或者你也可以直接在这里输入。大多数基本的页面,只需要在每段的后面留个空行(敲两下回车)就可以了。

你可以用友好的html来输入,但是如果你是个新手的话,也不用担心-这不象听起来那么难。下面是个快速教程

如果你想对某些部分使用黑体,只需要把这些部分用<b>或者<strong>标签包含住。如下

<b>这段文字是黑体</b>
<strong>这段文字是黑体</strong>

注意,应该有一个开始表示(没有斜线的)和一个结束标识(在标识名称前面有斜线的,表示到此结束)

斜体,使用<i><em>

<i>这是斜体</i>
<em>这是强调</em>

<b>、<i>标签和<strong>、<em>标签语义上哪个更自然还有想当多的争议。

如果想把段落弄的好看点,用<p>标签

<p>这是一个段落</p>

建立一个列表,首先要用<ul>标签(表明是个非计数列表),然后在每行使用<li>标识(表示每行的内容)。不用忘记在最后使用</ul>来关闭列表。下面是一个示例。

<ul>
<li>第一条</li>
<li>第二条</li>
</ul>

结果如下:

  • 第一条
  • 第二条

这不是很痛苦,对吧。

你还需要决定的就是文章节选(teaser)到哪里截止,这里说的文章节选是指你点击文章标题连接近来之前看到的那部分正文内容。如果你不做任何处理,Drupal会自动替你选择一个断点-比如节选到文章的第一段截止。当然最好还是你自己来决定,以保证断点恰到好处。你可以在希望截止的地方敲入代码 <!--break--> 表示到这里截断。

现在,你可以点击“预览”按钮来预览你准备好的页面(系统推荐,但有的时候是必须的),或者你可以勇敢且不在乎的点击“提交”按钮。

Controlling Teaser Location

暂缺

原文:http://drupal.org/node/86549

内容的类型

内容的类型

使用Drupal时你可以提交很多种类型的内容。许多内容被组织到称为“节点”的东西。基本上,你可以把节点认为是内容的页面。比如说,有可能是一篇文章。内容可以通过web页面的表单(forms)来进行添加或者更新。所以如果要增加一篇文章你要打开一个表单,在里面键入文本,(比如题目和文章的内容),然后点击一个可以提交表单的按钮。

标题,分类与术语

Drupal网站上的内容通常使用目录的方式来组织,这种目录系统被称为分类系统(taxonomy)。一个分类里可以有不同的术语(term)被用来对文章分类。当你添加一篇文章的时候,你可以找到一个下拉列表的标题(topic)。通过选择其中之一,你就选择了你的文章将分配在网站的哪个分类。如果还是很难以理解,你可以把标题想成你硬盘上的文件夹-它们有助于组织内容,以便于你能在一个地方找到类似的东西。

权限

你能创建或编辑什么类型的内容取决于你所处于的角色或用户组。通常,你可以按下面的方法找出你能做什么

• 在用户菜单(用你的用户名做开头的一堆链