作者 张龙于飞 发布于 2011-10-06 修改于

drupal7安装及配置实录

Drupal,心中永远的纠结,从1年多以前接触drupal,到现在还在纠结...

1年多以前,给单位做完了自己第一个真正意义上的网站之后,便想构建一个自己的真正的个人网站,主要还是为了满足自己依旧理想主义的心,本来想用wordpress ,但我要的不仅仅是一个blog,初识drupal被其 强大 所吸引,于是用drupal6经过几个昼夜痛苦的煎熬搭建起来了,有主站,有blog,有论坛,有群组,但这样的东西仅仅是一个框架而已,并不能直接应用,限于自己的水平,后来就只是改了blog模版,更新了一段时间之后,也慢慢的放弃了....

在这期间,为单位新做了一个网站,用的是phpcms V9 ,V9建国内常见的新闻、政府部门、门户级网站是非常够用的,站群,自定义字段,自定义模型等等。

但理想主义之心不死,我还想用drupal,正值drupal7推出,看着D7的那些新功能眼馋啊,于是完全抛弃原来的drupal6,用drupal7全新构建网站。

一. 服务器配置。

入门级独立服务器,windows 2003sp2 , apahce 2.2 , mysql5.0 , php5.2 ,曾运行过Drupal6。

二. 安装drupal7

1. 从 http://drupal.org/project/drupal 下载 drupal 7.0 ,2011-1-5发布,解压到服务器网站根目录。

http://localize.drupal.org/translate/languages/zh-hans)下载最新的语言中文包拷贝至“/profiles/standard/translations/”目录下。

将./sites/default/目录下的default.settings.php重新拷贝一份,改名为settings.php,

2. 安装过程参考:http://zhang.cnedun.com/node/3

PS:  环境检查时提示要启用PDO,打开apache的 .ini文件,去掉PDO相关模块前的;号,重新启动apache,继续安装。

安装后进入前台管理页面,顶部的管理菜单和打开的管理项很酷,各功能模块一目了然,方便了许多,打开模块菜单,启用了 blog  等几个默认没有启动的模块,并将其加入到前台页面菜单中,发布了第一篇文章。新版很给力,看来又要花些时间来折腾了。

3. 管理菜单 结构 菜单 Main menu  添加链接 菜单标题:blog 菜单路径:bolg  即可在导航栏主菜单添加blog菜单

已内置 menu模块和cck模块

三. 需要的模块安装及设置。

Wysiwyg(所见即所得)模块

  下载 Wysiwyg(所见即所得)模块 ,http://drupal.org/project/wysiwyg  解压到Drupal 安装目录下的"sites/all/modules/"目录中,然后以管理员身份登录到网站后台,启用该模块。

在管理界面下,点击网站配置(Configuration),内容编辑(Content Authoring) 富文本编辑器的设计选项Wysiwyg profiles。当前支持的富文本编辑器,包括CKEditor , FCKeditor, YUI editor 等共10种编辑器。根据Wysiwyg的要求,所有编辑器必须单独从各自的官方网站下载,解压缩到“sites/all/libraries/”目录中方可使用。

ps 该模块只是一个管理性的模块,Wysiwyg通过统一接口,提供了对CKEditor,YUI editor, FCKeditor等10种编辑器的支持,非常强大易用

安装编辑器 ckeditor

下载CKEditor,http://ckeditor.com/download 解压缩到“sites/all/libraries/”目录中。

  网站配置(Configuration),内容编辑(Content Authoring)中配置富文本编辑器的设计选项 Wysiwyg profiles ,可以将其中的FULL HTML和FILTERED HTML设置为 CKEditor,点击“编辑”,Interface language 选简体中文,Buttons and plugins 将需要的按钮打勾,PLAIN TEXT类型不作改变,然后保存设定。(ckeditor 是V3.5版本)

PS 现在的问题是ckeditor的工具栏没分类排列,怎么那么乱呢?

安装配置IMCE模块

下载 IMCE Wysiwyg API bridge http://drupal.org/project/imce_wysiwyg和 IMCE 模块http://drupal.org/project/imce ,解压到"sites/all/modules/"目录中,在网站后台启用。

配置ckeditor ,在Buttons and plugins中启用 imce

配置IMCE

php: return 'u'.$user->uid.'/'.date('Y', time()).'/'.date("md", time());

这样问题是 imce 只能浏览当前的目前,不能转到上级目录去

最后还是用默认的 u%uid 的好

http://localize.drupal.org/translate/languages/zh-hans 下载imce 汉化包,配置  翻译  导入  ,将此汉化包导入到系统中。

transliteration模块

下载 http://drupal.org/project/transliteration 模块,安装后,imce 上传文件中文名会自动按汉语语音重命名。
配置路径 admin/config/media/file-system  勾选 Transliterate file names during upload. 和   Lowercase transliterated file names. 在上传文件时音译文件名,并全部小写

分类系统

添加词汇表 天痕无折blog 下设分类术语  参考 http://www.notabluescreen.com/drupal7-add-taxonomy将Taxonomy 增加到 blog 内容类型,词汇表是字段级的,一个词汇表字段可以在各个模型等可以添加自定义字段的地方重复使用。这个功能非常有用,使分类的添加非常灵活。

文件强制下载

http://drupal.org/project/download_file
配置:首页 » 管理 » 结构 » 内容类型 »  选择 文章 或其它类型,管理显示,选择文件字段的格式。

文件来源

http://drupal.org/project/filefield_sources

问题见 http://drupal.org/node/436182 目前尚未解决

分类菜单

http://drupal.org/project/taxonomy_menu 
将某个分类转成菜单
打开 首页 » 管理 » 结构  /admin/structure/taxonomy 找到要转化为菜单的词汇表,编辑术语表,配置 TAXONOMY MENU ,选择要添加的菜单

外部链接

http://drupal.org/project/extlink
自动设置外链接的打开方式、添加小图标。
首页 » 管理 » 配置 » 用户界面   /admin/config/user-interface/extlink

字段组

http://drupal.org/project/field_group
将字段分组,按分组以 tab标签、折叠等方式显示。
配置:首页 » 管理 » 结构 » 内容类型 »  选择 文章 或其它类型,管理字段 ,Add new group 添加一个字段组,选字段选项为Vertical tab , 将原来的部分字段,拖放到字段组下面成为子字段。

需要 http://drupal.org/project/ds 显示套件  模块完成更多功能

CSS3PIE模块

可以让IE支持CSS3的圆角、阴影、渐变等属性。
先安装模块 http://drupal.org/project/Libraries 和 http://drupal.org/project/css3pie 再在http://css3pie.com/下载 CSS3PIE库到 sites/all/libraries/PIE 目录

content_access 内容访问权限模块

http://drupal.org/project/content_access 单独设置内容权限,以角色或用户,类似模块 http://drupal.org/project/nodeaccess 
在  /admin/structure/types/manage/ 选择一个内容类型并编辑,看到 ACCESS CONTROL并编辑 ,即/admin/structure/types/manage/article/access ,勾选 Enable per content node access control settings ( 启用每个内容节点的访问控制设置),查看首页,提示重建权限缓存,更前后新建 article 文章类型节点,即多了一个  ACCESS CONTROL选项卡,可设置此 node 的权限。 

语法高亮模块GeSHi

GeSHi全名为Generic Syntax Highlighter,是一个通用的语法高亮程序。目前支持130多种编程语言的语法高亮。

下载Drupal的GeSHi Filter模块: http://drupal.org/project/geshifilter ,解压后放在sites/all/modules目录,此模块是基于服务器端的,通过Drupal Filter来实现。

下载GeShi1.0库并解压(目前仅支持 1.0.X库),把解压的文件上传到Drupal的   sites/all/libraries 目录下

下载 Libraries API(2.x)  http://drupal.org/project/libraries (注意一定要下载2.x 版本的),放在sites/all/modules

到Drupal 的 模块中激活Libraries API(2.x) ,再激活 GeSHi Filter, 另一个GeSHi field暂时可不用激活。

admin/config/content/geshifilter
显示libraries模块找到了正确的版本 GeSHi library version 1.0.8.10 detected。(如果找不到geshi,禁用geshifilter模块并卸载,然后重新启用)
Default highlighting mode 是默认高亮语言,可以设置为纯文本或者你喜欢的语言。
Default line numbering 就选择 nomal line numbers 。
CSS mode for syntax highlighting 设置为Inline CSS style attributes. 这样,在FEED中也能看到高亮的效果。
Code container, wrapping technique 设置为GESHI_HEADER_PRE_TABLE ,这样复制代码时就不会把行号复制进去了。

配置GeShi filter
admin/config/content/formats (管理 » 配置 » 内容写作 » 文本格式)分别设置各文件格式,启用geshifilter 并把其权重调到最上面。以Full HTML 为例,在启用过滤器 那里选中GeSHi filter ,过滤器处理顺序 处把 GeSHi filter 的权重值修改为一个负值,如-10 。这样就让代码高亮模板优先处理文本,确保得到正确的高亮效果。如果要为各个 文本格式 设定个性化的标签,可以在geshifilter的配置那里勾选上Use text format specific tag settings. (默认是使用geshifilter的配置那里设定的全局标签设置)。

在文章中使用 通用标记 code 或 blockcode 或 <foo> … </foo>  或 [foo] …  [/foo]  对你的脚本进行高亮设置,其中foo 为支持的语言名。支持:

切换 ckeditor 到源代码模式,输入<php> 这里放php源代码 </php> 

参考:http://ihacklog.com/php/drupal/drupal-code-highlight-module-geshifilter-usage.html

语法高亮模块:syntaxhighlighter 

http://drupal.org/project/syntaxhighlighter

由于GeSHi模块只能使用在原码模式下,在所见即所得编辑器中无法使用,选择这个模块。下载并安装库 SyntaxHighlighter Javascript Library 。安装 syntaxhighlighter 模块并启。安装并启用http://drupal.org/project/syntaxhighlighter_insert。配置wysiwyg , 编辑Full HTML ,启用 Insert syntaxhighlighter tag 按钮。

superfish 下拉菜单模块

下载并解压缩 superfish库 http://dl.dropbox.com/u/22795799/superfish-library-for-drupal-v1.zip 到   sites/all/libraries
下载并解压缩 Libraries module 到 sites/all/modules 并启用
http://drupal.org/project/superfish 下载并解压缩superfish模块到  sites/all/modules 并启用
用户升级需要删除模块,然后再上传新的文件夹(sites/all/modules/superfish)。此外,如果修改CSS文件,从sites/all/modules/superfish/css/extra 移动到 sites/all/libraries/superfish/style

media模块

http://drupal.org/project/media

经测试media 7.x-1.0-beta5 和 transliteration 7.x-3.0-alpha1 无法工作,上传中文文件名的文件时文件名丢失,无法显示

http://drupal.org/project/ctools 目前只需启用  

http://drupal.org/project/file_entity

http://drupal.org/project/mediaelement

http://drupal.org/project/multiform

http://drupal.org/project/media_browser_plus

http://drupal.org/project/ColorBox
http://colorpowered.com/colorbox/

http://drupal.org/project/media_gallery

 

Plupload integration 批量上传模块

http://drupal.org/project/plupload 

http://www.plupload.com/

mediafront模块

http://drupal.org/project/mediafront 下载并安装

admin/structure/mediafront/add 添加一下播放器:nodeplayer 

/admin/structure/types/add 添加一个内容类型 :media

添加file类型字段 ,用来上传视频或音频文件, 添加media player类型字段 播放。

使用media模块时,添加media asset类型字段,设置字段显示为链接,查看并设置 /admin/config/media/file-types 使用视频、音频类型的 /admin/config/media/file-types/manage/video/file-display 显示 默认 为链接

详见:http://www.mediafront.org/sites/default/files/Drupal_Dallas_2011_Presenting_Media.m4v  演示文件

四. 建立子主题。

参考:基于Zen创建一个Drupal7的主题(模板)

五. 

 

 

 

 

 

 

u[current-user:uid]/[current-date:custom:Y]/[current-date:custom:m]

 

 

events_calendar_feature模块

http://drupal.org/project/events_calendar_feature 事件日历功能的集成模块,方便配置

http://drupal.org/project/calendar

http://drupal.org/project/date

http://drupal.org/project/context

 

 

 

flag模块

是一个灵活的标记制度,是完全可通过管理员进行定制。使用此模块,网站管理员可以对任意数量的节点、评论、用户进行标记。这些标记包括书签、标记重要、朋友或检举。您可以创建自定义清单流行内容或监视重要内容。

flag标记可以是全局的,也可以是个人的。全局的标记意味着你可以标记如精华评论、重点内容等,而个人标记则可能是我的收藏、推荐等,与每个用户相关。

flag模块是一个灵活的标记模块,使用这个模块可以标记任意的节点、评论、用户等内容,可以通过这个模块将节点标记为精华、垃圾或者你想做的任何标记.flag模块还可以和views2进行整合进行操作,同时flag还支持action.在官方网站上有非常详细的文档.

参考:http://joom.net.ru/content/flag-mo-kuai

 

 

ckeditor编辑器太高了,找到drupal 插件wysiwyg目录下的 wysiwyg---editors----ckeditor.inc 文件,修改 'height' => 300,  为'config.height' => 300,  这样就比较合适了

 

 

 

 

auto save 自动保存 模块

http://drupal.org/project/autosave

http://drupal.org/project/noggin 自定义标题图片

文字过滤模块http://drupal.org/project/wordfilter

http://drupal.org/project/autosave 自动保存编辑中的内容,目前7.x还在开发状态
参考:http://drupal.soa.tw/drupal_autosave_module

http://drupal.org/project/author_pane 作者模块

http://drupal.org/project/taxonomy_manager 批量添加、删除、移动分类

http://drupal.org/project/taxonomy_menu_trails 分类列表收缩下级分类

http://drupal.org/project/filefield_paths 指定文件上传路径和文件名规则

http://drupal.org/project/themekey   ThemeKey允许您定义简单或复杂的主题切换规则,允许自动根据当前的路径,分类术语,语言,节点类型,以及许多其他属性选择一个主题。

http://drupal.org/project/file_force 强制下载文件

 

 

 

Better Exposed Filters -- 美化views exposed样式,可基于这个模块进行再加工, 制作多级联动查询的利器

 

http://drupal.org/project/dragndrop_uploads 拖放上传

http://drupal.org/project/image_resize_filter 图像调整过滤器

http://drupal.org/project/link 链接 可用于转向链接

http://drupal.org/project/nice_menus 下拉式菜单

http://drupal.org/project/email 电子邮件字段类型

http://drupal.org/project/rules 定制工作流程

http://drupal.org/project/views_bulk_operations 查看批量操作模块(又名VBO)

http://drupal.org/project/hierarchical_select 层级选择分类

http://drupal.org/project/smsframework 短信框架

http://drupal.org/project/author_pane 作者窗格

http://drupal.org/project/quicktabs  滑动窗口

http://drupal.org/project/diff 修订

http://drupal.org/project/lightbox2

http://drupal.org/project/scheduler 定时发布节点

http://drupal.org/project/plupload 多文件上传

http://drupal.org/project/ds Display suite 显示套件

http://drupal.org/project/contemplate 内容模块,做node模板,自定义字段的调用

http://drupal.org/project/taxonomy_filter 分类过滤

http://drupal.org/project/field_collection  例如,对一个支持多value的field,实现(按钮[点一下加一行])的功能。

http://drupal.org/project/custom_search 自定义搜索

http://drupal.org/project/heartbeat   做sns用,显示用户动态

http://drupal.org/project/Userpoints User Points -- 用户积分

http://drupal.org/project/mathjax 显示LaTeX数学公式

http://drupal.org/project/ajax_register ajax登录注册

http://drupal.org/project/private_taxonomy   用户先建立Taxonomy 分类

http://drupal.org/project/themekey    根据不同条件,如:时间、用户id 、内容类型等,显示不同主题

 

 

只用于Drupal7以上

http://drupal.org/project/user_modal 弹出式窗口登录、注册

http://drupal.org/project/better_formats 自定义输入格式

http://drupal.org/project/redirect 重定向

http://drupal.org/project/ocupload 一键上传:上传图像,上传文件,并插入到编辑器,多文件上传

http://drupal.org/project/metatags nodeword的代替模块   元标记

http://drupal.org/project/maestro 工作流引擎、解决方案

http://drupal.org/project/core_library   http://drupal.org/project/agrcache 缓存

http://drupal.org/project/views_field

http://drupal.org/project/field_permissions 字段权限

http://drupal.org/project/references 节点参考 字段类型

http://drupal.org/project/maestro 工作流解决方案

http://drupal.org/project/field_group_views

http://drupal.org/project/filehash  文件哈希

http://drupal.org/project/jquery_expander jQ扩展插件,提供一个展开和折叠文本的功能,“简洁 -- 详情”的收放按钮。

 

http://drupal.org/project/statuses Statuses (Social Microblog)  状态 社会化微博

http://drupal.org/project/vinculum 提供 pingback and trackback 功能

 

 

文件管理相关模块:

http://drupal.org/project/document 文档管理系统 支持版本控制

http://drupal.org/project/filedepot  文件管理模块 

http://drupal.org/project/filetree 树状文件夹