标题：drupal
简介
Drupal诞生于2000年，是一个基于PHP语言编写的开发型CMF（内容管理框架），类似于Joomla。即：CMS+ framework。其中 framework是指Drupal内核中的功能强大的PHP类库和PHP函数库，以及在此基础上抽象的Drupal API。在网站开发能力上，Drupal，Joomla和Yii、CodeIgniter、Zend、CakePHP等业界顶级PHP框架同样强大。形象的说，Drupal和Joomla一样是一个附带CMS的PHP开发框架。Drupal创始人Dries Buytaert创办的美国Acquia公司的开发人员甚至戏称：Drupal是一个用于开发网站的“操作系统”（webOS），而且此称法被业界广泛接受。很多Drupaler（即Drupal开发者）信奉这样一条真理：既然Drupal或者Joomla已经为我们写好了CMS，那么我们为什么还要选择那些不含有CMS的PHP开发框架呢？
Drupal是一套开源系统，全球数以万计的WEB开发专家都在为Drupal技术社区贡献代码。因此，Drupal的代码在安全性、健壮性上具有世界最高水平。这也是美国白宫、美国商务部、法国政府、纽约时报、SONY等著名政府和机构纷纷采用Drupal建设网站的最重要的原因。
Drupal不等于模板建站系统，他们之间有着本质的区别。Drupal的学习曲线相当漫长和陡峭，比PHP难度大得多，要求也高的多。事实上，只有精通XHTML、CSS、Javascript、PHP、MySql的开发人员，经过长期刻苦的学习，才有可能真正的驾驭Drupal，Drupal是给经验丰富的程序员用的，而不是给一般普通用户用的。模板建站系统则不同，模板系统根本不需要任何学习，不需要任何编程知识就可以使用，只适合初级用户搭建一些简单的网站。
Drupal具有业内最强的定制能力和灵活性，这也是造成Drupal学习难度太大的根本原因，这也是没有办法的事情，灵活性的提高必然使复杂程度提高。因此，Drupal技术圈内有一句名言——“Drupal有难度，学习需谨慎。”
Drupal强大的定制开发能力，也使其成为众多有技术实力的网站建设公司优先选用的网站开发平台。因为，任何网站建设公司自己开发的系统，在技术上都无法达到Drupal的水平，这正是开源软件的优势所在：全世界的WEB专家都在为Drupal贡献自己的智慧，这是某个公司内部技术团队永远也无法享受到的。是否具有Drupal技术的开发能力也成为鉴别网站建设公司实力的试金石。没有技术实力的公司，根本没有能力驾驭Drupal。
Drupal的架构由三大部分组成：内核、模块、主题。三者通过Hook机制紧密的联系起来。其中，内核部分由世界上多位著名的WEB开发专家组成的团队负责开发和维护。
Drupal综合了强大并可自由配置的功能，能支持从个人博客（PersonalWeblog）到大型社区驱动（Community-Driven）的网站等各种不同应用的网站项目。Drupal最初是由DriesBuytaert所开发的一套社群讨论软件。之后，由于它的灵活的架构，方便的扩展等特性，使得世界上成千上万个程序员加入了Drupal的开发与应用中。今天，它已经发展成为一套强大的系统，很多大型机构都采用基于Drupal的框架建站，包括The Onion，Ain't ItCool News，SpreadFirefox，Ourmedia，KernelTrap，NewsBusters等等。它特别常见于社区主导的网站。
Drupal目前的最高版本是7.21，官方网站下载页面最近释出的版本为7.21，是官方推荐的稳定版。该版本由7.1版修复而来，修正了大量BUG，没有太多新功能，适合学习Drupal的新手安装。下载页面同时提供了Drupal 6.22等旧版本下载。
优点
它有以下优点
+ 搜索引擎友好的URL
+ Drupal提供了强大的个性化环境，每个用户可以对网站内容和表现形式进行个性化设置
+ Drupal提供了基于角色的权限系统，没有必要对每个用户进行授权，只需要对角色进行授权
+ Drupal提供的站内搜索系统能对站内的所有内容进行索引和搜索
+ Drupal的模板系统将内容和表现分离，可以很方便地控制网站的外观
+ Drupal提供内建的新闻聚合工具
+ 提供完善的站点管理和分析工具
+ Drupal的Caching机制能有效减少数据库查询次数，从而提高站点性能，降低服务器负荷
+ 强大的多语言支持体系。能够支持很多国家的语言，让你的网站在世界上通行。
+ 扩展能力强大，有丰富的第三方扩展支持。
+ 内部结构以最简单的PHP特征实现丰富的钩子机制。
功能
Drupal是一套开源的内容管理平台，拥有多种功能，可以用来建设从个人网站到大型社区网站。Drupal包括以下的功能： 
Blog 
协同写作平台 
论坛 
电子报 
相册 
文件的上传与下载 
全文搜索 
多角色权限管理 
模块化 
主题引擎 
多语言支持
运行环境
Drupal 基于PHP脚本语言，推荐使用mysql数据库，所以要运行Drupal必须先安装好PHP支持程序，推荐apache + mysql + php的安装和配置环境。linux系统下推荐采用lamp安装套件或windows系统下推荐安装wamp套件。
Web server
Apache（推荐）
Apache 1.3 或者Apache 2.x 在 UNIX/Linux,OS X,o或 Windows上；
使用apache 'mod_rewrite' 扩展，开启简洁路径；
Microsoft IIS
Drupal核心可以运用在IIS 5,IIS 6，或IIS 7，前提是PHP需要配置正确；
When using Drupal on IIS 7 with fastcgi you must install Hotfix kb954946,or wait until the hotfix appears in a package update (recommended). KB954946 was included in Windows 2008 Server SP2 
Database server
MysqL（推荐）
Drupal 5.x和早期的版本支持MySQL 3.23.17 或更高版本。强力推荐MySQL 4.1或更高的；
Drupal6支持MySQL 4.1或更高版本；
Drupal7仅支持MySQL5.0.15或更高，而且必须在php上设置PDO database扩展；
PostgreSQL
Drupal6支持PostgreSQL 7.1或更高；
Drupal7仅支持PostgreSQL 8.3或更高；
PHP 5.2.6 for Windows has a bug in its pgsql extension. You will need to replace it with the php_pgsql.dll from version 5.2.5.
安装
安装步骤：
1.建立数据库：用mysql命令行、phpmyadmin、mysql-front等工具新建一个数据库，并记住数据库的名称。
2.将Drupal代码根目录放入apache的web服务目录（www或htdocs等），将sites/default文件夹下的default.settings.php复制一份，重命名为settings.php，并将其文件权限设置为可写。
3.在浏览器地址栏输入http://你的网站域名 （如果将代码放置在网站根目录下），或http://你的网站域名/drupal （如果将代码放置在drupal目录下），在出现的页面中选择语言（默认为英语），然后按提示填入数据库的名称，用户，密码等信息。
4.首次执行，可以设置相应的个性化参数，如帐户，首页，简介链接等。
注：安装过程中创建的帐户为网站管理员，拥有该网站的最高权限。
设计
Drupal 官方提供大量模板和主题可以供用户免费下载，WEB 设计师也可以自行设计模板，和全球用户共享知识的海洋。
入会
2007年，时任官方专员的Jacob Redding先生开始在中国开展推广活动。2008年，由John Zhu,Jacob Redding,Amber Zhong 等人在北京组织举办了3期BootCamp推广培训，和其它各类主题推广活动。中国drupal协会是2008年11月15日由drupal活动的组织者circleoflife，chinajason，John Zhu，Amber.Zhong 等人创建，协会的主旨是积极传播‘自由、参与、沟通、奉献’的开源精神，在中国推广Drupal。
主要术语
Drupal是一个非常优秀的PHP CMS，在使用Drupal之前，我们好好看看Drupal主要术语的介绍.Drupal术语，Block（区块），Box（盒子），Engine（引擎），Filter(过滤器),Module（模块），Node（节点），Permissions（权限），Style（样式）Taxonomy（分类）Template（模板），Theme（主题）风格
# Block（区块）
区块一般位于网页两边的侧栏中，用于导航或显示一些附加内容。区块是一种把数据定位到页面的方法之一。各主题风格可以通过block($subject,$content,$region = "main")函数来控制区块的显示风格。
# Box（盒子）
盒子是Drupal页面内容的容器。每一个盒子有一个标题和一些内容。各主题风格可以通过box($subject,$content,$region = "main")函数来控制盒子的显示风格。
# Engine（引擎）
引擎是一类特殊的主题，它通过模板来输出HTML内容。
# Filter（过滤器）
过滤器是做内容过滤的框架。
# Module（模块）
模块是为Drupal提供扩展功能的代码片段。有些模块是Drupal核心系统的一部分（例如taxonomy和blog模块），扩展模块（例如 weblinks和image模块）则不属于Drupal的核心系统。核心模块已包含在Drupal的下载包中，扩展模块则需要单独下载。
# Node（节点）
节点是Drupal中最简单又最难理解的一个概念。几乎Drupal中所有的内容都被存储为一个节点。一个节点就是Drupal的一块内容，它可以是投票、报道、书的一页、或一张图片。
# Permissions（权限）
权限用于控制内容的创建、修改和站点管理等访问。管理员可以将权限赋给角色，将角色赋给用户。一个用户可以属于一个或多个角色。Drupal缺省提供了两种角色：游客和注册用户
# Style（样式）
样式是主题或引擎提供的CSS文件，用于替换缺省的CSS。
# Taxonomy（分类）
Drupal通过分类来描述目录系统，用于对网站的内容进行组织和分类。
# Template（模板）
模板是模板引擎的，普通人可读懂的HTML文件，这些文件有一些特殊的代码，用于产生动态信息。
# Theme（主题）
主题是包含一些函数的PHP文件，用于提供不同的布局风格。
网站案例
很多全球著名的政府机构、商业公司、高等学府、技术社区和社团的网站，都使用Drupal进行搭建。下面是部分基于Drupal的典型案例：
政府机构－联合国、美国白宫、美国商务部、美国总统奥巴马经济恢复网站、法国政府、纽约市长Mike Bloomberg
跨国公司－联邦快递、诺基亚、Adobe、Sun
娱乐公司－华纳兄弟、索尼/BMG、Fox、环球唱片、迪斯尼/ABC 
雅虎、Novell、BysoftChina
新闻杂志－纽约时报、纽约观察报、福布斯、花花公子、The Fast Company、Now Public、The Onion
高等学府－美国哈佛大学、美国麻省理工学院（MIT）
技术社区－Ubuntu、Fedora、Firefox、Team Sugar
个人网站－巴拉搜、思跃、思墨
这些成功的合作案例证明，Drupal不但适合个人站点及网上社区类网站，而且已被国际著名大公司和组织机构所接受和采纳。相信在国内，Drupal也会很快流行起来，成为主流网站设计和开发平台。
管理平台
一个开源的内容管理平台，它驱动着全球数以百万计的网站和应用。一个来世界各地不同地方的人们形成的多元并且活跃的社区创建和使用Drupal，并且提供支持。人们通常将Drupal拿来和另一个著名的开源CMS，即Joomla进行比较。一个广为人知的比喻是：好比在操作系统领域的竞争，Drupal的最新版本是7.9。由于“难度”更大而中文资源较Joomla更少，Drupal在中国的普及程度较Joomla更低。但情况可能正在好转，酒香不怕巷子深，越来越多的网站创建者开始认识到Drupal的强大和它的价值。随着部分中文Drupal技术社区陆续推出一些高品质的视频和文字教程，了解和深入学习Drupal的门槛在逐步降低，Drupal在中国也拥有了越来越多坚定的支持者，未来颇可期待。
但是就像上文提到的,2次开发的难度Joomla不比Drupal简单多少，但因为Joomla有着长期活跃的社区，因此数以万计的模块，插件，组件可以作为2次开发最好的"参考资料"，Drupal的成功之处在于灵活的CCK,但这几年Joomla涌现出很多优秀的CCK组件，如入门级的K2,Zoo,Sobi,以及最强大的Cobalt 8,驾驭Cobalt 8的难度一点也不比Drupal简单，多fields,以及multi-vendor(类似于淘宝的C2C功能),小卖家可以完全定制自己的主页，有自己的产品列表页，item页等等，并且支持关注，发表评论等等，最重要的是他与社区jomsocial无缝整合，这些都是Drupal做不到的，Joomla总的来说照顾了高，中，低端所有用户，并且高度的整合了国外其它的某些CMS,或platform,如open cart,wordpress，不了解joomla的人总会说Joomla简单，因为只是缺乏了解。