当前位置:文档之家› 安装Drupal_6——Drupal高手建站技术手册

安装Drupal_6——Drupal高手建站技术手册

安装Drupal_6——Drupal高手建站技术手册
安装Drupal_6——Drupal高手建站技术手册

Drupal高手建站技术手册

20

第2章 安装Drupal 6

本章将讲解如何安装Drupal 6,以及如何创建一个简单的个人博客。安装之前需要配

置好PHP的运行环境,并开启MySQL数据库服务。如何安装PHP和MySQL不属于本书介绍范围,请读者自己参考相关文档和书籍。目前PHP和MySQL在Windows下有独立安装包,安装起来相对比较简便。在Linux下,也有编译好的对应不同Linux发行版本的安装包。对于使用Windows作为开发环境的读者,建议使用AMP(Apache+MySQL+ PHP/Perl)集成环境——XAMPP。它集成了网站服务程序Apache、PHP扩展以及MySQL 数据库,只需要一次安装即可完成Drupal运行环境的搭建,可以避免很多在配置Apache、PHP和MySQL过程中出现的问题,是PHP开发者的首选。

2.1版本的选择

Drupal在经历了4系列的初出茅庐和5系列的辉煌后,现已发布了其第6个版本。Drupal最新的版本为6.10,与上一个版本相比,D6中增加了对AJAX支持,重写了主题模板引擎,支持更强大的模板自定义机制。同时,一些核心模块也做了少量的修改,不过大体上还是基本一致的。第三方模块中的CCK和Views等模块,也做了重大的升级,因此是很吸引人的。

从功能角度看,即从内容的发布和管理、用户管理、站点配置等方面,除了操作界面有些微小的变化外,Drupal 6没有显著的改变。从程序角度看,Drupal 6重写了主题模板引擎,使之更为高效和健壮,同时开发方式也做了微小的变化,比如现在每个主题都需要有注册文件,而且Drupal还会对主题相关的函数或模板进行缓存,这些在开发时都需要稍加注意。

Drupal以其丰富的第三方模块闻名,因此选择Drupal版本的一个重要参考因素,就是看所要使用的模块是否有稳定版。Drupal的模块分为开发中版本、Alpha测试版、Beta测试版、预发布版(RC)和最终版。只有RC和最终版是可以用于生产环境的。如要对原有Drupal网站进行升级,则要充分考虑原网站自定义开发模块的迁移问题。

就目前开始学习Drupal,或使用Drupal建站的读者来说,应首选使用Drupal 6系列的最新版。

2.2 获得Drupal

Drupal程序的官方发布渠道只有https://www.doczj.com/doc/eb17551372.html,网站。访问https://www.doczj.com/doc/eb17551372.html,进入Drupal官网,在右侧将会显示当前Drupal主流版本的最新版,如图2-1所示。同时网站的第一条新闻也显示当前Drupal的下载链接,单击直接开始下载。

第2章 安装Drupal 6

21

图2-1 Drupal 首页的下载链接

Drupal 安装包是.tar.gz 的压缩文件,下载之后可使用WinRAR 、WinZIP 或7Zip 等压缩软件进行解压缩。在Linux 下使用如下命令将Drupal 解压缩至当前目录。

tar –xvzf drupal-6.10.tar.gz

Drupal 具有检查最新版本的功能。在其后台管理的系统状态报告页面中将会显示当前Drupal 发布的最新版本,如果运行的网站版本不是最新版则提示管理员进行升级。

2.3 创建数据库

Drupal 目前只支持MySQL 和PostgreSQL 数据库。PostgreSQL 也是非常著名的开源数据库。在安装Drupal 之前,需要手动创建一个供Drupal 使用的数据库,并且设置好连接数据库所使用的用户名和密码。Drupal 在安装时将自动生成它所使用的数据表。本节使用phpMyAdmin 创建供Drupal 使用的MySQL 数据库。phpMyAdmin 为当前最流行的基于Web 的MySQL 数据库管理工具。通过它可以控制无端的MySQL 数据库,执行对数据库、数据表、用户等管理工作,也可以进行SQL 查询。

如果使用XAMPP ,那么phpMyAdmin 是自动安装的,通过访问http://localhost/ phpmyadmin 即可进入phpMyAdmin 管理页面。如果没有使用,可以去官方首页(https://www.doczj.com/doc/eb17551372.html, )下载最新版本。使用phpMyAdmin 创建数据库和用户的具体步骤如下。

打开浏览器,进入phpMyAdmin 管理界面,如http://locahost/phpmyadmin 。页面如图2-2所示。

在右侧中央有“Create new database (创建新数据库)”部分,填入数据库名字,并选择编码集(Collation )。编码集是数据表中的字段值存在数据库里时所使用的字符编码,如gb2312和utf-8等。如果要存放中文内容,请选择“utf-8_general_ci ”。

Drupal 高手建站技术手册

22

图2-2 在phpMyAdmin 中创建数据库

比如将数据库命名为“drupal ”,单击右侧的“Create ”按钮,即完成创建。图2-3即为创建成功的页面。

图2-3 成功创建新数据库drupal

在命名数据库时请注意:大小写是有区别的,建议全部使用小写字母。

接着创建数据库用户。数据库的root 用户可访问所有的MySQL 数据库。不过,一般PHP 应用程序都是明文存储数据库连接密码,因此非常不安全,如果一旦泄露,非法用户将获得数据库的最高权限。所以最好为每个数据库创建专用的用户以读取数据库,通过phpMyAdmin 创建数据库用户的方法如下。

在phpMyAdmin 首页面单击“权限”进入权限按理页面,如图2-4所示。

单击进入后,可以看到目前数据库中的所有用户列表。单击列表下方的“添加新用户”链接进入数据库用户添加页面,如图2-5和图2-6所示。

第2章 安装Drupal 6

23

图2-4 “权限”链接所在位置

图2-5 创建新用户的链接

图2-6 添加新用户页面

Drupal高手建站技术手册

24 在这个页面中,必填的内容是“用户名”。虽然不设密码也是可以的,但相当不安全。

phpMyAdmin提供一个自动生成密码的功能,只需要单击“重新输入”下方“Generate Password(生成密码)”区域的“Generate”按钮,即可生成随机密码。在图2-6中,创建了用户名为drupal_admin的用户,且使用了生成的随机密码——“6HTXtn5jhh:StJz.”。

创建成功后,需要给drupal_admin用户分配权限。单击“权限”链接,回到权限浏览页面。单击刚创建的用户“drupal_admin”行的“编辑权限”链接,如图2-7中标记处所示。单击后,进入权限的详细设置页面,如图2-8所示。

图2-7 “编辑权限”按钮

图2-8 权限详细设置页面

先单击第一部分“全局权限”的“全选”链接,将所有的操作全部选中。再在第二部分“按数据库指定权限”中,单击下拉框,选择新创建的“drupal”数据库。然后单击“执行”按钮,完成drupal_admin的权限设置。

第2章 安装Drupal 6

25

2.4 使用安装向导

将Drupal 的网站文件放置在Apache 的htdocs 目录(或其他Document Root 目录)下后,即可运行Drupal 安装向导。安装向导程序文件为根目录下的install.php 。确保Apache 和MySQL 正常启动后,直接通过网址运行此页面即可,如http://localhost/install.php 。

2.4.1 选择向导的界面语言

进入安装向导后,首先要选择安装过程中所使用的界面语言,如图2-9所示。默认情况下只支持英文,如果要使用中文或其他语言,需要先安装相应的语言包。由于Drupal 的安装流程非常简单,更换界面语言还不如直接安装更简便。

图2-9 Drupal 安装向导

单击图2-9中圆圈标记处的链接“Install Drupal in English (使用英语安装)”即开始安装Drupal 。

2.4.2 创建settings.php 文件

单击安装链接后,Drupal 执行安装前检查。Drupal 的配置文件为sites/default 目录下的settings.php 文件。如果此文件不存在或没有可写权限,将会出现错误提示,如图2-10

所示。图中所示的错误信息告知:sites/default 目录下没有settings.php 文件,但 sites/default

目录下有一个default.settings.php 文件,是配置文件的示例。复制此文件并更名为settings.php 以作为Drupal 的配置文件。

设置settings.php 文件权限为可写。这个操作在Linux 和Windows 中是不同的。在Linux 中,通过使用“chmod a+w settings.php ”来设置文件权限;在Windows 中,在settings.php 上单击右键,设置文件属性并确保“只读”选项未勾取即可,如图2-11所示。

然后,回到图2-10的错误页面,单击下方的“try again ”链接。如果已关掉页面,只需要重新访问Drupal 站点即可。

Drupal高手建站技术手册

26

图2-10 修改settings.php文件图2-11 在Windows下将settings.php设为可写

2.4.3 设置数据库

如果settings.php文件设置正确,并单击“try again”后,会出现如图2-12所示的界面。

图2-12 数据库配置页面

此页面需要填写的共有三个部分:数据库类型(Database type)、数据库名(Database name)、数据库用户名(Database username)和密码(Database password)。下面分别介绍详细的配置方法。

y数据库类型:Drupal支持两种数据库类型,一种是mysqli,另一种是pgsql。这两

第2章 安装Drupal 6

27

个选项分别代表MySQL 数据库和PostgreSQL 数据库。这两个数据库都是著名的开源数据库。一般情况下使用MySQL 作为Drupal 的数据库,所以选择mysqli 即可。mysqli 是一个PHP 针对MySQL 开发的接口库,PHP 程序通过一系列mysqli 函数来访问MySQL 数据库。

y 数据库名称:此处要填的是2.4.2节在“创建Drupal 数据库”中创建的Drupal 数据库名称。示例中创建的数据库名称为“drupal ”,请注意大小写,Drupal 和drupal 表示不同的数据库。

y 数据库用户名和密码:此处填入Drupal 连接数据库使用的用户名和密码。如果是生产环境,不应使用root 用户。2.3节中创建了用户名为drupal_admin 的数据库连接账户,这样更加安全。将“drupal_admin ”用户名和密码填入对应的文本框。

还有一些高级配置,单击图中的“Advanced options ”即可显示高级选项框,如图2-13所示。

图2-13 安装数据库的高级设置

主要的可配置项如下。

y 数据库服务器IP 地址(Database host ):如果是本机,只需填写localhost ;如果是网络中的其他计算机,需填写其IP 地址或服务器名称。

y 数据库服务器端口(Database port ):默认的MySQL 服务端口号为3306,可更改为其他端口,依MySQL 服务器配置而定。

y 数据表前缀(Table prefix ):为了便于标识(例如同一数据库中会有几个Drupal 的数据库),可设置数据表的前缀。如设 drupal_为数据表前缀,则表名为drupal_access, drupal_user 等。一般情况下不需要设置。

当全部输入后,单击“保存设置”(Save Configuration )按钮即可。如配置成功,Drupal 会在新建的数据库中创建数据表,并将数据库配置等信息写入settings.php 文件中。

如未配置成功,Drupal 会提示失败原因。引起失败的常见问题主要是:

y MySQL 数据库服务没有启动;

y MySQL 数据库服务端口不是默认端口:查看MySQL 的配置文件;

y 数据库用户名或密码错误:如忘记,可使用phpMyAdmin 进行修改;

Drupal高手建站技术手册

28 y没有创建供Drupal使用的数据库。

2.4.4 设置站点初始信息

安装向导的最后一步是设置站点的基础信息,如站点名称、站点邮箱等。最重要的是创建“超级管理员”账户。超级员账户拥有对Drupal进行控制的最高权限,后面的小节会有专门的介绍。此外,还可设置Drupal站点的默认时区、是否开启简洁URL以及更新提示等功能。下面将逐一进行介绍。

1.站点信息

如图2-14所示为站点信息填写页面。站名名称将会显示在每个页面的上方,并链接到网站首页。站点邮箱主要用于在发送给注册用户欢迎信时,显示为“邮件发送者”。另外,也用于接受站点的管理信息,如最新升级信息等。

图2-14 填写站点信息

在安装全部完成后,也可以通过后台管理页面中的“站点信息(Site information)”进行管理。

2.创建超级管理员

如图2-15所示即为创建管理员用户的表单框。在此处注册的用户即为Drupal的超级管理员账号,它也是网站的第一个注册账号。

图2-15 创建超级管理员账户

第2章 安装Drupal 6

29

Drupal 6中增加了密码提示的功能。在创建或修改密码时,页面上会即时提示所输密码的长度和是否匹配的检查信息,如图2-16所示。

图2-16 密码检查提示

“超级管理员”是Drupal 站点中具有所有控制权限的用户。此账户可以进行设置网站各种属性,开启模块、设置主题等操作,并可以增删用户、创建及分配角色,可见其权力之大。因此务必牢记第一个注册的用户名和密码,如果忘记将会造成一定的麻烦。如果不小心忘记,除了通过网站内置的“取回密码”功能(即通过电子邮件重新获取)外,还有更直接的解决方法——直接在MySQL 数据库中修改用户表中超级管理员的密码。下面是详细步骤。

首先要拥有Drupal 所用数据库的用户账户。使用phpMyAdmin 登录后,查看Drupal 的数据库,找到user 表,此有为Drupal 储存所有用户的数据表,如图2-17所示。

图2-17 用户信息表

单击浏览按钮可查看所有注册的用户信息。uid 为1的用户即为超级管理员的信息,单击铅笔图标即可进入编辑状态。如图2-18和图2-19所示。

图2-18 修改管理员信息

密码是用MD5码的形式存放于数据库中的。因此需要使用MySQL 的md5函数将输入的密码进行转换。首先在“pass ”字段值的文本框中填入要更改的新密码,然后在“函

Drupal 高手建站技术手册

30 数”列选择“MD5”函数并单击下方的“执行”按钮,就完成了密码的更改。

图2-19 修改管理员密码

3.站点相关设置

站点相关设置主要包括默认时区、是否使用简洁URL 模式以及是否开启“自动检查Drupal 版本更新”功能。如图2-20所示的服务器设置页面。网站默认时区主要影响网页上时间的显示。不同的时区显示时间的方式是不同的。对于中国内地,可选择“+0800”,即东八区。

简洁URL (Clean URL )是Drupal 为了优化搜索引擎对网站页面的收录而提供的一个功能。Drupal 中的所有页面均通过index.php 进行分发(dispatch ),每个Drupal 页面的URL 中,都会带有“?q=”字符串。比如“https://www.doczj.com/doc/eb17551372.html,/index.php?q=admin ”就是指向后台管理页面。但这样既不美观,又对搜索引擎不友好。Drupal 利用Apache 的rewrite 模块,通过在.htaccess 文件中设置URL 重写规则,来去掉URL 中的“?q=”。比如,Drupal 网站的一个页面的访问地址是:“https://www.doczj.com/doc/eb17551372.html,/?q=node/2”,那么在开启Clean URL 后,网址就变成了“https://www.doczj.com/doc/eb17551372.html,/node/2”。

第2章 安装Drupal 6

31

自动检查程序版本是Drupal 6中的新功能,可以定期检查https://www.doczj.com/doc/eb17551372.html, 上发布的最新Drupal 版本,并提示网站管理员有新更新。此功能是由计划任务来实现的。除了Drupal 核心程序有版本更新外,所安装的模式如有更新的话,也会作出提示。但是,在某些系统中,开启此功能可能会引起后台管理页面载入缓慢的问题。每次进入后台管理页面时,系统会通过HTTP 访问https://www.doczj.com/doc/eb17551372.html, 以获取Drupal 的最新版本信息。如果网络不连通或由于防火墙设置等原因,有可能造成无法连接https://www.doczj.com/doc/eb17551372.html, ,这时系统会等待一段时间。读者应根据实际情况决定是否开启此功能。

图2-20 服务器设置

以上这些设置可以在安装完成后通过后台管理进行重新设定,而不是“只有一次”。此处的“简洁URL 模块”,会根据Drupal 所安装的服务器的Apache 配置情况显示不同的提示信息。如图2-20所示的绿色背景框中提示的是“可以使用此功能”,而在有些服务器上则显示红色背景框并提示“无法开启”。这时需要修改Apache 的相关配置。这一点本书将在后面的章节进行介绍。

2.4.5 完成安装

在执行完上面的安装步骤后,Drupal 会保存相关设置显示安装完成页面,如图2-21所示。

Drupal 高手建站技术手册

32

图2-21 安装完成页面

在图2-21所示的页面中出现了醒目的红色背景提示框。里面的主要内容是告知管理员

邮件功能未配置成功。

Drupal 默认会向刚创建的超级管理员账户所填写的E-mail 地址发送一封确认信,如果所在服务器没有配置SMTP 邮件发送服务,则会出现此邮件发送错误。Drupal 发送邮件功能使用的是PHP 的mail 相关的函数。这个函数在Windows 和UNIX 下的实现和配置方法是不同的。具体技术细节请参考PHP 手册。下面列出针对Windows 服务器的解决办法。

第一步:获得发送邮件服务器的SMTP 地址。

第二步:打开php.ini 文件,将“;extension=php_smtp.dll ”的注释去掉(即去掉第一个分号)。

第三步:找到下面的配置代码: [mail function]

; For Win32 only.

SMTP = localhost

smtp_port = 25

将SMTP 修改为可以使用的SMTP 服务器的地址,将smtp_port 修改为所对应的端口即可。

这种设置方式比较适合于SMTP 服务器针对Drupal 服务器进行了配置的情况,即无须密码验证即可以直接发送邮件。对于需要密码或SSL 验证的SMTP 服务器,建议使用SMTP Authentication Support 模块(https://www.doczj.com/doc/eb17551372.html,/project/smtp )。

单击如图2-21所示页面中的“your new site ”链接,即进入Drupal 的欢迎页面,如图2-22所示。

第2章 安装Drupal 6

33

图2-22 Drupal 欢迎页面

能看到此页面即证明安装已成功。页面左侧为用户登录框,右侧为默认的内容文本,里面包含了一些欢迎文字和快速链接。当在Drupal 中发布内容后,首页将默认显示内容列表,而不再显示此欢迎文字。

2.5 Hello Drupal !

Drupal 安装完成后,想必读者已想“牛刀小试”。本节将从搭建一个简单的个人博客入手,让读者初步体验Drupal 网站。

2.5.1 创建个人博客

Drupal 的一个最常用的用途就是创建个人门户。目前很多站点是用Drupal 搭建的,比如Drupal 创始人——Dries Buytaert 的网站。本节将讲解如何使用Drupal 来构建一个具有简单功能的个人博客网站。网站的主要功能是发布博客文章,并可以为文章增加标签。同时使用一个新的主题替换Drupal 的默认主题。

2.5.2 开启功能模块

博客(Blog )模块属于Drupal 的核心可选模块,在Drupal 安装包中自带。它提供了博客的基本功能。由于Drupal 是多用户系统,因此每个注册用户均可以有自己的博客(也可以通过权限设定只有某角色的用户可以创建博客文章)。此外,“评论(Comment )”模

Drupal 高手建站技术手册

34 块允许博客文章的访问者对当前文章发表评论,每个评论的回复也会以某种样式显示出来。“分类(Taxonomy )”模块用于对网站内容进行分类。Drupal 引用词汇表的概念,每个词汇表中有相应的分类项。由于博客是一种内容类型,而标签可理解为是针对此内容类型的一种分类。Drupal 的分类功能非常灵活,即可以让用户选择预先设定好的分类,也可以通过文本框自由输入。标签(Tags )功能可由分类模块完成。

上面提到了三个模块:Blog 、Comment 和Taxonomy 。这三个模块在刚安装完成后的Drupal 中是默认关闭的,需要手动开启。下面讲解如何进入后台管理页面开启这三个模块。

Drupal 网站页面的左侧是个人导航,包含了当前用户可访问的页面链接,如图2-23所示。在图2-23中圆圈标记的“Administer ”即为进入后台管理界面的链接。

进入管理界面后,单击“站点创建(Site building )”部分的“Modules (模块)”,进入模块管理列表页面,如图2-24所示。图2-25表示了要开启的模块。将前面的单元框勾选,并单击保存按钮,即完成模块的开启。

Drupal 以模块组的形式显示模块。如图2-25所示的模块属于“Core (Optional )”模块组,即属于核心可选模块。Drupal 模块按开发者的不同一般分为两种:Drupal 自带的模块和第三方模块。Drupal 自带模块即Drupal 安装包中包含的模块,由Drupal 核心开发团队开发。这种模块也包括两种子分类:核心模块和核心可选模块。核心模块是默认且必须开启的,它提供了Drupal 核心的内容管理等功能,如节点模块、系统模块等;可选模块即像博客模块、评论模块等功能模块,不是默认开启的,可根据网站需求有选择地开启。

图2-23 进入管理界面链接 图2-24 模块管理链接

第2章 安装Drupal 6

35

图2-25 开启模块

2.5.3 发布第一篇博客

Drupal 使用统一的内容创建页面,使发布内容更为快捷高效。每个内容的发布页面也大致相同。在页面左侧的个人导航区块中有“Create content ”链接,单击即进入创建内容页面,如图2-26所示。此页面列出了系统当前内容类型的名称和描述,单击内容类型名称即进入此内容类型的发布页面。在本例中,单击“Blog entry ”进入博客文章发布页面。

Drupal 的每个内容单元为节点,此页面即为创建节点页面。每个节点包含一些基础属性,如标题和内容等。如图2-27所示是超级管理员身份访问时的页面,如果是普通具有发布节点权限的用户不一定看到全部的属性。比如“Menu settings ”是针对菜单进行的设置;“Revision information ”是为节点创建新版本。页面提供了保存按钮(Save )和预览(Preview )按钮,在正式保存前可以进行预览以查看是否达到预期效果。

Drupal 高手建站技术手册

36

图2-26 创建内容页面

图2-27 创建博客文章

在本例中,先创建一篇简单的博客文章。在 “Title (标题)”和“Body (内容)”文本框中填入适当内容并保存,成功后即显示节点查看页面,如图2-28所示。这时回到网站首页即可看到新发布的文章的预览。

图2-28 成功发布第一篇博客

用同样的方法,再发布一至两篇博客文章,可以更明显的看到博客列表效果,如图2-29所示。

第2章 安装Drupal 6

37

图2-29 首页的新发布内容列表

至此,一个个人博客已见雏形。不过,目前使用的还是Drupal 的默认主题,因此不能给人一种专业博客的感觉。Dupal 内置了除Garland 外的另外几种主题,而且https://www.doczj.com/doc/eb17551372.html, 网站上也提供了很多主题供下载,可以选择一个比较“像”博客的主题安装在网站中。

2.5.4 选择合适的主题

Drupal 的主题模板机制允许管理员切换不同的网站主题及安装新主题。每个主题包含了注册文件、样式表文件、模板文件以及相关的图片,有时还包含JavaScript 脚本。在https://www.doczj.com/doc/eb17551372.html, 的网站上可以浏览大量的主题。图2-30中标记的链接即为主题浏览和下载链接。

本节先简单介绍一下如何更换现有的Drupal 主题,如何下载和安装第三方Drupal 主题将在后面详细介绍。Drupal 的默认主题即为https://www.doczj.com/doc/eb17551372.html, 网站的主题,名字为Garland ,这

个单词的意思是“胜利的花环”,

Drupal 志在夺取开源PHP CMS 冠军宝座的野心可见一斑。此外,Drupal 的安装包还提供了几个可选主题。

通过页面左侧导航链接的Adminsiter 进入后台管理界面,在站点创建(Site Building )部分单击“Themes (主题)”链接,进入Drupal 主题管理界面,如图2-31所示。

Drupal 高手建站技术手册

38

图2-30 https://www.doczj.com/doc/eb17551372.html, 上的主题下载链接

主题管理页面上列出了可开启的所有Drupal 主题,如图2-32所示。

图2-31 主题管理链接 图2-32 主题列表 列表左侧可查看主题的预览图。从预览图中可以看出,Chameleon 主题比较简洁,没有太多余的页面样式和元素,比较适合强调加载速度的博客使用。右侧的“Enabled ”列中,打勾的为已开启的,“Default ”列中选中的是当前网站的默认主题。在Drupal 中,每个注

Drupal安装

Drupal安装 一、下载drupal 你可以从https://www.doczj.com/doc/eb17551372.html,/project/drupal下载最新版本的drupal。 Drupal已经被翻译成很多种语言。可以到https://www.doczj.com/doc/eb17551372.html,/project/translations 查看是否有需要的语言包。 Drupal的文件和模块是以“.tar.gz”格式压缩的,且大多数的解压缩软件都能对其进行解压缩。 Linux用户下载和解压缩 如果你想使用传统的命令行来下载版本为x.x的drupal,请使用如下的命令(用你想要的版本号替换以下命令中的x.x,如5.7,6.13,7.2等): wget https://www.doczj.com/doc/eb17551372.html,/files/projects/drupal-x.x.tar.gz tar -zxvpf drupal-x.x.tar.gz 这将创建一个包含所有drupal文件和目录的新目录drupal-x.x/,并且将保持drupal文件和目录的访问权限。把这个目录移动到你网页服务器的文档根目录或者你的公共HTML目录。 mv drupal-x.x/* drupal-x.x/.htaccess /var/www/html 主URL(网站主域名)是在你网页服务器的设置文件中进行设置的。在进行下一步安装前,你需要知道这个URL。如果你是在本机安装drupal,那么主URL应该是http://localhost。如果你是在一个网页服务器上安装drupal,那么主URL应该是一个指定的域名(比如https://www.doczj.com/doc/eb17551372.html,)。 苹果系统用户 苹果用户在安装过程中可能还需要阅览以下的手册页: https://www.doczj.com/doc/eb17551372.html,/node/22676 特别是当你不知道上面提到的“网页服务器的文档根目录或你的公共HTML目录”在本机的什么位置时。 Windows用户 一些像7-zip这样的程序可以用来解压.tar.gz文件。要使用7-zip,在.tar.gz文件上点击右键,然后在弹出的菜单中选择7-zip->解压到这里。将出现一个.tar文件。在.tar文件上点击右键,再次选择7-zip->解压到这里。稍等一会,最终的drupal文件夹就出现了。 SElinux用户 Fedora或其他带SELinux(Security Enhanced Linux)的发行版本不要移动主目录到网页目录/var/www/html。 像https://www.doczj.com/doc/eb17551372.html,/node/50280中说的那样,移动文件将保留与在其中创建的文件夹的上下文关系。这种情况下,各文件将错误地关联到主目录(user_home_t)而不是网页目录(httpd_sys_content_t)。 而复制文件到/var/www/html将继承正确的文件夹上下文关系:: cp -R drupal-x.x/* drupal-x.x/.htaccess /var/www/html 如何你已经移动了文件,那么你需要用chon命令重新关联文件来改变文件的安全上下

Drupal安装配置过程(含常见报错化解方法)

首先,用VMware workstation 安装Ubuntu 12.04操作系统 在终端之下sudo apt-get install apapche2 安装阿帕奇服务器 在浏览器中,键入地址:127.0.0.1 如果出现it works 表示阿帕奇服务器安装成功 在终端之下,sudo apt-get install drupal7 安装drupal7 允许 dbconfig-common 配置你的数据库 (默认数据库: MySQL) 然后,向apache注册drupal模块: sudo cp /etc/drupal/7/apache2.conf /etc/apache2/mods-enabled/drupal.conf 最后,重启apache服务器: sudo service apache2 restart ———————————————————————————————————————在此时,在浏览器地址栏中,键入127.0.0.1/drupal7/install.php 显示正常 会出现drupal的安装界面但是此时还不行还得进行下一步的配置———————————————————————————————————————为Drupal手工配置mysql数据库 你需要为drupal创建一个数据库用来导入drupal的数据库表,可以通过phpmyadmin或者命令行创建该数据库 mysqladmin -u root -p create drupal 为drupal创建一个名为drupal的数据库,当然,你可以自定义该数据库名 mysql -u root -p mysql> GRANT SELECT, INSERT, UPDA TE, DELETE, CREATE, DROP, INDEX, ALTER, CR EATE TEMPORARY TABLES, LOCK TABLES ON drupal.* TO 'drupaluser'@'localhost' IDEN TIFIED BY 'drupalpass'; 你肯定不想drupal使用root账号连接数据库,上面命令创建了一个拥有一定权限的不同于mysql root的数据库用户:drupaluser ,drupalpass ,你可以使用其他用户名和密码来替换drupaluser和drupalpass,如果命令成功激活新的权限: mysql> FLUSH PRIVILEGES; 退出mysql命令: mysql> \q ———————————————————————————————————————此时127.0.0.1/drupal7/install.php 依然正常—————————————————————————————————————————————————————————————————————————————— 下面开始出现了问题:

2.实战Drupal 7安装配置图文教程

一.实战Drupal 7安装图文教程Drupal7成功安装的6大步骤: 1.打开官方网站https://https://www.doczj.com/doc/eb17551372.html,/ 下载安装包 2.打开官方网站https://https://www.doczj.com/doc/eb17551372.html,/ 查看安装文档 3.新drupal7 mysql数据库并安装drupal7 4.安装drupal7的中文汉化包 5.Drupal7安装过程中报错的三种解决办法 6.进入网站设置画面,并成功安装完drupal7 1.打开官方网站https://https://www.doczj.com/doc/eb17551372.html,/ 下载安装包 进入下载页面进行下载:

2.打开官方网站https://https://www.doczj.com/doc/eb17551372.html,/ 查看安装文档 3.安装drupal7

(1)先将drupal7解压到环境的根下。 F:\DrMeng_Web_Site\https://www.doczj.com/doc/eb17551372.html, 将解压drupal-7.27目录中的内容复制到根目录https://www.doczj.com/doc/eb17551372.html,下 (2)用phpmyadmin建立一个drupal7的数据库。 https://www.doczj.com/doc/eb17551372.html,/phpmyadmin/输入用户名:root密码:hncctv 创建一个测试数据库:drupal727

(3)在ie中访问https://www.doczj.com/doc/eb17551372.html,/ 就直接安装drupal7 4.安装drupal7的中文汉化包 首先:安装drupal7的中文汉化包

点击Translations Homepage进入下载汉化包页面:

下载汉化包后将它放到这个目录: F:\DrMeng_Web_Site\https://www.doczj.com/doc/eb17551372.html,\profiles\standard\translations\drupal-7.27.zh-hans.po 如下图 汉化包放好后。返回drupal7安装界面,点如下链接

Drupal的缓存技术应用-让你的网站飞起来

Drupal的缓存技术应用-让你的网站飞起来 经常在论坛和QQ群上听人说Drupal很慢,初始状态下承载不了多少数据量及并发,性能很差。但是我们可以发现很多大站也是用Drupal开发的,因为大站做了性能优化,包括硬件及软件优化,这里我们来讨论一下Drupal缓存技术。 所以,你不能说要彻底解决性能问题,但你可以根据实际情况,采用一些常用的解决方案来让网站的性能得到显著提升。我们常说的80/20理论你肯定知道,那么用20%的努力换取80% 的性能提升,何乐而不为呢。 Drupal作为Web开源系统的一种,被称之为CMF(内容管理框架),拥有非常优秀的架构和扩展性,以及海量的第三方模块,现在已经被越来越多的人所熟知和采用。采用Drupal这样主流Web系统的一个好处就是有好多全世界优秀的专家投入到其中,给出各种各样的性能优化方案。我们大多数人作为使用者只要知道如何选择适合自己的优化方案,就能显著提升自己网站的性能。 前面说的都是性能优化,其实本文的重点是缓存技术,在我看来,对Drupal来说,缓存和性能优化基本就是同义词,大多数Drupal的优化技术都是使用各种各样的缓存。缓存有的是静态页面缓存,有的是动态缓存,博狗https://www.doczj.com/doc/eb17551372.html, 有的是CSS,Javascript和图片的缓存。有的放在内存里,有的放数据库里,有的放磁盘上,还有的还需要配合一些服务器软件来提供。林林总总,对新手来说很可能就挑花眼了,所以本文想要在缓存这个话题上,给新手一些指引,本人学识有限,不可能面面俱到,希望读者可以批评指正。 核心缓存 作为最基本的优化手段,Drupal对缓存提供了一些基本的支持,比如外部的区块缓存,匿名用户页面缓存,内部还有比如菜单系统缓存,主题钩子注册表缓存等等。 可以说,作为一个不大的Drupal站点,使用核心内置的常规手段,性能就不会太差。多说一句,一般开发阶段是不开启缓存的,但一旦上线,区块缓存和匿名用户静态页面是必须要开的,CSS和JS也一定是要开启合并压缩的。这样一来,对于匿名用户,应该说速度就会比之前快不少。 Boost Drupal 默认提供的匿名用户缓存是存在数据库里的,这意味着即使是缓存了的网页也要占用数据库连接和内网流量。而如果换成 Boost 模块,你的缓存都直接走静态文件,这不仅仅是不走数据库了,甚至都不经过Drupal了,所以作为页面缓存来讲 Boost 的效果极为出色。 Varnish HTTP Accelerator Integration 这里把 Varnish 模块列出来只是要告诉大家,如果你的服务器仍然有很大的内存,如果在前面使用 Varnish 服务器软件,你可以将静态网页缓存到 Varnish 开辟的内存中,可想而知速度就更快了。而且Varnish还可以帮助你缓存CSS,Javascript等静态文件。 Memcache API and Integration, Memcache Storage,Redis 匿名用户的访问已经那么快了,那如果你的网站有很多活跃的登录用户怎么办呢,之前说的大部分缓存都将失效,这可如何是好呢,对于登录用户来说,最有效的就是使用 Memcache 让许多系统的内部缓存可以从内存中读取,从而得到更好的性能,并且 Memcache 本身还是可以分布式部署的,澳门新濠天地https://www.doczj.com/doc/eb17551372.html, 有很好的延展性。而最后一个 Redis 同样优秀,这里不会比较它们之间的优劣,只是建议你可以先从 Memcache 开始。 Memcache API and Integration和 Memcache Storage,你只需要一个,并且较为推荐后者。 APC - Alternative PHP Cache 另一个能让登录用户感觉到快起来的技术就是 Alternative PHP Cache,也就是APC,他的作用就是让PHP文件不必每次都从磁盘加载,而是可以缓存到内存,并且是缓存的编译中间代码,所以对PHP语言的复杂系统来说优化效果很明显。这可以说是所有PHP网站必装的一个组件,当然他还有其他竞争者,比如eAccelerator, XCache以及最新的Zend Opcache等组件。不过再Zend

Drupal7模组VEWS3介绍

Drupal7模組介紹-Views Drupal版本:7.x * 介紹模組:Views * 模組版本:7.X-3.3 * 相依模組:Chaos tool suite(Ctools) * 官方討論區:https://www.doczj.com/doc/eb17551372.html,/project/issues/views?categories=All 分享主題:Drupal7模組介紹-Views-part1 Goals:安裝Views 前言: 有在玩drupal的人應該都知道,drupal已經是全世界都在使用的一個open source的平台,能夠幫助使用者快速開發出一個全新的網站,不僅安全性好,而且彈性也是不在話下。其中一個很重要的模組就是views。讓drupal能夠很有彈性的處理所有的資料,文案,並且整合到網站之中,學會views以後,基本上就可以建構出像樣的網站了,在這邊分享從我的角度,來看views這個模組。 安裝模組: 要使用views必須要有兩個模組安裝,一個就是本身的views,另外一個則是Chaos tool suite。以下為連結: 1. views: https://www.doczj.com/doc/eb17551372.html,/project/views 2. ctools: https://www.doczj.com/doc/eb17551372.html,/project/ctools 選到網頁的最下方,看到綠色的Recommend Release,選擇對應的版本安裝即可

到drupal網站的Module->install new module 然後可以通過以下兩種安裝方式 1. 網址安裝 2. 檔案安裝 大家可以選擇自己喜歡的安裝方式。 於module頁面啟用模組,這裡可以發現一個views的模組裡面,有很多很多的子模組,每一個功用都不太一樣,在這裡 我views的兩個模組均啟用,而ctools則是啟用chaos tools還有Page management 兩個模組

漫谈企业级Drupal架构应用与部署

漫谈企业级Drupal架构应用与部署 PDF版本 在以drupal为框架的企业级或者商业网站的开发与部署中,不仅仅只是对drupal的开发以及自定义模块和drupal API的开发和应用,在整个企业级应用中,Drupal只是作为Web框架中的一个环节,其他方面,如数据库架构、负载、持续集成等都是必须考虑的环节,本文就Drupal商业级应用中必须的结构与部署方案做一个简单的探讨。 作为中小型商业网站,以Drupal为框架开发是一个较好的选择,除了Drupal开发本身,我们还必须掌握Drupal相关以及其他部署方面的环节,才能得以网站运营更加正常。 1. 服务器 起步阶段建议用VPS或者云主机,(Linode是不错的选择),正式上线之后,建议配置一台服务器,随着流量增大可以增加一台服务器,web和db分开。 访问量再次增加,我们可以增加到3台服务器。 3台服务器的架构图

其中DB和LoadBalancer为同一台机器,故DB比较重要,硬件资源以及备份策略要占优。这种架构的优势就是web节点可以随意切换。 4台服务器的结构就是增加一台MySQL的slave节点,以及将这个节点可以作为一个Loadbalancer的备份。 4台服务器的Drupal部署结构 5台及多台服务器可以参考如下的结构,就是把LB独立出来,web节点和db可以随意扩展,具体需要分析性能的瓶颈在哪里,然后按需增加服务器。

5台及以上多台服务器架构 2.硬盘以及存储结构 服务器的数据存储非常重要,从硬件的角度来说,我们需要有备份及容错机制。 常见的方式是RAID,推荐使用RAID5,经济实惠的方案。如果有4块,可以做RAID10,性能和备份的综合体,比RAID5更高效。从软件硬件的实现角度来说,作为服务器,推荐使用硬件RAID,不要使用软件RAID。 SSD和HDD的选择,这个可以依据成本和预算,SSD肯定比HDD要好很多。 硬盘的分区的划分推荐使用LVM,虽然会有些性能上的损失,但从其带来的有点来说,这点不足是可用忽略不计的。 具体的RAID+LVM规划,大家可用参考网上其他相关文章,本文不做详细的介绍。 3.负载均衡、反向代理 负载均衡节点,如果有多台服务器,建议做双机热备,如LVS、keepalived。 做负载均衡的软件选择比较多,如Haproxy,Nginx, Varnish等,推荐使用Varnish作为负载均衡服务器,不但因为其并发处理能力,而且还能对静态文件(甚至动态文件)进行缓存,

joomla与Drupal两者的优缺点比较

joomla与Drupal两者的优缺点比较 1:总体来说drupal 功能强大一些 2:drupal 的优点 001-- 搜索引擎友好的URL 002-- Drupal有一个优秀的模块化结构,提供了许多模块,包括短消息、个性化书签、网站管理、Blog、日记、电子商务、电子出版、留言簿、Job、网上电影院、论坛、投票等模块。Drupal模块的下载、安装、定制非常方便 003-- Drupal提供了强大的个性化环境,每个用户可以网站内容和表现形式进行个性化设置004-- Drupal提供了基于角色的权限系统,没有必要对每个用户进行授权,只需要对角色进行授权 005-- Drupal提供的站内搜索系统能对站内的所有内容进行索引和搜索 006-- Drupal的模板系统将内容和表现分离,可以很方便地控制网站的外观+ Drupal提供内建的新闻聚合工具+ 提供完善的站点管理和分析工具 007-- Drupal的Caching机制能有效减少数据库查询次数,从而提高站点性能,降低服务器负荷 3:详细信息: <1>. 模块化系统(Module system)。 Drupal把各个具有独立功能的部分抽象为模块,各个模块(除核心模块)只要按照事先巧妙设计好的统一规范来实现接口(http: //https://www.doczj.com/doc/eb17551372.html,/)------这些接口在drupal中表现为按照特定规则命名的PHP代码文件、特定PHP代码文件内按照特定规则命名的PHP函数、特定PHP函数内根据特定参数来执行相应功能的PHP代码块-------就能在核心代码的调度下实现模块自有的功能、在模块之间自动进行交互、通信,这样使得整个系统的功能扩展更灵活更规范。各个模块之间的功能相对独立,单个模块内部的变动一般不会对其他模块原有功能造成影响,单个模块的问题一般不会导致整个系统不可用,这样就可以大大降低系统开发和维护的成本。 Drupal 模块化的安装使用也很方便,只要将相应文件复制到modules目录下,就可以在'管理-设置'里面方便地开启使用了。 <2>. 钩子机制(Hooks system) 钩子机制其实是drupal模块化系统的关键部分。Drupal模块化系统基于一个"钩子"的概念,一个钩子是一个以foo_bar() 方式命名的php函数。其中foo是模块的名字,bar是钩子的名字。每个钩子都定义了一系列的参数和返回类型,执行特定的功能。例如钩子 myblog_load($node)会在系统载入模块myblog对应的节点(node)信息时候执行,把模块对应的节点特定信息附加到节点中去。钩子可以使得模块(module)可以在drupal核心的调度之下进行交互,包括和核心本身进行交互。Drupal的模块机制大大简化的实现模块具体功能的开发、维护效率,因为你只需要实现特定的钩子函数就能获得对应的功能,而根本不用关心这些函数是如何被调用、如何与系统交互。 <3>. 内容类型面向节点

drupal7.x模块开发教程

在本教程中,我们将会建立一个模块,这个模块将列出最近一周内所有新建立的内容节点,比如日志或者论坛的帖子。本章将讲述如何建立最初的模块文件和目录。 开始之前 如果您需要用PHP来查出您站点上的错误,请访问此链接。它将告诉您如何更改Drupal 的设置,使drupal显示错误信息。 为您的模块命名 建立模块的第一步是为它取一个不太长的名字。这个名字将被用在所有的模块文件名和方法名中。所以这个名字必须以字母开头并只能有小写字母和下划线。比如,我们会用"current_posts"作为一个模块名称。注意:一定要确保根据以上规则来取名,因为它将被用于模块名和方法名的前缀。当您运行drupal“钩子“时(请参看后面的章节),drupal将只能识别拥有与您模块文件名称相同前缀的钩子。 请注意不要使用与您站点所有主题相同的名称,这样会使drupal混淆。 创建一个模块目录和模块文件 假如我们决定用"current_posts“的模块名,我们将会在drupal的根目录的以下路径(sites/all/modules /current_posts)创建一个目录。或者如果您要把自己的自定义模块与其他模块区分开,您也可以选择这个路径(sites/all/modules/custom /current_posts)。然后在sites/all/modules/currents_posts目录创建一个名为current_posts.module的文件。注意drupal 并不识别扩展名为.php的文件。如果您为模块添加了php的扩展名,那将不会被识别。drupal 只识别扩展名为.module的php文件。 在Drupal6中,sites/all /modules/是存放自定义模块的理想目录(sites/all/themes/是存放自定义主题的理想目录),因为这个目录存放这所有只与您的站点相关的模块和主题,在您以后升级您的核心模块时,这些自定义模块和主题不会被改写。或者,如果您有多个子站点共享核心模块,而这个自定义模块只在其中一个站点工作,那么您可以使用这个路径来存放:sites/您的子站点/modules 模块文件的开头起始于php的起始标签“"。否则我们可能会遇到服务器实时运行错误。(注意,在本教程中,我们的示例代码中包括了“?>",这只是为了使代码显示的更好。请在实际应用中忽略"?>") 所有以{模块名}_{方法名}格式命名的方法,都是钩子,都可以被drupal直接调用。其中{方法名}是预定义的方法名后缀。drupal将会调用这些方法来处理数据。所以取一个简单明了的模块名是十分重要的,drupal会知道去哪查找数据。 下一步,我们将踏入钩子的领域。 所有的Drupal模块都有一个"模块名.info"文件,用来储存该模块的元信息。(其实可以理解成模块的描述文件) 该文件的一般格式为: name = Module Name description = A description of what your module does. core = 7.x 在本示例中,我们用我们自己的模块名"current_posts"来代替上面例子中的"Module Name".

drupal所见即所得编辑器

很多人习惯使用所见即所得编辑器,而自带的模块是没有的,需要自己安装,我们下面讲解fckeditor的安装过程,同时演示Drupal如何安装模块。fckeditor是一种所见即所得的编辑器,使用比较广泛,之所以选择这个编辑器是为了以后整合图片上传容易。 第一步,下载所需文件。需要下载两个软件包,一个是整合fckeditor到Drupal的插件, 一个是fckeditor的文件包。 fckeditor插件: fckeditor的文件包: 第二步,将文件上传到服务器。按照如下步骤上传: 首先将fckeditor插件的文件包fckeditor上传到module目录下,如下图: 然后将fckeditor编辑器的所有文件放到module/fckeditor/fckeditor目录下 这样就完成了文件上传 第三步。启用插件 登陆Drupal,进入 Adminster——〉module 会看到在插件管理中多出了我们刚刚上传的fckeditor(如下图),选中它,然后保存设置。

第四步,设置 fckeditor编辑器。 安装好FCK编辑器以后需要设置,在以下位置进入FCK管理界面: FCK的参数设置界面如下图所示:

主要设置FCK的配置文件即可,默认的有两个,分别对应anonymous用户组和authenticated 用户组,如果你新建了其他用户组可以建立对应的配置文件。因为游客一般没有编辑权限,我们设置好authenticated用户组即可。设置之前先要在User management——>Permissions 中把authenticated user的access fckeditor权限勾上,否则authenticated用户组无法使用FCK,也就无法将配置文件与其关联了。关于权限的详 细说明我们会在后面的文章中专门介绍。 点击Advanced配置文件后面的edit开始编辑此配置文件,主要设置如下内容: 第一部分设置配置文件名称,关联的用户组和是否允许用户自定义工具条:

drupal8模块开发

drupal8模块开发 Drupal 8模块开发 NamespaceDrupal \ \字段_示例\ \控制器; 使用Drupal \ \ Core \ \ Controller \ \ Controller Base;使用Drupal \ \ Core \ \ Entity \ \ EntityManageRinterface;使用Drupal \ \ Core \ \实体\ \查询\ \查询工厂; 使用符号\ \组件\ \依赖注入\ \容器接口;/** *现场示例路由的控制器例程。*/ class FieldExampleDefaultController扩展controllerBase { /* * * @ var \ \ Drupal \ \ Core \ \ EntityManagerInterFace */ protected $ EntityManger; /* * * @ var \ \ Drupal \ \ Core \ \ Entity \ \ QueryFactory */ protected $ QueryFactory; /* * * @ param \ \ Drupal \ \ Core \ \ EntityManagerInterFace $ EntityManager * @ param \ \ Drupal \ \ Core \ \ EntityManager \ \ QueryFactory \ \ QueryFactory $ QueryFactory */ 公共函数_ _构造(EntityManagerInterFace $ EntityManager,QueryFactory $ QueryFactory){ $ this-> EntityManager = $ EntityManager;$ this-> QueryFactory =

Drupal专业开发指南(1-4章)

Drupal专业开发指南 第1章Drupal 工作原理(1) 第1章Drupal 工作原理(2)对请求提供服务 第2章创建一个模块(1) 第2章创建一个模块(2) 第3章模块特定设置(1) 第3章模块特定设置(2) 第4章Drupal 菜单(menu)系统(1) 第4章Drupal 菜单(menu)系统(2) 第4章Drupal 菜单(menu)系统(3) 第5章Drupal 数据库层(1) 第5章Drupal 数据库层(2) 第6章Drupal 用户(1) 第6章Drupal 用户(2)hook_user 用户注册和登录流程 第6章Drupal 用户(3) 第7章Drupal 节点(Drupal node)(1) 第7章Drupal 节点(Drupal node)(2) 第7章Drupal 节点(Drupal node)(3) 第8章Drupal 主题系统(Drupal theme)(1) 第8章Drupal 主题系统(Drupal theme)(2) 安装主题 第8章Drupal 主题系统(Drupal theme)(3) 模板文件 第8章Drupal 主题系统(Drupal theme)(4) 高级特性1 覆写主题函数 第8章Drupal 主题系统(Drupal theme)(4) 高级特性2 添加和操纵模板变量第8章Drupal 主题系统(Drupal theme)(4) 高级特性3 定义新的区块区域第9章Drupal 区块(Drupal block)(1) 第9章Drupal 区块(Drupal block)(2)区块钩子方法 第9章Drupal 区块(Drupal block)(3)创建区块 第10章Drupal 表单API(form API)- 表单处理流程 第10章Drupal 表单API(form API)- 创建基本的表单 第10章Drupal 表单API(form API)- 创建基本的表单(2) 第10章Drupal 表单API(form API)- 创建基本的表单(3) 第10章Drupal 表单API(form API)- 创建跨页面表单 第10章Drupal 表单API(form API)- 表单API 属性 第10章Drupal 表单API(form API)- 表单元素 第11章Drupal 过滤器系统(filter)(2)创建一个定制的过滤器 第11章Drupal过滤器系统(filter)(1) 第12章搜索和索引内容(1) 第12章搜索和索引内容(2) 索引器 第12章搜索和索引内容(3) 对非节点的内容进行索引 第13章Drupal 文件(file)(1) 第13章Drupal文件(file)(2) 第14章在Drupal 中使用分类(Drupal taxonomy)(1) 第14章在Drupal 中使用分类(Drupal taxonomy)(2)

2019年drupal学习总结

2019年drupal学习总结 原理 模块(Modules) drupal是一个高度模块化,开源的web内容管理框架。它被设计为可被定制的,但是定制是通过覆写核心功能或者增加模块来完成的,而不是修改核心组件中的代码。Drupal中一般通过三种方式来添加功能:启用已存在的模块(核 心模块),安装Drupal社区成员编写的模块(第3方模块),编写自己的模块。 钩子 Drupal的所有功能都通过模块来实现,而模块又通过钩子来和系统联系起来,被系统调用的。钩子可以看作是Drupal的内部事件,不同的事件类型由不同钩子函数来调用,这些钩子函数的命名规则都是由drupal定义好的。我们只需要了解什么样的事件动作要用什么钩子来实现调用。这样,当我们在网站上执行某些操作时,drupal 就会根据我们操作的类型来查找相应的钩子,通过钩子,调用符合条件的模块。

主题(Themes) Drupal是被设计为内容和显示分离的,这样既利于开发,也方便维护。所以,当后台的数据内容要被显示时,就会通过主题(主题函数或主题模版)来进行包装,最后显示在页面上的是数据和主题包装后的效果。Drupal支持多种模版引擎,比如smarty,PHPTemplate.主题也是通过主题钩子来实现调用的, 首先,我们先写好相应的模版文件, 然后在模块中通过“模块名+theme”来注册这些主题。 最后当模块要输出数据时,就会通过theme(“主题”,“数据”)来调用相应的主题模版,并把数据也传进模版,然后theme函数把整合后的html页面返回。 节点(nodes) Drupal中的内容类型都被看做是一个节点来管理,并且所有节点的底层结构都是一样的。这样有利于扩展。

drupal建站教程---全过程

drupal建站教程(全过程) 介绍Drupal :建立一个简单的CMS (1) ?安装设置 ?Drupal6.x 由ctz556 于星期一, 2009-01-05 21:37 发表 最近Drupal越来越流行,它是一个伟大的平台,可用于建立内容管理系统和社区驱动的网站。在这里,我简单的 介绍一下Drupal,并为一个虚拟的客户建立一个简单的网站。我将首先概述客户的需求,安装和配置一些模块, 创建用户角色和分配权限,最后我们将新增一些内容。我们不会修改主题,因为它有点超出了本文的范围。 作者:Steve Jamesson Steve Jamesson是一位居住在Asheville, North Carolina州的WEB设计师,他专注于前端开发、内容管理系统(CMS)和大图片创作。 没有编程时他通常会调制一些不错的啤酒,虽然这两个经常同时进行。 虚拟客户 让我们先虚拟一个客户 SmartMarks是一个很小的市场营销咨询公司,4名员工。每一位员工想拥有一个自己的博客。该网站除了博客还需要几个页面:?Home(首页) ?About(关于) ?Contact(联络) ?Links(链接) ?Blogs(博客) Shannon,企业老板,要完全控制网站。其余的员工(Bill, Jean, 和Terry)应只允许写博客,但是Bill允许发布Links(链接)。 联络方式是按用户的姓名,电话,电子邮件和短信息。提交的联络信息只发送给Shannon。 听起来很简单,是吧?我们将利用Drupal,一些核心功能已经内置。我们可以使用很多核心功能,当然我们需要添加一些其他模块来建立这个网站。 安装某些东西 首先,开始安装Drupal,我将在本地计算机进行开发,当然您可以安装在任何您想要的地方。本教程将使用Drupal 6.x。 安装Drupal,先下载(https://www.doczj.com/doc/eb17551372.html,)解压并创建数据库,并访问http://localhost/ (或您自己的开发网址)。安装过程非常简单。

Drupal常用模块

Drupal常用模块 Drupal常用模块 (1) 1.CAPTCHA(验证码模块) (3) 2.LightBox2(光盒) (4) 3.Poormanscron(自动执行cron) (4) 4.Menu block(提取导航) (5) 5.Site map(站点地图) (5) 6.Content Access(内容访问权限控制) (5) 7.Superfish(制作下拉菜单) (5) 8.Admin(后台管理菜单停靠侧栏) (6) 9.Tagadelic(生成标签云) (6) 10.Menu Breadcrumb(面包屑) (6) 11.Feeds(数据采集) (6) 12.Custom breadcrumbs(面包屑) (7) 13.Taxonomy Image(添加分类图片) (7) 14.Meta tags(设置页面关键字等) (7) 15.jcarousel(jquery多风格滚动图片) (7) https://www.doczj.com/doc/eb17551372.html,anic groups(用户群) (8) 17.FileField Sources(自动下载远程图片) (8) 18.Login Destination(指定登录后跳转的页面) (8) 19.Frequently Asked Questions(问答模块) (8) 20.Privatemsg(短消息模块) (9) 21.Dynamic display block(内容幻灯片) (9) 22.Gallery formatter(文章图片节点相册) (9) 23.Image FUpload(多图上传) (9) 24.BUEditor(轻量级编辑器) (10) 25.Forum Access(论坛权限控制) (10) 26.Auto Assign Role(用户注册角色) (10) 27.Nodeaccess(节点权限控制) (10) https://www.doczj.com/doc/eb17551372.html,er Points(会员积分) (11) 29.Signup(签到) (11) 30.Invite(邀请好友) (11) 31.Terms of Use(会员注册协议) (11) 32.Avatar Selection(会员默认头像) (12) 33.Subscriptions(邮箱订阅) (12) 34.Remember me(登录记住我) (12) 35.Cumulus(flash标签云) (12) 36.Gallery Assist(相册) (13) 37.Workbench(文章审核) (13) 38.Text Resize(选择文字大小) (13) 39.Paging(正文分页) (13)

drupal-所见即所得编辑器

很多人习惯使用所见即所得编辑器,而Drupal自带的模块是没有的,需要自己安装,我们下面讲解fckeditor的安装过程,同时演示Drupal如何安装模块。fckeditor是一种所见即所得的编辑器,使用比较广泛,之所以选择这个编辑器是为了以后整合图片上传容易。 第一步,下载所需文件。需要下载两个软件包,一个是整合fckeditor到Drupal的插件, 第二步,将文件上传到服务器。按照如下步骤上传: 首先将fckeditor插件的文件包fckeditor上传到module目录下,如下图: 然后将fckeditor编辑器的所有文件放到module/fckeditor/fckeditor目录下 这样就完成了文件上传 第三步。启用插件 登陆Drupal,进入 Adminster——〉module 会看到在插件管理中多出了我们刚刚上传的fckeditor(如下图),选中它,然后保存设置。

第四步,设置 fckeditor编辑器。 安装好FCK编辑器以后需要设置,在以下位置进入FCK管理界面:

FCK的参数设置界面如下图所示: 主要设置FCK的配置文件即可,默认的有两个,分别对应anonymous用户组和authenticated 用户组,如果你新建了其他用户组可以建立对应的配置文件。因为游客一般没有编辑权限,我们设置好authenticated用户组即可。设置之前先要在User management——>Permissions 中把authenticated user的access fckeditor权限勾上,否则authenticated用户组无法使用FCK,也就无法将配置文件与其关联了。关于权限的详 细说明我们会在后面的文章中专门介绍。 点击Advanced配置文件后面的edit开始编辑此配置文件,主要设置如下内容:

Drupal快速入门

Drupal 快速入门 1. 概述 (2) 2. 核心概念 (3) 2.1. 节点 (3) 2.2. 分类 (3) 2.3. 评论 (4) 2.4. 区块 (4) 2.5. 模块 (5) 2.6. 挂钩 (6) 3. URL 设计 (12) 4. 用户 (14) 5. 定制 Web 站点的外观 (16) 5.1. 标准主题函数 (16) 5.2. 模板文件 (16) 5.3. 覆盖现有的主题函数 (17) 5.4. 在新模块中进行主题化 (18) 5.5. 创建默认的显示方式 (18) 5.6. 用主题覆盖模块的输出 (19) 5.7. 内容结构和样式 (20) 6. 节点构建序列 (22) 6.1. View 操作 (24) 6.2. Add 操作 (25) 6.3. Edit 操作 (25) 6.4. Delete 操作 (26)

1.概述 Drupal 内容管理系统在一个数据库中维护它的内容。在这个数据库中,内容存储为节点(Node)和其他高级对象,比如用户(User)和评论(Comments)。有一些不同的预定义节点类型,包括新闻、blog 和投票。 Drupal 构造的页面包含一段或更多的信息,这些信息采用节点(Node)、区块(Block)和其他条目的形式。页面通常组织为中间的内容栏、左右边栏、页眉和页脚。除了中间的内容栏之外,其他区域都是可选的。中间栏用来显示站点的主要内容;可选区域用来显示附加的内容。Drupal 使用区块(block)用小段信息填充可选区域。可选区域通常包含导航链接(例如,最流行的节点)和其他简短的内容。与任何内容一样,区块可以依赖于用户的角色,从而提供定制的信息视图。 Drupal 最重要的特性之一是,通过编写定制的节点模块(node module),能够对可用的节点类型进行扩展,比如您的应用程序特有的内容。模块是对 Drupal 的扩展,它们实现来自一个预定义接口的一个或多个挂钩(hook)。挂钩定义用户权限,与数据库进行交互,并提供一个编辑内容的界面。 菜单系统(menu system)控制 Web 站点的导航,可以通过用户界面对它进行充分地定制。与之相反,菜单挂钩函数控制如何组成 URL、如何转换 URL 以及特定的 URL 将调用什么函数。 一个系统根据模板对页面进行主题化(theme),从而将内容和表示方式隔离开。通过定义一套模板(即tpl)文件和主题函数,可以轻松地构造和样式化大多数内容。 节点可以组织成分类(category 或 taxonomy )。论坛(forum)就是分类中层次化内容的一个例子。 对所有内容的访问都要通过一个权限系统,从而控制对 Web 站点上的内容的访问和编辑。

Drupal常用模块

Administration menu - 方便灵活的Drupal 管理菜单 Administration Menu 是一个十分好用的 Drupal 管理模块,它提供一个灵活的管理菜单。此管理菜单将 Drupal 管理页面间的导航都汇集在一起,并可以在鼠标悬停时展开子菜单,大大减少了管理员在不同管理页面之间切换的点击次数,提高了网站管理的效率。 CCK - Content Construction Kit - 内容类型属性字段构建工具 CCK 是 Content Construction Kit 的简称,即“内容构建工具箱”的意思。 在 Drupal 6 中,管理员虽然可以使用Drupal核心的内容模块来新增内容类型,然而因为核心内容模块功能有限,管理员只能对内容类型进行一些基本的配置。如修改标题、正文的命名,更改评论功能启用状态、内容的默认发布状态等等。虽然用户也可以自行编码创建新的内容结构,但对于普通Drupal用户来讲,实在是不容易实现。 Views - 强大灵活的内容列表生成工具

Views 也叫“视图”,是 Drupal 最常用的模块之一,通过使用 views,管理员可以方便地通过图形界面来生成各种列表,包括但不限于文章列表、图片列表、用户列表等等。使用 Views 构造出来的区块或者页面,管理员可能生成内容列表、相册缩略图、幻灯片等等。 Views 配置 Views 的配置非常精细,因此也为我们提供了强大而灵活的功能,总体来讲,Views 包含以下几大基本配置项:“基本配置”、“关联”、“参数”、“字段”、“排序标准” 和“过滤器” 等基本设置 在基本设置中,可以为 views 配置以下内容: ?名称:Views 的名称,便于管理员区分不同的 Views,会显示在左侧的Views 面板中; ?标题:Views 的标题。根据 Views 类型的不同,此标题会应用于区块标题、页面标题等等 ?输出样式:选择 Views 的输出样式,默认有列表、网格、表格等几种样式,通过安装其它 Views 扩展模块,还可以使用 Views 来构造幻灯片等 内容; ?使用分页器:是否显示分页页码 ?要显示的条目:指定 Views 中显示的内容的数量 ?…… 这些配置都是较简单的东西,大家多点击配置一下便可了解,本文就不一一说明了。 除了基本配置外,Views 还有“关联”、“参数”、“字段”、“排序标准” 和“过滤器” 等几大配置项, 其中,“字段”用于定义显示在 Views 中的项目,管理员可以根据需要进行选择,例如下面便是一个很简单的 Views,应用了“标题”字段

相关主题
文本预览
相关文档 最新文档