Drupal诞生于2000年,是一个基于PHP语言编写的用于开发网站的开发型CMF(内容管理框架)。形象的说,Drupal是一个用于开发网站的操作系统;本质上说,Drupal是一个大型的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目前的最新版本是6.19。Drupal官方网站同时提供6.19及5.23版本,另外Drupal 7正在测试阶段。
它有以下优点
+ 搜索引擎友好的URL
+ Drupal提供了强大的个性化环境,每个用户可以网站内容和表现形式进行个性化设置
+ Drupal提供了基于角色的权限系统,没有必要对每个用户进行授权,只需要对角色进行授权
+ Drupal提供的站内搜索系统能对站内的所有内容进行索引和搜索
+ Drupal的模板系统将内容和表现分离,可以很方便地控制网站的外观
+ Drupal提供内建的新闻聚合工具
+ 提供完善的站点管理和分析工具
+ Drupal的Caching机制能有效减少数据库查询次数,从而提高站点性能,降低服务器负荷
+强大的多语言支持体系。能够支持很多国家的语言,让你的网站在世界上通行。
编辑本段Drupal运行环境
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或更高,而且必须PDO database扩展,在php设置上;
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.
编辑本段Drupal的安装
1.运行环境:
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的设计
TemplateMonster的Drupal模板
目前比较好的将设计与Drupal结合起来比较有名的是TemplateMonster的Drupal模板。精美的设计,高度的开发弹性,短缩了的开发设计时间,使Drupal模板更加受到欢迎。TemplateMonster作为这一领域的佼佼者,今后肯定会发布更多Drupal模板。
届时中国的用户也可以通过TemplateMonster中国区官方网站TemplateMonster China可以下载到最新的加入精美设计的Drupal模板。
TemplateMonster属于商业版,以上内容无从考据。
编辑本段如何加入中国drupal协会
中国drupal协会是2008年11月15日由drupal活动的组织者chinajason等人创建的,协会的主旨就是为了在中国推广drupal。
编辑本段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进行搭建。下面是部分基于Drupal的典型案例:
政府机构-联合国、美国白宫、美国商务部、美国总统奥巴马经济恢复网站、法国政府、纽约市长Mike Bloomberg
跨国公司-联邦快递、诺基亚、Adobe、Sun
娱乐公司-华纳兄弟、索尼/BMG、Fox、环球唱片、迪斯尼/ABC
网络公司-谷歌(Google)、雅虎、Novell
新闻杂志-纽约时报、纽约观察报、福布斯、花花公子、The Fast Company、Now Public、The Onion
高等学府-美国哈佛大学、美国麻省理工学院(MIT)
技术社区-Ubuntu、Fedora、Firefox、Team Sugar 这些成功的合作案例证明,Drupal不但适合个人站点及网上社区类网站,而且已被国际著名大公司和组织机构所接受和采纳。相信在国内,Drupal也会很快流行起来,成为主流网站设计和开发平台。