Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Building online communities with drupal, phpBB, and WordPress
PREMIUM
Số trang
561
Kích thước
14.3 MB
Định dạng
PDF
Lượt xem
1135

Tài liệu đang bị lỗi

File tài liệu này hiện đang bị hỏng, chúng tôi đang cố gắng khắc phục.

Building online communities with drupal, phpBB, and WordPress

Nội dung xem thử

Mô tả chi tiết

Robert T. Douglass, Mike Little,

and Jared W. Smith

Building Online

Communities with

Drupal, phpBB, and

WordPress

5629_FM_final.qxd 11/16/05 4:11 PM Page i

Building Online Communities with Drupal, phpBB, and WordPress

Copyright © 2006 by Robert T. Douglass, Mike Little, and Jared W. Smith

All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means,

electronic or mechanical, including photocopying, recording, or by any information storage or retrieval

system, without the prior written permission of the copyright owner and the publisher.

ISBN (pbk): 1-59059-562-9

Printed and bound in the United States of America 987654321

Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence

of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark

owner, with no intention of infringement of the trademark.

Lead Editor: Matt Wade

Technical Reviewers: Steve Potts, James Walker

Editorial Board: Steve Anglin, Dan Appleman, Ewan Buckingham, Gary Cornell, Tony Davis, Jason Gilmore,

Jonathan Hassell, Chris Mills, Dominic Shakeshaft, Jim Sumser

Project Manager: Sofia Marchant

Copy Edit Manager: Nicole LeClerc

Copy Editor: Marilyn Smith

Assistant Production Director: Kari Brooks-Copony

Production Editor: Lori Bring

Compositor: Linda Weidemann

Proofreader: Linda Seifert

Indexer: Rebecca Plunkett

Artist: Kinetic Publishing Services, LLC

Cover Designer: Kurt Krames

Manufacturing Director: Tom Debolski

Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor,

New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail orders-ny@springer-sbm.com, or

visit http://www.springeronline.com.

For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley,

CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail info@apress.com, or visit http://www.apress.com.

The information in this book is distributed on an “as is” basis, without warranty. Although every precaution

has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to

any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly

by the information contained in this work.

The source code for this book is available to readers at http://www.apress.com in the Source Code section.

5629_FM_final.qxd 11/16/05 4:11 PM Page ii

I’m dedicating my portion of this book to my Aunt Sobeida Linder,

whose inspiring spirit in the face of nearly impossible odds sets an example

we can all admire and try to live up to. She personified the phrase

“live life to the fullest,” as she did exactly that with every day she had,

good days and bad. We miss you tremendously.

Jared Smith

5629_FM_final.qxd 11/16/05 4:11 PM Page iii

5629_FM_final.qxd 11/16/05 4:11 PM Page iv

Contents at a Glance

About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi

About the Technical Reviewers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii

PART 1 ■ ■ ■ Drupal

■CHAPTER 1 Introducing Drupal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

■CHAPTER 2 Configuring Drupal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

■CHAPTER 3 Using the Drupal Core Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

■CHAPTER 4 Adding Contributed Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

■CHAPTER 5 Adding and Customizing Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

■CHAPTER 6 Maintaining Your Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

PART 2 ■ ■ ■ phpBB

■CHAPTER 7 Introducing phpBB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

■CHAPTER 8 Installing and Configuring phpBB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

■CHAPTER 9 Touring phpBB’s Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

■CHAPTER 10 Securing and Maintaining phpBB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

■CHAPTER 11 Modifying phpBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

■CHAPTER 12 Styling phpBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

PART 3 ■ ■ ■ WordPress

■CHAPTER 13 Introducing WordPress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

■CHAPTER 14 Installing and Configuring WordPress. . . . . . . . . . . . . . . . . . . . . . . . . . 379

■CHAPTER 15 Starting to Blog and Building Your Community . . . . . . . . . . . . . . . . . 401

■CHAPTER 16 Changing the Look of Your Blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

■CHAPTER 17 Customizing Your Blog’s Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

■CHAPTER 18 Maintaining Your Blog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489

■INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 v

5629_FM_final.qxd 11/16/05 4:11 PM Page v

5629_FM_final.qxd 11/16/05 4:11 PM Page vi

Contents

About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi

About the Technical Reviewers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii

PART 1 ■ ■ ■ Drupal

■CHAPTER 1 Introducing Drupal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

What Is Drupal? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Who Should Use Drupal? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

Installing Drupal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Meeting Drupal Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Obtaining Drupal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Setting Up the Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Setting the Database and Base URLs. . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Accessing the Drupal Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Troubleshooting Installation Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Creating the First User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Creating the files Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Using Other Installation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Creating Drupal Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Adding a News Story. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Changing the Front Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Touring Drupal’s Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Introducing Themes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Introducing Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Introducing Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Introducing Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Introducing Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Introducing Taxonomy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

vii

5629_FM_final.qxd 11/16/05 4:11 PM Page vii

■CHAPTER 2 Configuring Drupal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Configuring Site Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

General Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Cache Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

File System Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Image Handling Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

RSS Feed Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Date Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

String Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Setting Up and Maintaining User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . 30

Configuring User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

Managing User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Controlling Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Using Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Using Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Administering Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Adding Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Managing Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Configuring Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Filtering Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Viewing, Searching, and Updating Content . . . . . . . . . . . . . . . . . . . . . 48

Managing Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Configuring Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Managing the Comment Approval Queue . . . . . . . . . . . . . . . . . . . . . . 50

Configuring Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Enabling Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Choosing Theme Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Using Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Understanding Vocabularies and Terms. . . . . . . . . . . . . . . . . . . . . . . . 53

Configuring Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Leveraging Categories with Custom URLs . . . . . . . . . . . . . . . . . . . . . 56

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

viii ■CONTENTS

5629_FM_final.qxd 11/16/05 4:11 PM Page viii

■CHAPTER 3 Using the Drupal Core Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Aggregator Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Identifying Feeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Configuring Feeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Viewing Feeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Archive Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Block Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Blog Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Configuring Blogs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Accessing Blogs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

BlogAPI Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Configuring BlogAPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Publishing to Your Site Using BlogAPI. . . . . . . . . . . . . . . . . . . . . . . . . . 66

Book Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Using Book Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Working with the Book Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Viewing Book Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Comment Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Contact Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Using the Personal Contact Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Using the Sitewide Contact Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Drupal Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Using Distributed Authentication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Running a Directory Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Configuring the Drupal Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Filter Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Forum Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Configuring Containers and Forums . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Setting Up Forum Categories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Help Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Legacy Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Locale Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Enabling and Importing Translations . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Translating Strings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Exporting Translations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

■CONTENTS ix

5629_FM_final.qxd 11/16/05 4:11 PM Page ix

Menu Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Modifying Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Adding Custom Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Showing Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Adding Menu Links the Easy Way . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Resetting Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Node Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Page and Story Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Path Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

Creating Path Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Creating Aliases to Drupal Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

Ping Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Poll Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Creating Polls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Administering Polls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Profile Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Creating Custom Profile Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Viewing Profile Listing Pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Search Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Enabling the Search Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Building the Search Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Statistics Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Configuring Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Banning Abusive Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

System Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

Taxonomy Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Throttle Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Throttling Modules and Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Configuring Throttle Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Tracker Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Upload Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Configuring File Uploads. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Uploading Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Podcasting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

User Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Watchdog Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

x ■CONTENTS

5629_FM_final.qxd 11/16/05 4:11 PM Page x

■CHAPTER 4 Adding Contributed Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Getting Drupal Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Introducing Some Useful Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Installing Contributed Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

TinyMCE Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Installing the TinyMCE Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

Configuring the TinyMCE Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

Image Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Installing the Image Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Configuring the Image Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Uploading and Viewing Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Image Assist Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Installing the Image Assist Module . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

Configuring the Image Assist Module. . . . . . . . . . . . . . . . . . . . . . . . . 110

Using Image Assist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

Flexinode Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

Installing the Flexinode Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

Adding Custom Node Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

Event Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Installing the Event Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Configuring the Event Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Event-Enabling Node Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Viewing Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

Exporting Event Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

Location Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Installing the Location Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

Configuring the Location Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Location-Enabling Node Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Organic Groups Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Installing the Organic Groups Module . . . . . . . . . . . . . . . . . . . . . . . . 131

Activating Group Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Configuring the Organic Groups Module . . . . . . . . . . . . . . . . . . . . . . 132

Configuring Organic Groups Albums. . . . . . . . . . . . . . . . . . . . . . . . . . 134

Creating Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Managing Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

■CONTENTS xi

5629_FM_final.qxd 11/16/05 4:11 PM Page xi

Spam Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Detecting Spam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

Installing the Spam Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

Configuring the Spam Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

Managing URL Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Creating Custom Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Using Other Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Database Administration Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

Installing the Database Administration Module . . . . . . . . . . . . . . . . 141

Configuring the Database Administration Module . . . . . . . . . . . . . . 141

Using the Database Administration Module . . . . . . . . . . . . . . . . . . . 143

Running Queries and Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

Developer Tools (Devel) Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

Installing the Devel Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

Configuring the Devel Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

Viewing Timer and Query Log Information . . . . . . . . . . . . . . . . . . . . 145

Using Developer Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

Emptying the Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

■CHAPTER 5 Adding and Customizing Themes . . . . . . . . . . . . . . . . . . . . . . . . . 149

Understanding Themes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Theme Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

How Drupal Finds Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Installing New Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Customizing Themes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

Introducing Themable Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

Using Template Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Overriding Themable Functions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

Adding Custom Regions for Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . 176

Using CSS for Themes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

Creating a Custom Favicon.ico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

Using Theme-Related Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

xii ■CONTENTS

5629_FM_final.qxd 11/16/05 4:11 PM Page xii

■CHAPTER 6 Maintaining Your Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Scheduling Automated Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Introducing Cron.php. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

Calling Cron.php. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Running Multiple Drupal Sites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

Directing Requests for Multiple Sites . . . . . . . . . . . . . . . . . . . . . . . . . 190

Creating a sites Subdirectory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

Using Site-Specific Modules and Themes . . . . . . . . . . . . . . . . . . . . . 193

Sharing a Database Among Multiple Sites . . . . . . . . . . . . . . . . . . . . 194

Sharing Tables Across Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

Making Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

Making Database Backups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

Making File System Backups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

Moving Your Backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

Maintaining a Test Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

Creating the test_site Subdirectory . . . . . . . . . . . . . . . . . . . . . . . . . . 205

Creating a Copy of the Site Database. . . . . . . . . . . . . . . . . . . . . . . . . 205

Copying the Files to the test_site directory. . . . . . . . . . . . . . . . . . . . 205

Updating the Test Site’s Configuration Settings . . . . . . . . . . . . . . . . 205

Accessing the Test Site. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

Updating Drupal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

Tracking Your Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

Testing the Update. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

Performing the Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

Getting Drupal Support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

The Drupal Community. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

PART 2 ■ ■ ■ phpBB

■CHAPTER 7 Introducing phpBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

The Basics of Running Your Own Forums . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Some Forum Administration Lingo . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Organizing Your Forums Logically . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

Respecting Your Bread and Butter: Your User Base . . . . . . . . . . . . . 220

Keeping Things Familiar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

Keeping Things Fresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

Using a Quality Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

■CONTENTS xiii

5629_FM_final.qxd 11/16/05 4:11 PM Page xiii

Enter phpBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

The Million-Dollar Question: Why Use phpBB?. . . . . . . . . . . . . . . . . . . . . . 222

phpBB’s Feature Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

End-User Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

Administrative Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

phpBB’s Security Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

phpBB’s Customizability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

phpBB’s Scalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

What We’ll Accomplish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

Looking Toward Olympus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

■CHAPTER 8 Installing and Configuring phpBB . . . . . . . . . . . . . . . . . . . . . . . . 231

Installing phpBB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

Meeting phpBB Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

Obtaining phpBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

Preparing Your Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

Running the Install Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

Troubleshooting Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

Performing Post-Installation Chores . . . . . . . . . . . . . . . . . . . . . . . . . . 238

Configuring phpBB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

Using the phpBB Administration Panel. . . . . . . . . . . . . . . . . . . . . . . . 241

Configuring Basic Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

Creating Your Forums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

Touring the phpBB 3.0 Installer and Administration Panel . . . . . . . . . . . . 252

Installing phpBB 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

Configuring phpBB 3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

■CHAPTER 9 Touring phpBB’s Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

Reading and Posting to Forums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

Using the Forum Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

Marking Forums As Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

Watching Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

Formatting Posts Using BBCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

Working with Emoticons (Smilies). . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

Making Topics Sticky and Posting Announcements. . . . . . . . . . . . . 270

Attaching Polls to Topics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

Editing Posts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

xiv ■CONTENTS

5629_FM_final.qxd 11/16/05 4:11 PM Page xiv

Tải ngay đi em, còn do dự, trời tối mất!