Docstoc

acquia_getting_started_1-2_01

Document Sample
acquia_getting_started_1-2_01 Powered By Docstoc
					Table of Contents
Preface ............................................................................................................................................. v 1. Important Concepts and Naming Conventions in this Guide .................................................................... 1 2. Acquia Drupal and the Acquia Network .............................................................................................. 3 3. Acquia Network Accounts and Subscriptions ....................................................................................... 5 4. System Requirements ...................................................................................................................... 6 5. Installing Acquia Drupal from Scratch ................................................................................................ 9 Install AD from Scratch: Create Database ..................................................................................... 10 Install AD from Scratch: Download, Extract, Move to Server ........................................................... 16 Install AD from Scratch: Install and Configure Website ................................................................... 17 Install AD from Scratch: Advanced Installation on the Command Line ............................................... 22 6. Migrating from Drupal 6.x to Acquia Drupal ..................................................................................... 27 D6.x to AD: Prepare + Download ................................................................................................ 27 D6.x to AD: Prepare Modules for Update ..................................................................................... 28 D6.x to AD: Update to Acquia Drupal ......................................................................................... 31 D6.x to AD: Configure Site ........................................................................................................ 33 D6.x to AD: Advanced Migration with the Command Line .............................................................. 36 7. Migrating from Drupal 5.x to Acquia Drupal ..................................................................................... 40 D5.x to AD: Read Before Upgrading .......................................................................................... 41 D5.x to AD: Updating Drupal 5.x ................................................................................................ 42 D5.x to AD: Prepare the D5.x Update .................................................................................. 42 D5.x to AD: Update the Drupal 5.x core ............................................................................... 44 D5.x to AD: Prepare Drupal 5.x Modules for Update .............................................................. 49 D5.x to AD: Update Drupal 5.x modules .............................................................................. 53 D5.x to AD: Final Drupal 5.x Update Checks ........................................................................ 58 D5.x to AD: Theme Ready? ............................................................................................... 61 D5.x to AD: Upgrading from Drupal 5.x to Acquia Drupal .............................................................. 61 D5.x to AD: Acquia Drupal Contributed Module Upgrade Notes ............................................... 62 D5.x to AD: Upgrading the Drupal Core and Acquia Drupal Modules ........................................ 63 D5.x to AD: Upgrading non-Acquia Drupal Contributed Modules .............................................. 73 D5.x to AD: Configuring Your Acquia Drupal Site ................................................................. 74 D5.x to AD: Testing and Tweaking Your Acquia Drupal Website .............................................. 76 8. Connecting a Drupal 6.x Website to the Acquia Network .................................................................... 100 9. Acquia Network Services - Overview .............................................................................................. 102 Cron Service .......................................................................................................................... 103 Heartbeat Service .................................................................................................................... 105 Mollom - Content Protection ..................................................................................................... 106 10. Subscriber Forums and Technical Support ...................................................................................... 109 11. Appendices ............................................................................................................................... 110 Appendix A - Installation and Configuration Special Cases ............................................................. 110 Printer-Friendly, E-mail and PDF Versions Module - Set Up and Configuration .......................... 110 Filefield_meta Module and the GetID3 Library .................................................................... 115 Appendix B - Testing the Upgrade Process on your Local Machine .................................................. 118 Appendix C - Backing up Drupal Websites .................................................................................. 124 Appendix D - Acquia Network Connector Modules ....................................................................... 129 Appendix E - Acquia Drupal Modules ........................................................................................ 129 Appendix F - PHP Settings + Extensions .................................................................................... 131 Appendix G - Drupal Paths and Clean URLs ............................................................................... 134 A. Glossary .................................................................................................................................... 136 Index ............................................................................................................................................ 151

ii

Preface
What is Acquia Drupal?
Acquia Drupal is a packaged distribution of the open source Drupal [http://acquia.com/what-is-drupal] social publishing system. A collection of essential software from the Drupal community [http://drupal.org/], Acquia Drupal offers you a quick on-ramp to begin building Drupal websites.

What is this document?
This guide will help you get your Acquia Drupal site up and running, connect your site to the Acquia Network, and show you how to use Acquia Network services.

Get started: 1 - Install, Migrate or Upgrade to Acquia Drupal
• Installing Acquia Drupal from Scratch: • Make a new website. • Connect a Drupal 6.x Website to the Acquia Network • Add the Acquia Connector module to an existing Drupal 6.x website to connect it to the Acquia Network and access network services and support. • Migrating from Drupal 6.x to Acquia Drupal: • Converting an existing Drupal 6.x site to Acquia Drupal • Migrating from Drupal 5.x to Acquia Drupal: • Converting an existing Drupal 5.x site to Acquia Drupal • Some of the configuration issues and known bugs you might encounter as well as useful workarounds you might need when upgrading from Drupal 5.x to Acquia Drupal. There is also a community discussion on these topics in the "Upgrading to Drupal 6" forum on the Acquia Network at http://acquia.com/network/forum. • Updating an Acquia Drupal Website: • Upgrading an existing Acquia Drupal site to the latest version of Acquia Drupal

Get Started: 2 - Create an Acquia Network subscription Connect to the Acquia Network
Get access to essential site services and technical support: • Network Services: • Subscribers to the Acquia Network benefit from a range of information and network services. See more in the Acquia Drupal and the Acquia Network section of this guide. For a detailed description of the Acquia Network and its subscriber services, go to the network information page [http://acquia.com/products-services/acquia-network] on the Acquia Network.

v

Preface

• Drupal Technical Support: • As a subscriber to the Acquia Network, there are various information and support channels available to you, ranging from online subscriber forums to live telephone support, depending on your subscription level. See the Subscriber Forums and Technical Support of this guide for details.

vi

Chapter 1. Important Concepts and Naming Conventions in this Guide
• System Messages When you need help or technical support for your Acquia Drupal site, go to the Acquia Network subscriber forums or contact the support channels available to your subscription level. However, while managing your site you may also see messages that refer you to resources on http://drupal.org. The Drupal website is a great resource, especially for community modules not included in Acquia Drupal. Acquia actively participates in the drupal.org community. • Drupal URLs: Understanding the Drupal Path Throughout this document, "click paths", or instructions telling you what links to click, are shown like this: • Administer > Site building > Modules This means, "Please click the links: Administer, Site building, and then Modules". Additionally, the Drupal path to the same page or screen is shown like this: • ?q=admin/build/modules This means, "Add ?q=admin/build/modules to the base URL of your site, in your browser, and you'll go directly to the right page or screen." For example, given the site example.com, adding the Drupal path above would result in a URL http://example.com/?q=admin/build/modules. This is given as a shortcut for people who are more comfortable typing web addresses straight into the browser's address bar. • Document Root Directory: [docroot] The location in a server's file system that contains a website's code base. These files are addressed when serving web pages to a browser. Hosting providers may call this directory htodcs, public_html or www; users know it as the home directory, web root or the document root. This guide refers to it as [docroot] from here on in. Instructions containing directory and file locations start with [docroot], meaning: "you have to know how to get to the document_root directory yourself (and know its name on your server), then follow the rest of the path as written here". For example, your Acquia Drupal directory is in the following directory on your server: • /var/www For you, [docroot] in this documentation means "navigate to /var/www/acquia-drupal-a.b.c on your server". If your [docroot] directory is located in the following directory on your server: • /web/loc/htdocs then "[docroot]/sites/all/modules" in this guide means "/web/loc/htdocs/acquia-drupal-a.b.c/sites/all/modules" for you. • Acquia Drupal Tarball and Zip Filenames The Acquia Drupal files available for download on the Acquia Network are called something similar to acquia-drupal-1.0.0-1234.tar.gz, acquia-drupal-1.0.0-1234-update.tar.gz, acquia-drupal-1.0.0-1234.zip, or 1

Important Concepts and Naming Conventions in this Guide acquia-drupal-1.0.0-1234-update.zip. These files names change over time to reflect updates to the Acquia Drupal code base. In this guide, these files have generic names, such as acquia-drupal-a.b.c-nnnn-update.tar.gz or acquia-drupala.b.c-nnnn-update.zip, where the letters stand for: • a - major version number • b - feature set improvement • c - bug fixes and minor module-feature updates • nnnn - build number You will need to replace the generic name in these instructions with the exact name of the files you download from the Acquia Network at http://acquia.com/downloads.

2

Chapter 2. Acquia Drupal and the Acquia Network
What is Acquia Drupal?
Acquia Drupal is a packaged distribution of the open source Drupal [http://acquia.com/what-is-drupal] social publishing system. A collection of essential software from the Drupal community [http://drupal.org/], Acquia Drupal offers you a quick onramp to begin building Drupal websites. Acquia Drupal speeds the development of social publishing applications - interactive, community-based publishing websites that combine both editorial and user-generated content. Whether building a public facing website or an intranet application, the goal is to engage visitors and encourage participation. Acquia Drupal allows you to mix and match proven social publishing patterns that transform spectators into active contributors, including: • Single and multi-user blogs • Community forums and threaded discussions • Social networks • Ratings and voting • Mashups • Wikis • Web content • and much more… Acquia Drupal is GPL licensed - freely available for download [http://acquia.com/downloads] and use. Acquia Drupal includes modules from a number of sources: Drupal community contributed modules, Drupal 6.x core and Acquia.

More information on Acquia Drupal:
• Modules [http://acquia.com/products-services/acquia-drupal-modules] • Features [http://acquia.com/products-services/acquia-drupal-features] • Acquia Drupal FAQ [http://acquia.com/products-services/acquia-frequently-asked-questions] • Supported Platforms [http://acquia.com/products-services/acquia-drupal-supported-platforms] A full overview of the current state of Acquia Drupal can be downloaded as a pdf from the Acquia Drupal information page [http://acquia.com/products-services/acquia-drupal] on the Acquia Network.

What is the Acquia Network?
The Acquia Network completes the Drupal experience by providing the support and network services to operate a trouble-free Drupal website. Subscribers to the Acquia Network gain access to remote network services, documentation and the Acquia Network’s subscriber forums. Premium subscriptions, depending on subscription level, provide webbased ticket management, as well as email and telephone support. The Acquia Network is your operations portal for managing Drupal sites and connecting to Acquia’s support channels.

3

Acquia Drupal and the Acquia Network Acquia Network annual subscription packages are available for sites of every size, from global-scale multi-site deployments to local community sites.

Acquia Network Services
By subscribing to the Acquia Network, you gain access to a suite of remote site management services that simplify and automate the operation of your Drupal websites. Services include: • Software update management - for sites running Acquia Drupal • System profile management • Automated spam blocking with Mollom • Heartbeat monitoring • Code modification detection - for sites running Acquia Drupal • Remote cron activation • Online documentation • Site usage statistics More information can be found in the Acquia Network Services chapter of this guide and on the Acquia Network [http://acquia.com/products-services/acquia-network].

Technical Assistance Center
Acquia Network subscribers obtain access to Acquia's Technical Assistance Center, according to their chosen service level. Subscriptions include web-based and telephone case management to ensure that technical issues are resolved in a timely, efficient manner. E-mail support for issue resolution and advisory services is also available.

Administrative Task Management
In addition to remote services and technical support, the Acquia Network provides administrators with task management capabilities directly within the dashboard. Administrators can convert notification messages into tasks, assign owners, and collaborate to complete tasks - all from within the Acquia Network.

More information on the Acquia Network
More information on the Acquia Network can be found on the network information page [http://acquia.com/productsservices/acquia-network].

4

Chapter 3. Acquia Network Accounts and Subscriptions
The Acquia Drupal software is licensed under the GPL and is freely available to download at http://acquia.com/ downloads.

Acquia Network Membership
Members of the Acquia Network can participate in discussions, comment on content in the Acquia Network Community [http://acquia.com/community], and will have access to Acquia white papers and other online resources. To create a new user account, click the Sign Up link on the Acquia homepage at http://acquia.com and follow the instructions.

Figure 3.1. Sign up link

Acquia Network Subscriptions
To take advantage of Acquia Network services and technical support options, you need an Acquia Network subscription. See the Acquia Network product matrix [http://acquia.com/product-matrix] for details. Once you have successfully subscribed to the Acquia Network and Acquia Network Services, you will have a menu block on your Acquia Network dashboard [http://acquia.com/network/dashboard] called the Site selector.

Figure 3.2. Site Selector

5

Chapter 4. System Requirements
This section provides information on system requirements you must meet before installing Acquia Drupal.

Hardware requirements
Requirement Memory Disk space Description 512 MB of RAM (recommended minimum). More memory generally leads to better performance. 1 GB of hard disk space. As the Acquia Drupal database increases in size, more space will be required. Extra space should also be allocated for files that get uploaded to the Acquia Drupal site.

Software requirements
Requirement Operating Systems Description • Linux • CentOS 5 • Debian 4.0 "etch" • Novell SuSE Enterprise Linux 9 • Red Hat Enterprise Linux 5 • Ubuntu Linux, Desktop Edition 8.04 LTS • Ubuntu Linux, Server Edition 8.04 LTS • Solaris • Solaris 10 • Mac • Mac OS X Desktop 10.5x • Mac OS X Server 10.5x • Windows • Windows XP Professional or Home Edition • Windows Server 2003 with Service Pack 1 + R2 • Windows Server 2008 • Windows Vista Service Pack 1 Server Connections Various Acquia Drupal features - Acquia Network sitehealth monitoring, update status notification, aggregator

Note
This list may change over time. The current official list of supported operating systems can always be found on the Acquia Network. [http://acquia.com/ products-services/acquia-drupalsupported-platforms]

6

System Requirements

Requirement

Description feeds, and others require the web server process be able to initiate outbound HTTP connections. Be sure to check that your hosting provider and/or server configuration allows this.

Web Server

Web Server: Choose a web server to suit your needs. Acquia Drupal supports both Apache and Windows IIS. • Apache Apache web server [http://httpd.apache.org/] version 1.3.x or later. The mod_rewrite module and the ability to use local .htaccess files are necessary to use Drupal's Clean URLs feature. • Windows IIS 6, 7 The Windows IIS web server [http:// www.microsoft.com/WindowsServer2003/IIS/ Default.mspx] can run Acquia Drupal. More information about clean URLs and IIS can be found on Drupal.org at: http://drupal.org/node/3854.

PHP Version If using Red Hat Enterprise Linux 5, please read this important information before continuing. PHP Extensions and Settings

PHP 5.2.x

Please see the PHP Setting + Extensions appendix for these settings and requirements, including how to set the PHP memory_limit parameter to the 32M minimum required to run Acquia Drupal (64M is recommended for certain operations). MySQL 5.x The following MySQL settings are recommended: • For best performance enable MySQL query cache [http://dev.mysql.com/doc/refman/5.0/en/querycache.html]. • max_allowed_packet = 16M # This is often 1M by default. Increasing to 16M may be necessary for some modules.

Database

For Red Hat Enterprise Linux 5: PHP 5.1.
Acquia recommends using PHP 5.2.x to achieve the fullest results out of your Acquia Drupal website. Red Hat Enterprise Linux 5 is distributed with PHP 5.1 and some issues exist between some Drupal modules and earlier PHP versions. Specifically, on PHP versions prior to 5.2, the Date module is unable to use native date handling. For PHP 4, PHP 5.0.x, and PHP 5.1.x, enabling the Date PHP 4 module provides substitutions for some missing date handling. This means core date handling is available, but some issues do exist such as 7

System Requirements

Daylight Savings time and time zones not properly being adjusted. Be warned that some date handling functions may not work as expected when using PHP 5.1.

8

Chapter 5. Installing Acquia Drupal from Scratch
• This section covers installing a new Acquia Drupal website from scratch in an AMP (Apache + MySQL + PHP) development environment in your computer's file system (localhost) or on an external server provided by a web-hosting company. • If you are migrating from Drupal 6.x or updating an existing Acquia Drupal site to the latest version of Acquia Drupal, see the Migrating from Drupal 6.x to Acquia Drupal chapter of this guide. • If you want to connect your existing Drupal 6.x website to the Acquia Network, see the Connecting a Drupal 6.x Website to the Acquia Network chapter of this guide. • If you are upgrading from Drupal 5.x, see the Migrating from Drupal 5.x to Acquia Drupal chapter of this guide.

Overview
1. Check Your Tech 2. Create Database 3. Download, Extract, Move to Server 4. Install Website 5. Advanced Installation on the Command Line

Check Your Tech
These installation instructions are divided into three broad categories depending on your needs and the technologies you use - two on external servers and one on your computer: Installation on an External Webserver Before you can install Acquia Drupal on an external server, you need a web hosting account, access to your server, and a domain name for your new site. Check the system requirements and PHP Settings + Extensions sections of this document before buying a web hosting package to make sure it meets Acquia Drupal's needs. • Hosting Service Interface: You have a web server that you access with FTP and web based tools from your hosting provider. Proceed the next section of this guide, Create Database. • Command Line Interface: You have a web server that you access with a shell, working on the command line. Proceed to the section Advanced Installation on the Command Line. Installation on Your Computer • Localhost: You want to install Acquia Drupal on your personal computer. The instructions for you are basically the same as when using a hosting service, except that you need an AMP stack installed, and there is no need for you to use FTP to move files between your computer and the web server. Read the information below on AMP stacks, then proceed to the next section of this guide, Create Database.

9

Installing Acquia Drupal from Scratch

The AMP Stack Acquia Drupal can be installed on your personal computer or laptop for the purpose of testing and development. This is called a localhost installation. You need to install software to run the database and web server that Acquia Drupal depends on. This software is called an AMP stack: • Apache + MySQL + PHP You may download one of the following AMP stacks suitable for your operating system and follow its installation and configuration instructions. • Apple Mac: • MAMP - http://www.mamp.info • Linux: An AMP stack is usually installed using a package manager specific to a given distribution of Linux. Here are instruction for Ubuntu and Fedora Linux: • Ubuntu LAMP for Newbies [http://www.howtoforge.com/ubuntu_lamp_for_newbies] • Perfect Server: Fedora 7 [http://www.howtoforge.com/perfect_server_fedora7] • Windows XP/Vista: • WAMP: http://www.wampserver.com • XAMPP: http://www.apachefriends.org

Install AD from Scratch: Create Database
Acquia Drupal requires access to a database for installation and operation. These instructions cover the creation of a MySQL database user and database:

Overview
1. Create a new, empty database. 2. Create a database user account with the necessary privileges. 3. Tell Drupal about the database connection details. This is covered in the Install Website section.

Database Checklist
Keep a checklist of the things you need to know! 1. Database name 2. Database username 3. Database password 4. Database host 5. Database port

10

Installing Acquia Drupal from Scratch

You'll need these details in the next step, so it helps to write these details down as you work through the rest of these instructions.

Note
The database username - not to be confused with any other user identity - is the identity that your Acquia Drupal site uses to access MySQL.

Using phpMyAdmin
PhpMyAdmin is a popular tool for managing MySQL databases. You can find a link to phpMyAdmin in your hosting service interface (or in some cases, to alternative database management tools) or your AMP stack interface. These instructions show how to set up your database using phpMyAdmin.

Create a new database
1. Follow your AMP stack's instructions to open "phpMyAdmin" in the browser. Look for the link that says Databases.

Figure 5.1. phpMyAdmin Databases

2. In the Create new database field, type the database name of your choice. In the Collation dropdown, select "utf8_unicode_ci". Click Create and you have completed the first step. Write down the database name on your checklist because you'll need it later.

11

Installing Acquia Drupal from Scratch

Figure 5.2. phpMyAdmin New Database

3. If your database has been created successfully, phpMyAdmin will present you with the following message: Database databasename has been created.

Create a database user account
Now that you've set up a new database, you need to create a user account that is allowed to access that database. This user account is independent from all other logins or accounts that you use to access your computer, your web hosting account, your Drupal site, or anything else. Its sole purpose is to give you (and Drupal) a secure way to interact with the new database you've created. 1. To start, navigate back to the homepage for phpMyAdmin, and click the Privileges link.

12

Installing Acquia Drupal from Scratch

Figure 5.3. phpMyAdmin Privileges

2.

Figure 5.4. phpMyAdmin new user

Click the Add a new User link: 3. Fill out the User name, Host and Password fields. The host field should read Local in the dropdown and localhost in the textfield. Make sure you add the user name, host and password to your Database Checklist because you'll need to know these later when configuring Drupal. Finally, click Go at the bottom of the page:

13

Installing Acquia Drupal from Scratch

Figure 5.5. phpMyAdmin Go

Success!

Figure 5.6. phpMyAdmin Success!

14

Installing Acquia Drupal from Scratch

4. With the database and the database user both created, the last step is to grant privileges to the new user on the new database. On the same success screen that is shown after creating a new database user is the form for granting privileges. Find the Database-specific privileges section and select the database that you just created:

Figure 5.7. phpMyAdmin Privileges

5. You will then be taken to your new database user's grant privileges form for the new database that you created. Click the check boxes for the following privileges: SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, and LOCK TABLES. Click Go to submit the form:

Figure 5.8. phpMyAdmin Grant Privileges

Congratulations! You've finished setting up a database for Acquia Drupal to use. You can now move on to the instructions for installing and configuring Acquia Drupal. Make sure to keep your Database Checklist handy.

15

Installing Acquia Drupal from Scratch

Install AD from Scratch: Download, Extract, Move to Server
Download + Extract
When creating a new Acquia Drupal site, download the latest Acquia Drupal "full version" release from http:// acquia.com/downloads and save the tarball or zip archive, called something like acquia-drupal-a.b.c-nnnn.tar.gz or acquia-drupal-a.b.c-nnnn.zip on your computer.

Downloading using Safari + Mac OS X
By default, the Safari 3 browser in Mac OS X uncompresses zipped files as part of its download process. Don't be surprised if you find a .tar file rather than a compressed .tar.gz file. To stop Safari unzipping downloaded archives by default, go to Safari's Preferences > General tab and uncheck 'Open "safe" files after downloading'.

Move to Server
You now need to move your Acquia Drupal files to the your server's document root.

Localhost Installation
1. Unzip/extract the Acquia Drupal tarball or zip archive with any compression/extraction tools you are familiar with. A new directory, called something similar to acquia-drupal-a.b.c, will be created. 2. Move the contents of the acquia-drupal-a.b.c directory to the [docroot] directory of your AMP stack. 3. Proceed to the Install Website section of this guide.

External Server Installation
File Transfer via FTP
If you are moving Acquia Drupal files to a web server, you need an FTP client, a program for transferring data between your computer and a remote server via FTP (File Transfer Protocol). The free FireFTP plug-in for the Firefox browser is a good choice of FTP client for anyone using Firefox on any operating system. http://fireftp.mozdev.org/ 1. Start your FTP client and enter the connection parameters for your server. These are: • Host: Your site's URL without the http header (example.com) • User: The FTP username set by you or provided to you by your hosting provider • Password: The FTP password set by you or provided to you by your hosting provider 16

Installing Acquia Drupal from Scratch

2. With FTP access, you can't usually unzip compressed archives on your server, so you'll have to do that on your local machine and then transfer the files to your server. Unzip/extract the Acquia Drupal tarball or zip archive with any compression/extraction tools you are familiar with. A new directory, called something similar to acquia-drupal-a.b.c, will be created. 3. Connect your FTP client to your server. Most FTP clients have a "local" window (your computer) and a "remote" window (your server). Navigate in your local window to your extracted Acquia Drupal code-base. In the remote window, navigate to the [docroot] directory on your server - see the introduction to this document for more information on the [docroot] directory. It is common for hosting providers to leave a placeholder "index.html" file (or similar) in the [docroot] directory on the server. Delete any such placeholders. 4. Transfer the Acquia Drupal files (NOT the directory containing them) into document_root. In some FTP clients this means dragging them from the local to the target window (select all of them and drag them over); in others, you should highlight one or more files to be transferred and then click on a transfer button.

Figure 5.9. Transfer to Server

Don't forget .htaccess!
Some FTP clients ignore files that begin with a dot (.) and Drupal's .htaccess file gets left behind. Double check that .htaccess has made it to your server.

Install AD from Scratch: Install and Configure Website
Run the Installation Script
Navigate in the browser to http://example.com/install.php - this runs the Acquia Drupal installation script, kicking off the installation process. 17

Installing Acquia Drupal from Scratch

Database Configuration Screen
Enter the database parameters from the Database Checklist into your new Acquia Drupal installation at this point (username, password, and database name). The form fields for Database host, Database port, and Table prefix are found in the Advanced options section. Press Save and continue. If the installation completes successfully, your site will give you confirmation messages in green at the top of Acquia Drupal's configuration screen.

Figure 5.10. Database Configuration

Database host name
In most standard hosting situations, your database server and your web-server are one and the same machine. In this case, your database host name is "localhost" because from the web server's perspective, the database is local. If your database is hosted on a separate database server, you will need to ask your provider for its host name.

Note
The database connection details are not always easy to find in some hosting interfaces. If you are having trouble, contact your web hosting provider explaining that you need the database connection details for installing a Drupal website (a php-based CMS).

18

Installing Acquia Drupal from Scratch

Configuration Screen
You need to fill in the following sections on the configuration screen:

Site information
• Site name - this will be displayed in email and other messages that your site generates. It will also be the name visible to search engines. • Site email address - this will be the "from" address of your site when it sends notifications, registration confirmations and other messages via email. (Your hosting provider may provide you with free email addresses as part of your hosting package. Make sure you set up an email address - like "info@example.com" and webmail access or forwarding to suit your needs.) • Acquia subscription identifier and Acquia subscription key: These keys give your site access to the Acquia network and its services like cron and heartbeat. You can add them to your site later if you don't have them yet. If you already have a subscription, go to http://acquia.com/network/dashboard/subscription to find your keys. If you do not have an Acquia Network subscription, register with Acquia at http://acquia.com/sign-up - once you are registered on the Acquia Network, you can add a subscription at http://acquia.com/network/dashboard/subscription.

Administrator account (aka "USER 1")
• Username: User 1 on any Drupal site always has all administrative privileges. It is important to keep your user 1 login information for future reference.

Important
There are certain tasks that only User 1 can carry out and Acquia's support staff might need you to be logged in as User 1 to resolve support issues on your site. • E-mail address: enter an active email address here - if you forget your password, you can have a login/reset link sent to this address. • Password: Please be sensible about the passwords you choose and how you chose to store them. There are many resources on the internet regarding best practices for password choice, storage and retrieval.

Server settings
• Default time zone: usually set according to where you or your target audience is located. • Clean URLs: Most website owners prefer not to have page URLs like "http://example.com/?q=node/1234" - they are neither easily remembered by visitors, nor are they particularly search engine friendly. "Clean URLs" allows Drupal to rewrite the same URL without the "?q=" as "http://example.com/node/1234" instead. Combining Clean URLs with the functionality of the Path module included in the Acquia Drupal core allows you to assign memorable, searchengine-friendly URLs to nodes like "http://example.com/my_great_blog_post" and set automatic URL creation patterns with the Pathauto module, also included in Acquia Drupal. For more information, read the Drupal path and clean URLs appendix of this document. If your server can generate Clean URLs, there will be a green confirmation notice under "Clean URLs," if not, it will refer you to further documentation on the subject. 19

Installing Acquia Drupal from Scratch

Clean URLS's in XAMPP
To have "Clean URLs" on XAMPP, edit httpd.conf (located at path-to\apache\conf\httpd.conf) uncomment the line (remove the "#"at the beginning): LoadModule rewrite_module modules/mod_rewrite

Update notifications:
Check for updates automatically: Provided you have set up cron, either your own or the Acquia Network cron service, (more on Acquia's cron service in the Cron Service section of this guide), this option allows your site to periodically send information to the Acquia Network. The information enables the network to notify you when new releases of its components are available. With this option selected, non-Acquia components (contributed modules) will also periodically send anonymous information to drupal.org. Notifications for all non-Acquia components will come directly from Drupal.org as they are generated. Acquia's release and update recommendations are specific to Acquia-supported components and modules are sent out following technical, security and compatibility testing by Acquia. Enabling this feature significantly enhances your site's security and is highly recommended.

20

Installing Acquia Drupal from Scratch

3. Connect to the Acquia Network
1. Activate Acquia Modules Enable the Acquia agent and Acquia site profile information modules on the module administration page at Administer > Site building > Modules (?q=admin/build/modules). These are listed on the page in the Acquia network group as shown below:

Figure 5.11. Activate Acquia Modules

2.

Obtain Network Keys Obtain your Acquia Network Keys by logging in to the Acquia Network from the subscription tab on the Acquia Network (http://acquia.com/network/dashboard/subscription).

3.

Enter Network Keys Click the link at the top of the message from your Drupal installation that appears on your screen, or navigate directly to the page at Administer > Site configuration > Acquia settings (?q=admin/settings/acquia-agent) and enter your Acquia Network keys.

4. Confirm Acquia Network Status
Back on the Acquia Network page, click the Health tab. Check that a heartbeat from your site has been received, then click the Site profile sub-tab to confirm that your site has communicated its current platform and module list to the Acquia Network. If both of these appear on your Acquia Network health page, you have successfully Acquified your Drupal installation. Congratulations!

5. Activate Administration Menu Module
Acquia encourages you to take advantage of the Administration Menu module. It not only renders all administrative menu items in a clean, purely CSS-based menu at the top of every page of your website. It also displays your Acquia Network subscription status and expiration date, how many users are online, and provides you a direct logout link.

21

Installing Acquia Drupal from Scratch

Figure 5.12. Activate Administration Menu Module

Figure 5.13. Administration Menu Open

6. Acquia Network Services
Now that you have successfully installed and configured Acquia Drupal, please continue to the Acquia Network Services - Overview chapter of this guide.

Install AD from Scratch: Advanced Installation on the Command Line
Before you can install Acquia Drupal on an external server, you need a web hosting account, access to your server, and a domain name for your new site. Check the system requirements and PHP Settings + Extensions sections of this document before buying a web hosting package to make sure it meets Acquia Drupal's needs. These instructions include all the commands you need to know to install Acquia Drupal via command line access, also known as the "command line" or "the terminal". Many hosting providers include FTP access as standard, but will add command line access if you ask for it.

22

Installing Acquia Drupal from Scratch

Where is my command line?
• Mac OS X: A full Unix command line is built into the operating system. In Mac OS X it is located under Applications > Utilities > Terminal.app • Linux: Linux operating systems also have a command line application built in, called the "terminal". Its location varies according to the flavor of Linux. • Windows XP/Vista: Windows is unable to open a command line on a remote computer. It needs the help of a program like PuTTY, a free and open source remote command line client. You can find it at http://www.putty.org.

Login to Your Server
Use the credentials provided by your hosting provider. ssh -l username example.com

Create Database
In the following command, [username] is a MySQL user (root, for example) that has the CREATE and GRANT privileges in MySQL. [databasename] it the name of the database you want to create. mysqladmin -u [username] -p create [databasename]

Create Database User
Login to MySQL: mysql -u [username] -p [databasename]

Enter your password when asked. You will then see the mysql prompt:

mysql>

Create a user with the following command where "databasename" is your database, "newusername" is the new database user you are creating and "password" is its password: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX,

23

Installing Acquia Drupal from Scratch

DROP, CREATE TEMPORARY TABLES, LOCK TABLES ON databasename.* TO 'newusername'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;

If successful, MySQL will reply with: Query OK, 0 rows affected

To leave MySQL and return to your server, type exit

Download Acquia Drupal to Server
When creating a new Acquia Drupal site, use the latest Acquia Drupal "full version" release. Check its exact URL http://acquia.com/downloads. Still logged in to your server, navigate to your [docroot] directory: cd path/to/[docroot]

Download the Acquia Drupal tarball or zip archive: wget http://acquia.com/files/downloads/acquia-drupal-a.b.c-nnnn.tar.gz

or: wget http://acquia.com/files/downloads/acquia-drupal-a.b.c-nnnn.zip

Unpack the Tarball or Zip Archive
Unpack the tarball with the command:

24

Installing Acquia Drupal from Scratch

tar -zxvf ./acquia-drupal-a.b.c-nnnn.tar.gz

Or unpack the zip archive with the command: unzip ./acquia-drupal-a.b.c-nnnn.zip

You will now have a directory named acquia-drupal-a.b.c containing Acquia Drupal's code base. If you've followed the instructions so far, you'll have a directory structure like this: /path/to/[docroot]/acquia-drupal-a.b.c

The problem with this is that acquia-drupal-a.b.c will be in your site's URL. To avoid this, all of the files in acquiadrupal-a.b.c have to be moved up one directory level so that they are all in [docroot] directly. 1. Move into acquia-drupal-a.b.c cd acquia-drupal-a.b.c

2.

Move contents up a level mv * .. mv .htaccess ..

Note
It is necessary to move .htaccess explicitly. 3. Move up to the [docroot] cd ..

4.

Remove empty acquia-drupal-a.b.c directory rm -r acquia-drupal-a.b.c

25

Installing Acquia Drupal from Scratch

Advanced Tar Usage A variant on the untarring instructions from above is to put the tarball archive somewhere outside of the [docroot] directory and then to run a command similar to this: tar -zxvf acquia-drupal-a.b.c-nnnn.tar.gz \ -C /path/to/[docroot] \ --strip-components 1

The -C flag lets you specify the path to [docroot] while the --strip-components 1 strips the leading directory from the tarball, placing all of the files directly into [docroot] where they belong.

Configure Website
Now follow to the site configuration instructions at the end of the Install AD from Scratch: Install and Configure Website section of this guide to connect your website to the Acquia Network and its services.

26

Chapter 6. Migrating from Drupal 6.x to Acquia Drupal
• The procedure outlined in this chapter covers both migrating an existing Drupal 6.x site to Acquia Drupal and updating an existing Acquia Drupal site to the latest version of Acquia Drupal. • If you want to connect your existing Drupal 6.x website to the Acquia Network, see the Connecting a Drupal 6.x Website to the Acquia Network chapter of this guide. • If you are upgrading from Drupal 5.x, see the Migrating from Drupal 5.x to Acquia Drupal chapter of this guide. • If you are installing Acquia Drupal from Scratch , see the Installing Acquia Drupal from Scratch chapter of this guide.

Read Before Updating
Read these instructions carefully before attempting to update an existing Acquia Drupal website or convert an existing Drupal 6.x site to the latest version of Acquia Drupal. The update procedure described here is designed to avoid code version conflicts during update or migration. In it, you will leave a copy of your entire site intact on your server, as is (as a backup), and copy only site configuration and data files into a new Acquia Drupal code base. It is essential to keep a backup of all old site code until you are certain the new, updated version of your site is functioning perfectly. Keeping the older code base gives you a fallback position if you encounter any unexpected problems with the newer version.

Check Your Tech
• Updating or migrating using GUI tools and FTP server access (or localhost), proceed to the next section of this guide, Prepare + Download. • Updating or migrating using command line access, skip to the Advanced Migration with the Command Line section of this guide.

D6.x to AD: Prepare + Download
1. Backup
Backup all your existing files and all database tables, using phpMyAdmin or a similar tool. Before proceeding, test your backups to be sure you can restore your site if necessary. See the back up appendix for more information.

Important
For the next steps, it is essential that you are logged in to your site as User 1. User 1 - the user whose profile path is http://example.com/user/1 - is the first user created on any Drupal site and always has all administrative privileges. There are certain tasks that only User 1 can carry out and Acquia's support staff might need you to be logged in as User 1 to resolve support issues on your site.

27

Migrating from Drupal 6.x to Acquia Drupal

2. Internal Housekeeping
Ensure all pending database- and configuration updates and clean-up tasks have run. Check whether you need to run the update script by visiting Administer > Reports > Status report (?q=admin/reports/status). If needed, run the update script, "update.php" (navigate to example.com/update.php in the browser).

3. Check PHP Memory
Acquia recommends that PHP's memory limit be set to 32M or greater in order to take full advantage of Acquia Drupal and prevent unexpected crashes. See the PHP Settings + Extensions section for information on how to find and change your PHP memory limit.

4. Take Site Offline
Make sure you are still logged in as User 1. Navigate to Administer > Site configuration > Site maintenance (?q=admin/ settings/site-maintenance) and take your site offline.

5. Download Update Archive
Download the latest update version from the downloads page [http://acquia.com/downloads], a "tarball" or zip archive called something similar to: acquia-drupal-a.b.c-nnnn-update.tar.gz or acquia-drupal-a.b.c-nnnn-update.zip. These archives contain the full Acquia module and core code distribution, but exclude the files and directories where your site's content and configurations are stored: the [docroot]/sites directory, .htaccess, and robots.txt.

D6.x to AD: Prepare Modules for Update
Note
The following steps are to avoid conflict between Acquia Drupal and any contributed modules you may have installed.

1. Find All Contributed Modules
Drupal's recommended best-practice is to keep all contributed modules in the [docroot]/sites/all/modules directory and only Drupal's core modules in the [docroot]/modules directory. Other non-standard, non-recommended places where contributed modules might have landed are in [docroot]/sites/ default/modules, [docroot]/sites/[sitename]/modules, or [docroot]/profiles/[profilename]/modules. Find all of the contributed modules on your site. In practice, this means any module not in the list of core modules below. Move them all to the [docroot]/sites/all/modules directory. Now test your site to make sure it is working as expected.

What are core modules? What are contributed modules?
Or, "How do I know what to move and what to leave where it is?" A module is a collection of code that enables specific Drupal functionality.

28

Migrating from Drupal 6.x to Acquia Drupal Core modules are those that make up Drupal itself. Without some of them, Drupal cannot function. Others extend Drupal's basic functionality. Contributed modules add still more functionality to your site, but do not come with the standard Drupal download. Acquia Drupal comes with a suite of selected contributed modules. You can choose from thousands more in the Drupal contributed modules repository at http://drupal.org/project/ modules. Acquia Drupal's core modules are in the [docroot]/modules directory and Acquia's suite of contributed modules is in the [docroot]/modules/acquia directory. Never add to, move, remove or change the contents of the [docroot]/modules directory or its sub-directories: • acquia (Acquia Drupal installs its suite of vetted, contributed modules in this directory. No other (contributed) modules should be placed here.) • aggregator • block • blog • blogapi • book • color • comment • contact • dblog • filter • forum • help • locale • menu • node • openid • path • php • ping • poll • profile • search

29

Migrating from Drupal 6.x to Acquia Drupal • statistics • syslog • system • taxonomy • throttle • tracker • translation • trigger • update • upload • user See the glossary entry on modules for more information.

2. Remove non-Acquia Versions of the Following Modules
Since new, Acquia-tested versions of the following modules are included in Acquia Drupal, other versions need to be removed from your installation. If two different versions are on your server (Acquia and non-Acquia in this case), Drupal might not end up using the intended version and this could also have unexpected, potentially negative consequences. All modules of the same name (to be precise: all modules with the same directory names) as those listed below found outside of [docroot]/modules should be removed.

Protect your changes
If you have altered any of the modules that you are removing you may want to make a backup copy for archival purposes. • admin_menu • advanced_help • calendar • cck • date • comment_notify • filefield • fivestar • google_analytics

30

Migrating from Drupal 6.x to Acquia Drupal • image • imageapi • imagecache • imagefield • img_assist • link • lightbox2 • markdown • mollom • pathauto • print • tagadelic • token • views • votingapi • webform

3. Move non-Acquia, Contributed Modules to [docroot]/ sites/all
Move any other contributed modules to [docroot]/sites/all/modules if they are not already there. Keeping these in this standard location will make it easier for Acquia's support engineers to help you if the need arises.

4. Special Cases: Printer-Friendly Pages Module and Filefield Meta Module
If you are using the Printer-friendly, E-mail and PDF Versions module, remove the [docroot]/sites/all/print directory before upgrading. Follow the set-up instructions in the Printer-Friendly, E-mail and PDF Versions Module - Set Up and Configuration Appendix of this guide when your site is up and running on the Acquia Drupal code base. Back up and copy over any customized print.tpl.php or print.css files during the upgrade process. If you are using the Filefield_meta module, you will need to follow the set-up instructions in the Filefield_meta Module and the GetID3 Library Appendix of this guide once your site is up and running on the Acquia Drupal code base.

D6.x to AD: Update to Acquia Drupal
Update your Drupal 6.x core to Acquia Drupal and add the Acquia Module Suite: 1. Extract the update tarball or zip archive, acquia-drupal-a.b.c-nnnn-update.tar.gz, to a directory on your server. You may use GUI extraction tools + FTP, or any combination of tools you are familiar with. This will create a

31

Migrating from Drupal 6.x to Acquia Drupal directory called acquia-drupal-a.b.c-update. The update tarball or zip archive does not contain a [docroot]/files or a [docroot]/sites directory.

FTP Client
Use an FTP client that can upload complete directories. 2. Copy the following from your current document_root directory into the acquia-drupal-a.b.c-update directory: • sites (directory) • anything else you customized not contained in the [docroot]/sites directory ([docroot/files], or similar)

.htaccess and robots.txt
As of Drupal core version 6.7, Drupal now has new .htaccess and robots.txt files. These are included in the Acquia update archive as htaccess.standard.txt and robots.standard.txt. You should take advantage of the updated versions of the files by recreating in them any customization you undertook in the older versions. Once they are changed to suit your site's needs, rename them ".htaccess" and "robots.txt" respectively and they will be ready to use in your updated website. You may choose to copy your old .htaccess and robots.txt into your new code base, if they have been customized, but this is not recommended.

Tip
For sites with very large quantities of uploaded files, consider keeping the file storage directory normally kept at [docroot]sites/default/files outside of the [docroot] directory. You can then add a symbolic link (symlink) from [docroot]/sites/default/files to the file storage directory. Since you will only have to change this link during future migration and upgrades, rather than move a lot of data, this can save considerable time. 3. Rename your [docroot] directory docroot_old - this is now a backup of your site's code. 4. Rename the acquia-drupal-a.b.c-update directory [docroot].

Note
As long as you have not: • modified any core Drupal files in your existing site • renamed core Drupal directories • duplicated core Drupal directory names • left any customized code or content outside of the [docroot]/files or [docroot]/sites directories in your installation, your core code will now be updated to Acquia Drupal and Acquia's module suite will now be installed on the server. 5. Run the Update Script

32

Migrating from Drupal 6.x to Acquia Drupal

Tip
Make sure you are logged in as User 1 before running the update.php script. Since you are possibly upgrading to newer versions of some modules, run update.php again (navigate to http:/ /example.com/update.php in your browser). This script updates any new or changed functions and makes any necessary updates to your database structure, so that any new functionality is available and that you receive the full benefit of Acquia's tested code. 6. If all is well, proceed to the D6.x to AD: Configure Site section.

D6.x to AD: Configure Site
1. Rebuild Module Directory
Login to your site as User 1. Acquia Drupal checks and rebuilds its module directory every time you visit the modules administration page at Administer > Site building > Modules (?q=admin/build/modules). Go there and check that you see the following modules: • admin_menu • advanced_help • calendar • cck • date • comment_notify • filefield • fivestar • google_analytics • image • imageapi • imagecache • imagefield • img_assist • link • lightbox2 • markdown

33

Migrating from Drupal 6.x to Acquia Drupal • mollom • pathauto • print • tagadelic • token • views • votingapi • webform

2. Put Your Site Back Online
Put your site back online at Administer > Site configuration > Site maintenance (?q=admin/settings/site-maintenance).

3. Connect to the Acquia Network
1. Activate Acquia Modules Enable the Acquia agent and Acquia site profile information modules on the module administration page at Administer > Site building > Modules (?q=admin/build/modules). These are listed on the page in the Acquia network group as shown below:

Figure 6.1. Activate Acquia Modules

2.

Obtain Network Keys Obtain your Acquia Network Keys by logging in to the Acquia Network from the subscription tab on the Acquia Network (http://acquia.com/network/dashboard/subscription).

3.

Enter Network Keys Click the link at the top of the message from your Drupal installation that appears on your screen, or navigate directly to the page at Administer > Site configuration > Acquia settings (?q=admin/settings/acquia-agent) and enter your Acquia Network keys. 34

Migrating from Drupal 6.x to Acquia Drupal

4. Confirm Acquia Network Status
Back on the Acquia Network page, click the Health tab. Check that a heartbeat from your site has been received, then click the Site profile sub-tab to confirm that your site has communicated its current platform and module list to the Acquia Network. If both of these appear on your Acquia Network health page, you have successfully Acquified your Drupal installation. Congratulations!

5. Activate Administration Menu Module
Acquia encourages you to take advantage of the Administration Menu module. It not only renders all administrative menu items in a clean, purely CSS-based menu at the top of every page of your website. It also displays your Acquia Network subscription status and expiration date, how many users are online, and provides you a direct logout link.

Figure 6.2. Activate Administration Menu Module

Figure 6.3. Administration Menu Open

6. Special Cases: Printer-Friendly Pages Module and Filefield Meta Module
If you were using the Printer-friendly, E-mail and PDF Versions module, follow the set-up instructions in the Printer-Friendly, E-mail and PDF Versions Module - Set Up and Configuration Appendix of this guide when your site is up and running on the Acquia Drupal code base.

35

Migrating from Drupal 6.x to Acquia Drupal If you were using the Filefield_meta module, follow the set-up instructions in the Filefield_meta Module and the GetID3 Library Appendix of this guide once your site is up and running on the Acquia Drupal code base.

7. Acquia Network Services
Now that you have successfully installed and configured Acquia Drupal, please continue to the Acquia Network Services - Overview chapter of this guide.

D6.x to AD: Advanced Migration with the Command Line
Migrating or Updating Acquia Drupal on the command line using SSH and SCP.

1. Backup + Prepare
1. Login to your site as User 1. Run the update script (navigate to example.com/update.php in the browser). This ensures that all pending database, configuration updates, and clean-up tasks have run. 2. Check PHP's memory limit is 32M or greater. See the PHP Settings + Extensions section for information on how to find and change your PHP memory limit. 3. Backup all your database tables, using mysqldump: mysqldump -u username -p \

databasename > filename.sql

Compress the .sql file with gzip: gzip filename.sql

Before proceeding, test your backups to be sure you can restore your site if necessary. 4. Still logged in as User 1, go to Administer > Site configuration > Site maintenance (?q=admin/settings/sitemaintenance) and take your site offline.

2. Prepare Modules
Move any contributed modules you may have installed to the [docroot]/sites/all/modules directory. This is to avoid conflict between Acquia Drupal's modules and any other versions of those modules. Acquia Drupal installs its suite of contributed modules in the [docroot]/modules/acquia directory. No other (contributed) modules should ever be placed here and the Acquia Drupal core modules should never be moved. Doing so could lead to unexpected, negative consequences. Remove non-Acquia contributed modules of the same name as those listed below from [docroot]/sites/all/modules: • admin_menu

36

Migrating from Drupal 6.x to Acquia Drupal • advanced_help • calendar • cck • date • comment_notify • filefield • fivestar • google_analytics • image • imageapi • imagecache • imagefield • img_assist • link • lightbox2 • markdown • mollom • pathauto • print • tagadelic • token • views • votingapi • webform

Special Cases: Printer-Friendly Pages Module and Filefield Meta Module
If you are using the Printer-friendly, E-mail and PDF Versions module, remove the [docroot]/sites/all/print directory before upgrading. Follow the installation instructions in the Printer-Friendly, E-mail and PDF Versions Module - Set Up and Configuration Appendix of this guide when your site is up and running on the Acquia Drupal code base. Back up and copy over any customized print.tpl.php or print.css files during the upgrade process. If you are using the Filefield_meta module, you will need to follow the instructions in the Filefield_meta Module and the GetID3 Library Appendix of this guide once your site is up and running on the Acquia Drupal code base.

37

Migrating from Drupal 6.x to Acquia Drupal

3. Download Acquia Drupal Update Tarball or Zip Archive
Login to your server. Download the latest update version of Acquia Drupal. It will be a tarball or zip archive called something similar to: acquia-drupal-a.b.c-nnnn-update.tar.gz or acquia-drupal-a.b.c-nnnn-update.zip. Check the Acquia Network downloads page [http://acquia.com/downloads] for the exact URL. wget \ http://acquia.com/files/downloads/acquia-drupal-a.b.c-nnnn-update.tar.gz

or wget \ http://acquia.com/files/downloads/acquia-drupal-a.b.c-nnnn-update.zip

4. Extract the Tarball or Zip Archive
This will make a directory called acquia-drupal-a.b.c-update: tar -zxvf acquia-drupal-a.b.c-nnnn-update.tar.gz

or unzip acquia-drupal-a.b.c-nnnn-update.zip

Copy your content to new code base with this command (use the same command to copy any other customized files (cp) or directories (cp -R) to your new code base): cp -R path/to/[docroot]/sites \ acquia-drupal-a.b.c-update/

Important
As of Drupal core version 6.7, Drupal now has new .htaccess and robots.txt files. Rather than copying these into your new code base, in the new versions, you should recreate any customization you undertook in the old versions.

38

Migrating from Drupal 6.x to Acquia Drupal

Tip
For sites with very large quantities of uploaded files, consider keeping the file storage directory normally kept at [docroot]sites/default/files outside of the [docroot] directory. You can then add a symbolic link (symlink) from [docroot]/sites/default/files to the file storage directory. Since you will only have to change this link during future migration and upgrades, rather than move a lot of data, this can save considerable time. These two commands rename your document_root directory "document_root_old" and rename acquia-drupal-a.b.cupdate "document_root": mv document_root document_root_old mv acquia-drupal-a.b.c-update document_root

The directory "document_root_old" is now a complete backup of your site's code and the new Acquia Drupal code base has become your document root directory.

5. Configure Site
Now configure your newly updated site from the browser as described in the D6.x to AD: Configure Site section.

39

Chapter 7. Migrating from Drupal 5.x to Acquia Drupal
• This chapter is for you if you want upgrade an existing Drupal 5 (or earlier) website to Acquia Drupal. • If you are migrating from Drupal 6.x or updating an existing Acquia Drupal site to the latest version of Acquia Drupal, see the Migrating from Drupal 6.x to Acquia Drupal chapter of this guide. • If you want to connect your existing Drupal 6.x website to the Acquia Network, see the Connecting a Drupal 6.x Website to the Acquia Network chapter of this guide. • If you are installing Acquia Drupal from Scratch , see the Installing Acquia Drupal from Scratch chapter of this guide.

Migrating from Earlier Versions of Drupal
If your site is built with Drupal 4.7 or earlier, you will need to upgrade it to the latest version of Drupal 5.x before you can proceed with these instructions. That update process is outside of the scope of this document, but the drupal.org upgrade page [http://drupal.org/upgrade] is an excellent resource on the subject.

Migrating from Drupal 6.x
If your site is already built with Drupal 6.x and you'd like to upgrade to Acquia Drupal, read the Migrating and Upgrading from Drupal 6.x to Acquia Drupal section of this guide.

Multi-Site Installations
The upgrade process described in this guide is unsuitable for multi-site installations. If you require assistance upgrading in such a case, there are many Drupal community resources available, including: • http://drupal.org/node/107347 • http://drupal.org/node/43816 • http://groups.drupal.org/multisite Acquia's technical support team and professional service division will also be happy to provide consultation and assistance in getting Acquia subscribers migrated to Acquia Drupal.

The Migration Process
This appendix will take you through the migration process, including: 1. backing up your website and testing the upgrade process on your local machine to avoid disasters 2. checking to see if your Drupal 5.x is ready for upgrading to Acquia Drupal 3. updating your Drupal 5.x site to prepare it for upgrade 4. upgrading the Drupal 5.x core and Acquia Drupal modules 5. upgrading non-Acquia modules

40

Migrating from Drupal 5.x to Acquia Drupal

Backups
This guide encourages you to make backups at many stages of the migration progress. In general, making regular backups of a working website is always a good idea. Making a backup is essential before updating, upgrading, introducing features, or making any other major changes to a live website. After migrating to Acquia Drupal , keep a backup of your Drupal 5.x site even if you are certain the new, updated version of your site is functioning perfectly. Keeping the older code base gives you a fallback position if you encounter any unexpected problems with the newer version. See the Backing up a Drupal Website appendix of this guide for more information.

D5.x to AD: Read Before Upgrading
First Update then Upgrade
The migration procedure described here must be carried out in two stages: update and upgrade. 1. Update: Your Drupal 5.x website's code and database must be up-to-date, that is running the latest 5.x version of the Drupal core and modules. 2. Upgrade: Then you may upgrade your site to Acquia Drupal, that is, move your site's content and configuration into the Acquia Drupal distribution of the Drupal 6.x core and modules.

Read Me
Read these instructions carefully before attempting to upgrade an existing Drupal 5.x to Acquia Drupal. The Acquia Drupal migration procedure is designed to get your site running on the latest Acquia Drupal and Drupal 6.x code as safely as possible. It specifically covers upgrading Drupal's core and the modules included in Acquia Drupal's module suite as well as explaining the general upgrade procedure for other Drupal 5.x-compatible modules. Each upgrade will differ, depending on the exact configuration of your Drupal 5.x website and the modules in use. This guide covers some special cases to help avoid known pitfalls in the upgrade process; for example, modules with special needs and Drupal 5 modules that have become part of the Drupal 6 core.

Make Backups
You must, nonetheless, make backups of your existing site files and database before starting the upgrade process and at significant milestones during the upgrade.

Test the Upgrade Process
You should also carry out an upgrade staging on another server to be sure that you can complete the process. This could save you breaking or losing your currently working website. The next section of this document describes how to transfer your website to your local computer and practice the upgrade process before trying it on your live site.

Known Upgrade Problems
Upgrading from Drupal 5.x to Drupal 6.x (and therefore Acquia Drupal) is not always a smooth process. Some modules' upgrade paths are tricky, some don't quite work.

41

Migrating from Drupal 5.x to Acquia Drupal There is now an "Upgrade - Known Issues" forum on the Acquia Network at: http://http://acquia.com/network/ forum to discuss and solve upgrade caveats. Acquia staff will report here on known issues, progress on creating and implementing solutions, new patches, work-arounds and fixes as they come to light. The starting point for these discussions are the modules included with Acquia Drupal, you are encouraged to participate, adding your own problems, frustrations and advice for the community about any and all modules and aspects of Drupal relating to upgrade.

D5.x to AD: Updating Drupal 5.x
Drupal 5.x to Acquia Drupal Upgrade Requirements
You cannot upgrade to Acquia Drupal unless your Drupal 5.x website fulfills the following conditions: • it is running on the latest version of the Drupal 5 core code, error-free • it is running the latest, stable, Drupal 5 versions of all community modules • Drupal 6 versions of all contributed modules not included in the Acquia Drupal module suite are available. Your options in the case there is no Drupal-6-compatible version of a given module available are discussed in detail in the Prepare Drupal 5.x Modules for Upgrade section of this guide. • Drupal 6 versions of all custom modules must be ready to install • a Drupal 6 version of your theme must be ready to install • Running update.php should produce no failure messages. If any PHP errors appear in your site logs while running update.php, they should be investigated to assess whether they present barriers to upgrading.

Custom Themes and Modules
While it is beyond the scope of this guide to help you with upgrading any custom themes or modules you may be using, excellent resources on these subjects are available at: http://drupal.org/update/modules and http://drupal.org/update/theme.

D5.x to AD: Prepare the D5.x Update
Make a backup
Make backups of your site's files and database. These will be your fallback if something goes wrong during the following steps. See the Backing up Drupal Websites appendix of this guide for further information and instructions.

What Time is It?
Make note of the date and time you begin updating your Drupal 5.x website. Later on in the update process, you will need to check your site's error logs for any errors that might have happened since updating.

Install and Activate Update Status Module
Is your website's code up-to-date? If you don't already have the Update Status module installed, it is the easiest way to find out.

42

Migrating from Drupal 5.x to Acquia Drupal 1. Download the Drupal 5 Update Status module tarball from its project page at: http://drupal.org/update_status. 2. Extract and place its contents in the [docroot]/sites/all/modules directory of your server. 3. Go to the modules page of your site at Administer > Site building > Modules (?q=admin/build/modules) and activate the Update Status module by checking its checkbox and clicking the submit button at the bottom of the page. 4. Your site will now have a new page at Administer > Logs > Available updates (?q=admin/logs/updates), listing the current update status of your site's code. The information on this page will show you what updates are needed to get your site running the latest Drupal 5 code. 5. Check the Update Status module's settings on its "Settings" tab at Administer > Logs > Available updates (?q=admin/logs/updates). Make sure the option "All newer versions" under "Notification threshold" is selected and that "Always" is selected for all modules under "Warn if out of date". Save any changes you make by clicking the "Submit changes" button at the bottom of the page.

Figure 7.1. Update Status Module Settings

Modules from CVS
If you download and install modules directly from the Drupal CVS repository, the Update Status module cannot check their status. You will need to install the Drupal 5.x CVS Deploy module [http:/ /drupal.org/project/cvs_deploy] to check the status of your code base and modules. Any out-of-date code must be updated before upgrading your site to Acquia Drupal.

Module Branches and Updates
There are some modules that currently have multiple supported branches in Drupal 5 - for example, Image module 5.x-1.9 and 5.x-2.0, but only one for Drupal 6. If a module shows green on the update status page, but indicates that there is an other branch available, you must check what version is needed to upgrade to Drupal 6.x on the module's project page at drupal.org. Many modules will only have the newer branch in Drupal 6.x and you must upgrade to the newer branch in Drupal 5 before you can upgrade to Acquia Drupal.

43

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.2. Update Status

D5.x to AD: Update the Drupal 5.x core
Your site must be running the latest core version of Drupal 5.x before you can upgrade to Acquia Drupal - the Update Status module will indicate the latest version number available at Administer > Logs > Available updates (?q=admin/ logs/updates).

Overview
• Backup - site files and database • Housekeeping - run database update script • Take site offline • Download + extract new core version • Move customized files • Put site back online

Important
For the next steps, it is essential that you are logged in to your site as User 1. User 1 - the user whose profile path is http://example.com/user/1 - is the first user created on any Drupal site, always has all administrative privileges, and there are certain tasks that only User 1 can carry out.

44

Migrating from Drupal 5.x to Acquia Drupal

Check your Tech
The instructions for updating the Drupal 5.x core using tools in your computer's GUI (FTP, PhpMyAdmin, etc.) are immediately below. They are followed by the instructions for a core upgrade using the command line.

Update using FTP
File Transfer via FTP
If you are moving Acquia Drupal files to a web server, you need an FTP client, a program for transferring data between your computer and a remote server via FTP (File Transfer Protocol). The free FireFTP plug-in for the Firefox browser is a good choice of FTP client for anyone using Firefox on any operating system. http://fireftp.mozdev.org/ Make sure that you use an FTP client capable of uploading complete directories.

1. Backup
Back up all your existing files and all database tables. Before proceeding, test your backups to be sure you can restore your site if necessary. See the Backing up Drupal Websites appendix of this guide for more information.

2. Internal Housekeeping
Login to your site as User 1. Check whether you need to run the update script by visiting Administer > Logs > Status report (?q=admin/logs/status). Run the update script if needed (navigate to example.com/update.php in the browser and follow the instructions presented to you) to ensure that all pending database, configuration updates, and clean-up tasks have run. Need to run update script:

Figure 7.3. run the update script

Database up-to-date:

Figure 7.4. No update needed

3. Download Update Archive
Download the latest version of Drupal 5 to your local computer from the project page [http://drupal.org/project/ Drupal+project]. It is a "tarball" file called something similar to: drupal-5.xx.tar.gz.

4. Take Site Offline
Still logged in as User 1, navigate to Administer > Site configuration > Site maintenance (?q=admin/settings/sitemaintenance) and take your site offline.

45

Migrating from Drupal 5.x to Acquia Drupal

5. Update Drupal 5.x Core:
1. Extract the tarball, drupal-5.xx.tar.gz, on your computer, using tools you are familiar with. This makes a directory called, drupal-5.xx. Using your FTP client, upload the drupal-5.xx directory to the directory on your server containing the [docroot] directory.

Figure 7.5. Upload Location for new [docroot] Directory

2. Delete the following from the new drupal-5.xx directory on your server: • .htaccess (file - only if customized in your current code base, if not, do not delete) • robots.txt (file - only if customized in your current code base, if not, do not delete) • sites (directory)

Figure 7.6. Delete from New Drupal 5.xx Directory

3. Place copies of the following files and directories from your current [docroot] into the drupal-5.xx directory: • .htaccess (file - only if customized) • robots.txt (file - only if customized) 46

Migrating from Drupal 5.x to Acquia Drupal • /sites (directory) • /files (directory) Also copy over anything else you customized that is not contained in the [docroot]/sites or [docroot]/files directories from your current [docroot] directory into the new drupal-5.xx directory. 4. Rename your [docroot] directory [docroot]_old - this is now a backup of your site's code. 5. Rename the drupal-5.xx directory [docroot] - this is now (obviously) your [docroot] directory. 6. Run the update script (navigate to http://example.com/update.php in your browser and follow the instructions presented to you). The script executes any update functions that are present in the newly installed code that weren't present in the old code. This process makes any changes to your database that are needed for the newer versions of Drupal and its modules; also making your code ready for upgrading to Acquia Drupal.

Note
As long as you have not: • modified any core Drupal files in your existing site • renamed core Drupal directories • duplicated core Drupal directory names • left any customized code or content outside of the [docroot]/files or [docroot]/sites directories in your installation, and the update script returns no errors, your core code is now updated to the latest version of the Drupal 5 core.

6. Put Your Site Back Online
Put your site back online at Administer > Site configuration > Site maintenance (?q=admin/settings/site-maintenance).

Update using the Command Line
Where is my command line?
• Mac OS X: A full Unix command line is built into the operating system. In Mac OS X it is located under Applications > Utilities > Terminal.app • Linux: Linux operating systems also have a command line application built in, called the "terminal". Its location varies according to the flavor of Linux. • Windows XP/Vista: Windows is unable to open a command line on a remote computer. It needs the help of a program like PuTTY, a free and open source remote command line client. You can find it at http://www.putty.org.

1. Internal Housekeeping
Login to your site as User 1. Check whether you need to run the update script by visiting Administer > Logs > Status report (?q=admin/logs/status). Run the update script if needed (navigate to example.com/update.php in the browser

47

Migrating from Drupal 5.x to Acquia Drupal and follow the instructions presented to you) to ensure that all pending database, configuration updates, and clean-up tasks have run.

2. Backup
Back up all your existing files and all database tables, using the command line instructions in the Backing up Drupal Websites appendix of this guide. Before proceeding, test your backups to be sure you can restore your site if necessary.

3. Take site offline
Still logged in as User 1, go to Administer > Site configuration > Site maintenance (?q=admin/settings/sitemaintenance) and take your site offline.

4. Download Drupal 5.xx Archive
Login to your server. Navigate to the directory containing your [docroot] directory. Download the latest version of the Drupal 5.xx core. It will be a tarball called something similar to drupal-5.xx.tar.gz. Check the Drupal project page at http://drupal.org/project/Drupal+project for the exact URL. wget \ http://ftp.drupal.org/files/projects/drupal-5.xx.tar.gz

5. Update Drupal Core
1. Extract the content of the tarball archive, making a directory called drupal-5.xx: tar -zxvf drupal-5.xx.tar.gz

2. Copy your configuration files and content to new code base with these three commands (use the same commands to copy any other customized files (cp) or directories (cp -R) to your new code base): cp path/to/[docroot]/.htaccess drupal-5.xx/ cp path/to/[docroot]/robots.txt drupal-5.xx/ cp -R path/to/[docroot]/sites drupal-5.xx/ cp -R path/to/[docroot]/files drupal-5.xx/

Note
Only copy over .htaccess and robots.txt if you customized them in your current installation. 3. Rename your [docroot] directory "[docroot]_old" and rename drupal-5.xx "[docroot]" with these two commands: mv [docroot] [docroot]_old

48

Migrating from Drupal 5.x to Acquia Drupal

mv drupal-5.xx [docroot]

The directory "[docroot]_old" is now a complete backup of your site's code and the new Acquia Drupal code base has become your document root directory. 4. Run the update script (navigate to http://example.com/update.php in your browser and follow the instructions presented to you). The script executes any update functions that are present in the newly installed code that weren't present in the old code. This process makes any changes to your database that are needed for the newer versions of Drupal and its modules; also making your code ready for upgrading to Acquia Drupal.

Note
As long as you have not: • modified any core Drupal files in your existing site • renamed core Drupal directories • duplicated core Drupal directory names • left any customized code or content outside of the [docroot]/files or [docroot]/sites directories in your installation, and the update script returns no errors, your core code is now updated to the latest version of the Drupal 5 core.

6. Put Your Site Back Online
Login to your site as User 1 and put it back online at Administer > Site configuration > Site maintenance (?q=admin/ settings/site-maintenance).

D5.x to AD: Prepare Drupal 5.x Modules for Update
Modules Ready?
All Drupal 5.x versions of the contributed modules on your website - those included in Acquia Drupal's module suite, those from the drupal.org repository, and any custom modules - must be updated to the latest Drupal 5 version. The Update Status module will indicate the latest version number available.

What if my module isn't ready for Drupal 6?
All the modules in the Acquia Drupal module suite are Drupal 6-ready (currently: Drupal Administration Menu, Advanced help, Content Construction Kit (CCK), Fivestar, Google Analytics, Image, ImageAPI, ImageCache, ImageField, Markdown filter, MimeDetect, Mollom, Pathauto, Printer-friendly e-mail and PDF versions, Tagadelic, Token, Update Status, Views, Voting API - more will be added in future). You need to check that Drupal 6 versions of all the other modules currently running on your site are available. Since Acquia Drupal is based on the latest version of the Drupal 6 core code, earlier module versions for Drupal 4 or 5 will not run on Acquia Drupal sites. If you depend on any given module and there is currently no Drupal 6 version of it, you have two choices:

49

Migrating from Drupal 5.x to Acquia Drupal • Acquia can recommend service partners to assist you with upgrading modules and other sitedevelopment tasks. For more information see the Acquia partner program page at http://acquia.com/ partners. • You can also go to the module's project page (http://drupal.org/project/[name_of_module]) and: • Check its issue queue for open "upgrade to Drupal 6" issues and plans. • If there is no apparent effort to upgrade it, get in touch with the module maintainer and/or other users of the module. Offer your help to get a Drupal 6 version off the ground - as a tester, teambuilder, motivator, whatever you can offer. • You could also upgrade the module yourself, following the guidelines at http://drupal.org/ update/modules and submit your upgrade as a patch for the module maintainer. • In the case that no upgrade is in the pipeline and you cannot do it yourself, look into alternative solutions. • You could offer a bounty for the upgrade or hire a Drupal developer directly to do the upgrade for you. • On the other hand, if no upgrade is in the works, there might be good reasons why a module hasn't been ported to Drupal 6 - its functionality might have become a part of Drupal's core or incorporated into or supplanted by another module.

General Overview
The general process for updating most modules within a major Drupal version is very straightforward: replace the old module directory with the new one and run the database update script (update.php).

Exceptions
Not all of the thousands of modules available for Drupal 5.x can be updated exactly following the steps listed below. Some require additional steps for a successful upgrade. Commonly used, non-Acquia-supported supported Drupal 5 modules that have special update needs include the Audio module (requires an external library) and Jquery Update module (requires a change in file structure during installation). There are many others. Before upgrading any module, carefully read its project page at drupla.org and all README.txt, INSTALL.txt or similar files included in both the outdated and new versions of any module you are updating. Modules that have become part of Drupal 6 core There are no Drupal 6 versions of several modules because they were adopted into the Drupal 6 core. You won't need to install them on your Acquia Drupal website, but you will have to pay special attention when upgrading. • OpenID: If the latest version of the OpenID module (see the Available updates page) is running on your Drupal 5.x site, Acquia Drupal will take over its functionality after upgrading when you turn on the core OpenID module. • Update Status: Once you have used the Update Status module to get your Drupal 5.x site code up-to-date, deactivate it and uninstall it as described in the Final Update Checks section of this guide. Activate the core Update Status module in Acquia Drupal once your site is up and running again. 50

Migrating from Drupal 5.x to Acquia Drupal • i18n: Much of this module's content translation functionality was adopted into the Drupal 6 core. For more information on upgrading from Drupal 5.x i18n to Drupal 6., see the i18n upgrade page at http:/ /drupal.org/node/313315. More information can be found on the project page at http://drupal.org/ project/i18n and on the "Building multilingual sites" pages on drupal.org at http://drupal.org/node/ 133977. • Actions: The 5.x-2.x release of this module is a backport of the Drupal 6 core actions and triggers. The 5.x-1.x branch has been deprecated. See the module's project page for more information and upgrade guidelines: http://drupal.org/project/actions. • Theme Settings and Theme Settings API: These modules help site administrators change theme elements in Drupal 5.x PHP-Template-based themes (like the positioning and text of the “Read more” link or the "Comments" link) without having to be able to write code or even copy and paste PHP snippets from recipes. The Theme Settings API and therefore this functionality were adopted into the Drupal 6 core. Delete and uninstall these modules before upgrading to Acquia Drupal. (See the instructions for uninstalling the Update Status module for more on this procedure.) More information on these modules can be found at http://drupal.org/project/themesettings and http:/ /drupal.org/project/themesettingsapi.

Modules in the Right Place?
Note
The following steps assures that you have all contributed modules in the recommended directory. This simplifies the upgrade process and helps avoid issues of code-duplication and -conflict. These instructions to do not apply to multi-site installations.

1. Find All Contributed Modules
Drupal's recommended best-practice is to keep all contributed modules in the [docroot]/sites/all/modules directory and only Drupal's core modules in the [docroot]/modules directory. Other non-standard, non-recommended places where contributed modules might have landed are in [docroot]/sites/ default/modules, [docroot]/sites/[sitename]/modules, or [docroot]/profiles/[profilename]/modules. Find all of the contributed modules on your site. In practice, this means any module not in the list of core modules below. Move them all to the [docroot]/sites/all/modules directory. Now test your site to make sure it is working as expected.

What are core modules? What are contributed modules?
Or, "How do I know what to move and what to leave where it is?" A module is a collection of code that enables specific Drupal functionality. Core modules are those that make up Drupal itself. Without some of them, Drupal cannot function. Others extend Drupal's basic functionality. Contributed modules add still more functionality to your site, but do not come with the standard Drupal download. Acquia Drupal comes with a suite of selected contributed modules. You can choose from thousands more in the Drupal contributed modules repository at http://drupal.org/project/ modules.

51

Migrating from Drupal 5.x to Acquia Drupal Drupal's core modules are in the [docroot]/modules directory. Never add to, move, remove or change the contents of the [docroot]/modules directory or its sub-directories. The Drupal 5.x core modules are: • aggregator • block • blog • blogapi • book • color • comment • contact • drupal • filter • forum • help • legacy • locale • menu • node • path • php • ping • poll • profile • search • statistics • system • taxonomy • throttle • tracker • upload

52

Migrating from Drupal 5.x to Acquia Drupal • user • watchdog See the glossary entry on modules for more information.

2. Take Site Offline
Logged in as User 1, navigate to Administer > Site configuration > Site maintenance (?q=admin/settings/sitemaintenance) and take your site offline.

3. Move Contributed Modules to [docroot]/sites/all
Move any other contributed modules to [docroot]/sites/all/modules if they are not already there. Keeping these in this standard location will make it easier for Acquia's support engineers to help you if the need arises. Once you have moved the modules, rebuild the Drupal module cache by navigating to Administer > Site building > Modules (?q=admin/build/modules).

4. Special Cases: Printer-Friendly Pages Module and Filefield Meta Module
If you are using the Printer-friendly, E-mail and PDF Versions module, remove the [docroot]/sites/all/print directory before upgrading. Follow the set-up instructions in the Printer-Friendly, E-mail and PDF Versions Module - Set Up and Configuration Appendix of this guide when your site is up and running again on the Acquia Drupal code base. Back up and copy over any customized print.tpl.php or print.css files during the upgrade process. If you are using the Filefield_meta module, you will need to follow the set-up instructions in the Filefield_meta Module and the GetID3 Library Appendix of this guide once your site is up and running on the Acquia Drupal code base.

D5.x to AD: Update Drupal 5.x modules
Now Make a Backup
Now make new backups of your site's files and database. These will be your fallback if something goes wrong during the following steps. See the Backing up a Drupal 5.x Website appendix of this guide for further information and instructions.

Check your Tech
The instructions for updating your site's Drupal 5.x modules using tools in your computer's GUI (FTP, PhpMyAdmin, etc.) are immediately below. They are followed by the instructions for module update using the command line.

Update Using FTP
File Transfer via FTP
If you are moving Acquia Drupal files to a web server, you need an FTP client, a program for transferring data between your computer and a remote server via FTP (File Transfer Protocol). The free FireFTP plug-in for the Firefox browser is a good choice of FTP client for anyone using Firefox on any operating system. http://fireftp.mozdev.org/

53

Migrating from Drupal 5.x to Acquia Drupal

Summary
This is how to update modules within a major version of Drupal (i.e. not during a core upgrade) if you access your web server with FTP and web based tools from your hosting provider: 1. download the latest version to your computer 2. unpack module tarball on your computer 3. delete old module directory from [docroot]/sites/all/modules using FTP client 4. upload to [docroot]/sites/all/modules using FTP client 5. Run update.php in browser, follow subsequent instructions 6. repeat steps 1-5 for each module

1. Download Latest Module Versions
For each module that the Update Status module indicates is not up-to-date, click the "download" link on the Available updates page at Administer > Logs > Available updates (?q=admin/logs/updates) to download the latest 5.x version tarball to a directory on your computer. It will be called something like: example-5.x-1.0.tar.gz

Figure 7.7. Available Updates Links

Module Branches and Updates
There are some modules that currently have multiple supported branches in Drupal 5 - for example, Image module 5.x-1.9 and 5.x-2.0, but only one for Drupal 6. Often, only the newer branch (5.x-2.x in this case) can be upgraded to Drupal 6 (and therefore Acquia Drupal).

54

Migrating from Drupal 5.x to Acquia Drupal If a module shows green on the update status page, but indicates that there is another branch available, you will usually need to upgrade to the newer branch to be able to upgrade to the 6.x version of the module. This is the case, for example, for Image module, and some others.

2. Unpack Module Tarballs
With FTP access, you usually can't unzip compressed archives on your server, so you'll have to do that on your local machine and then transfer the files to your server. Unzip/extract the example-5.x-1.0.tar.gz module tarball with any compression/extraction tools you are familiar with. A new module directory will be created called example.

3. Connect to Server - Delete Old Module Directory
Start your FTP client and enter the connection parameters for your server: • Host: Your site's URL without the http header (example.com) • User: The FTP username set by you or provided to you by your hosting provider • Password: The FTP password set by you or provided to you by your hosting provider Connect your FTP client to your server. Most FTP clients have a "local" window (your computer) and a "remote" window (your server). Navigate in your local window to the directory containing the newly extracted module directory. In the remote window, navigate to the [docroot]/sites/all/modules directory on your server. (See the Read Before Upgrading section of this document for more information on the [docroot] directory naming convention.) Delete the directory of the outdated module version you are replacing.

4. Upload New Module directory to Server
Drag (or highlight and click "transfer") the new module directory from the local window of the FTP client interface to the [docroot]/sites/all/modules directory open in the remote window.

55

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.8. Replace Module Directory

5. Run the Database Update Script
Run the database update script by navigating to example.com/update.php in your browser and following the subsequent instructions presented to you. Follow the instructions presented to execute the necessary database update. If the update process executes without errors, you are ready to repeat this process for the next module.

Update Using the Command Line
If you access your web server with a shell, working on the command line, updating modules within a major version of Drupal (i.e. not during a core upgrade) is similar to the process described above. The main difference is that you can extract the module tarballs directly on your server:

Summary
1. Download the latest version tarball to [docroot]/sites/all/modules 2. Delete old module directory 3. Replace with new directory (unpack tar ball in [docroot]/sites/all/modules) 4. Run update.php in browser, follow subsequent instructions 5. Repeat steps 1-4 for each module

56

Migrating from Drupal 5.x to Acquia Drupal

1. Copy Module Download Links
For each module that the Update Status module indicates is not up to date, context click ("right click") and copy the link to the module download URL on the Available updates page at Administer > Logs > Available updates (?q=admin/logs/updates). The download link will be something like http://ftp.drupal.org/files/projects/example-5.x1.x.tar.gz. You may paste all the links to the upgrades your site needs into a text document for reference.

Figure 7.9. Copy Link Location

2. Login to Server - Navigate to Modules Directory
Login to Your Server, using the credentials provided by your hosting provider. ssh -l username example.com

Navigate to your modules directory: cd path/to/[docroot]/sites/all/modules

3. Delete Old Module Directory
Delete the directory of one (and only one) out-of-date module directory: rm -r example

4. Download New Module Tarball
Still in the [docroot]/sites/all/modules directory, download the new module tarball, pasting in the download URL you saved from step one: wget http://ftp.drupal.org/files/projects/example-5.x-1.x.tar.gz

57

Migrating from Drupal 5.x to Acquia Drupal

5. Unpack New Module Tarball
Unpack the Tarball with the command: tar -zxvf ./example-5.x-1.x.tar.gz

You will now have a directory named example containing the latest module code.

6. Run the Database Update Script
Run the database update script by navigating to example.com/update.php in your browser and following the subsequent instructions presented to you. Follow the instructions presented to execute the necessary database update. If the update process executes without errors, you are ready to repeat this process for the next module.

D5.x to AD: Final Drupal 5.x Update Checks
4. Final Update Status Check
Once you have updated Drupal's core and all modules, your site's status report at Administer > Logs > Available updates (?q=admin/logs/updates) should show no errors (all messages green) - this means all of your site's code is up-to-date. Don't forget to check that you have installed the latest version of modules with multiple branches.

Figure 7.10. Up-to-date!

5. Final Error Checks
1. After updating to the latest Drupal 5.x core version and all current module versions, run update.php one last time - if errors occur, take appropriate action. 2. Check site logs for php errors. Go to Administer > Logs > Recent log entries (?q=admin/logs/watchdog) - if any new errors (highlighted by a red background on the log entry list) have appeared since you began the upgrade process (you noted the time you began in step 1, remember?), you will need to address them before upgrading. 3. If you have access to your server you should also check its server logs (for example, in /var/log/apache2/error.log on an Apache2 server running in Debian Etch,- this location varies from distribution to distribution) for any PHP errors.

58

Migrating from Drupal 5.x to Acquia Drupal

6. Now Make a Final Drupal 5.x Backup
Important
Make a last, full backup of your Drupal 5.x site's files and database. These will be your fallback if something goes wrong during the following steps. See the Backing up Drupal Websites appendix of this guide for further information and instructions.

7. Really, Make a Backup Now
Warning
Make a last, full backup of your Drupal 5.x site's files and database. Seriously.

8. Put Your Site Back Online
You may put your site back online now at Administer > Site configuration > Site maintenance (?q=admin/settings/ site-maintenance) if you are going to stage the recommended test-upgrade to Acquia Drupal on another server.

9. List all Modules in Use
Ease your upgrade by making a list of all modules in use on your Drupal 5.x website - that is, all modules installed and activated on your site except Update Status module and the others listed below. Check that Drupal 6 compatible versions of all of the modules in use on your site are available.

10. Remove Update Status Module
Deactivate and uninstall Update Status module. This and other modules that have become part of the Drupal 6.x core - see below for more information. 1. Deactivate the Update Status module by un-checking its check box and clicking on the "Save configuration" button on the modules page at Administer > Site building > Modules (?q=admin/build/modules).

Figure 7.11. Deactivate Update Status Module

59

Migrating from Drupal 5.x to Acquia Drupal 2. Navigate to the module uninstall page by clicking the "Uninstall" link at the top of the modules page. Check the checkbox for Update Status and click the "Uninstall" button.

Figure 7.12. Uninstall Update Status Module

Modules that have become part of Drupal 6 core
There are no Drupal 6 version of several modules because they were adopted into the Drupal 6 core code. Thanks to this, you won't need to install them into your Acquia Drupal website, but you will have to pay special attention when upgrading. • OpenID: If the latest version of the OpenID module (see the Available updates page) is running on your Drupal 5.x site, Acquia Drupal will take over its functionality after upgrading when you turn on the core OpenID module. • Update Status: Once you have used the Update Status module to get your Drupal 5.x site code up-to-date, deactivate it and uninstall it as described above. Activate the core Update Status module in Acquia Drupal once your site is up and running again. • i18n: Much of this module's content translation functionality was adopted into the Drupal 6 core. See the i18n upgrade page [http://drupal.org/node/313315] for more information on upgrading from Drupal 5.x i18n to Drupal 6. More information can be found on the i18n project page [http:// drupal.org/project/i18n] and in the Building multilingual sites [http://drupal.org/node/133977] pages on drupal.org. • Actions: The 5.x-2.x release of this module is a backport of the Drupal 6 core actions and triggers. The 5.x-1.x branch has been deprecated. See the module's project page for more information and upgrade guidelines: http://drupal.org/project/actions. • Theme Settings and Theme Settings API: These modules help site administrators change theme elements in Drupal 5.x PHP-Template-based themes (like the positioning and text of the “Read more” link or the "Comments" link) without having to be able to write code or even copy and paste PHP snippets from recipes. The Theme Settings API and therefore this functionality were adopted into the Drupal 6 core. Delete and uninstall these modules before upgrading to Acquia Drupal. (See the instructions for the Update Status module for more on this procedure.) More information on

60

Migrating from Drupal 5.x to Acquia Drupal these modules can be found at http://drupal.org/project/themesettings and http://drupal.org/project/ themesettingsapi.

D5.x to AD: Theme Ready?
If you downloaded your site's theme from drupal.org, check the themes directory at http://drupal.org/project/themes for a Drupal 6 version of it. If you are using a custom-built theme, Acquia can recommend service partners to assist you with upgrading themes and other site-development tasks. For more information see the Acquia partner program page at http://acquia.com/ partners. You can also follow the "Converting 5.x themes to 6.x" instructions at http://drupal.org/node/132442 to prepare your custom theme for use with Acquia Drupal. For information on theme upgrades from previous core versions, see http:/ /drupal.org/update/theme.

D5.x to AD: Upgrading from Drupal 5.x to Acquia Drupal
Upgrade-Readiness Checklist
• Your site must be running the latest version of the Drupal 5 core code. • All community modules running on your site must be the latest version for Drupal 5, and there must be a Drupal 6 version of all of them available. (It will make the upgrade process easier if you have a list of all the modules in use on the Drupal 5.x version of your site.) • Drupal 6 compatible versions of your theme and any custom modules must be ready to install. • Running update.php should produce no failure messages and your site logs should be free of PHP errors from the time you began the update/upgrade process. If your Drupal 5.x website fulfills the conditions above, and you have made a full backup of your site's files and database, proceed with these instructions.

Practicing Safe Upgrading: Do a Dry Run
The upgrade process is different for every site. To be safe and familiarize yourself with the process, it is best to make a copy of your live site and test the upgrade to Acquia Drupal on another server. The section on Testing the Upgrade Process on your Local Machine explains how to set up your local computer for an upgrade practice run.

Known Upgrade Problems
Upgrading from Drupal 5.x to Drupal 6.x (and therefore Acquia Drupal) is not always a smooth process. Some modules' upgrade paths are tricky, some don't quite work. There is an Upgrading to Drupal 6 forum on the Acquia Network at: http://acquia.com/network/forum to discuss and solve upgrade caveats. Acquia staff and the Acquia Network community can report here on known issues, progress on

61

Migrating from Drupal 5.x to Acquia Drupal creating and implementing solutions, new patches, work-arounds and fixes as they come to light. See http://acquia.com/ network/forum/D6-upgrade-issues-readme for more information. The starting point for these discussions are the modules included with the Acquia Drupal distribution. You are encouraged to participate, add your own problems, frustrations and advice for the community relating to any Drupal modules and upgrade issues.

D5.x to AD: Acquia Drupal Contributed Module Upgrade Notes
Acquia Drupal Modules Special Upgrade Cases
If you use any of the modules listed below, please check the notes below and/or their forum entries to see what special measure are required to successfully upgrade to Acquia Drupal. More information and further upgrade problems will be published in the Acquia Network Drupal 6 Upgrade forum at: http://acquia.com/network/forum.

Unexpected problems
If you encounter any problems during your upgrade, check the Drupal 6 Upgrade forum on the Acquia Network at http://acquia.com/network/forum for any known work-arounds or solutions. If your problem is not listed there, consider taking the time to post it there. Other users may be aware of it and be able to help you solve them. See http://acquia.com/network/forum/D6-upgrade-issues-readme for more information on the upgrade forum.

Current Known Upgrade Issues
Current known issues include the upgrade paths for (this list will change over time, see the Drupal 6 Upgrade forum at: http://acquia.comnetwork/forum/500 for an up-to-date overview): CCK CCK ImageField, FileField and Link (CCK) modules - see the Drupal 6 Upgrade forum issue at http://acquia.com/network/node/153700 Sites with custom content types that include CCK fields generated by CCK submodules - see the Drupal 6 Upgrade forum issue at http://acquia.com/network/ node/153700 The FileField Meta module not only depends on the Content and FileField modules to run, but also on two components not currently distributed with the Acquia Drupal tarball, the GetID3 Drupal module and the GetID3 code library. See its installation and configuration instructions here: Filefield_meta Module and the GetID3 Library Appendix. You must be running the 5.x2.x version of Image module for an upgrade to Acquia Drupal to succeed. See also the Drupal 6 Upgrade forum issue at http:/ /acquia.com/network/node/153708 Several of the Pathauto module's placeholders changed between the 1.x and 2.x versions. If you upgraded from Pathauto 5.x-1.x to 5.x-2.x while preparing your site for the upgrade to Acquia Drupal, review and update your URL generation

FileField Meta

Image module

Pathauto

62

Migrating from Drupal 5.x to Acquia Drupal patterns at Administer > Site building > URL alias > Automated alias settings (?q=admin/build/path/pathauto). If you were already running 5.x-2.x, the URL generation placeholders are the same in the 6.x-2.x version included with Acquia Drupal, but check the configuration page to be sure. Printer-Friendly, E-mail and PDF Versions To generate PDF versions of site content, this module relies on the external TCPDF code library. When upgrading from Drupal 5.x, you will need to: • copy any customized print.tpl.php or print.css files to the appropriate locations in your new Acquia Drupal code base • reinstall the TCPDF library • reconfigure the module Full installation instructions for the Printer-Friendly, E-mail and PDF Versions module can be found here: Printer-Friendly, E-mail and PDF Versions Module - Set Up and Configuration Appendix. Views Views 2, the new version of the Views query builder, available only for Drupal 6 (and thus Acquia Drupal), is a complete rewrite and large expansion of the original Views query building functionality. While upgrading from Views 1 in Drupal 5.x to Views 2 in Acquia Drupal requires no special steps, if your Drupal 5.x site relied heavily on complicated Views, you might need to spend time adapting them to Views 2. Please see the Testing Your Acquia Drupal Website section of this guide for more information.

D5.x to AD: Upgrading the Drupal Core and Acquia Drupal Modules
Overview
• Check for known upgrade issues • Backup - site files and database • Housekeeping - run database update script • Take site offline • Download and extract new core version • Move customized files to new code base • Rename old and new [docroot] directories • Run update script

Check for Known Upgrade Issues
Check the Acquia Drupal Contributed Module Upgrade Notes section of this guide and the Acquia Upgrade Forum at http://acquia.com/network/forum (and its README at http://acquia.com/network/forum/D6-upgrade-issues-readme) for any special issues your site's upgrade path might contain.

63

Migrating from Drupal 5.x to Acquia Drupal

Important
For the next steps, it is essential that you are logged in to your site as User 1. User 1 - the user whose profile path is http://example.com/user/1 - is the first user created on any Drupal site, always has all administrative privileges, and there are certain tasks that only User 1 can carry out.

Check your Tech
The instructions for upgrading the Drupal core using tools in your computer's GUI (FTP, PhpMyAdmin, etc.) are immediately below. They are followed by the instructions for a core upgrade using the command line.

Upgrade with FTP and GUI Tools 1. Backup
If you haven't already done so:

Make a Backup
Now make new backups of your site's files and database. These will be your fallback if something goes wrong during the following steps. See the Backing up a Drupal 5.x Website appendix of this guide for further information and instructions. Test your backups to make sure you can restore your site if necessary.

2. Internal Housekeeping
Login to your site as User 1. Check whether you need to run the update script by visiting Administer > Logs > Status report (?q=admin/logs/ status). Run the update script if needed (navigate to example.com/update.php in the browser) to ensure that all pending database, configuration updates, and clean-up tasks have run. If database updates were necessary, back up your site again.

3. Take Site Offline
Still logged in as User 1, go to Administer > Site configuration > Site maintenance (?q=admin/settings/sitemaintenance) and take your site offline.

4. Change Site Theme to Garland
Change your site's theme to Garland on the themes page at Administer > Site Building > Themes (?q=admin/build/ themes). Click Garland's "Enabled" checkbox and "Default" radio button. Click the "Save configuration" button at the bottom of the page.

64

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.13. Change theme to Garland

5. Disable All Non-Core Modules (optional - see below)
Navigate to the modules page at Administer > Site building > Modules (?q=admin/build/modules) and disable all non-Drupal-core modules (do not uninstall them). Uncheck all modules not in the "core" fieldsets on the modules page and click the "Save configuration" button. Since some modules rely on multiple levels of dependencies, you will need to disable some modules before you can disable others (i.e. Fivestar voting module must be deactivated before the Voting API module it relies on.)

Disabling Non-Core Modules May Not be Necessary
Since you will be upgrading your site on a test server before you upgrade your live website, it is worth noting the following: Although the "official" Drupal upgrade method is to disable all non-core modules before upgrading the Drupal core, many users experience a smoother upgrade process if they don't disable their non-core modules at this point. This will vary from site to site, depending on the modules in use and their exact configuration. You can try both methods on your upgrade-staging server and see which works best for your particular case.

65

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.14. Disable non-core modules

6. Delete all Non-Core Modules
1. Make a list of all the modules in the [docroot]/sites/all/modules directory. You will need to download and install those that are not part of the Acquia Drupal module suite as part of the upgrade process. 2. Save copies of any custom modules before you delete them from the [docroot]/sites/all/modules directory. 3. If you have added custom templates or stylesheets to any of the modules you use (for example, for Printer-Friendly, E-Mail and PDF Versions module), make copies of these files before deleting the contents of [docroot]/sites/all/ modules. Once your site is upgraded to Acquia Drupal, copy them into the appropriate place(s) in your new code base. 4. Delete all the modules in the [docroot]/sites/all/modules directory.

66

Migrating from Drupal 5.x to Acquia Drupal

Why am I deleting all my modules?
Drupal 6 looks for every module, anywhere in its file and directory tree, when executing the update script. Leaving any Drupal 5 compatible versions of your modules in this (or any other) directory can lead to conflicts, incompatibilities and database problems during and following update.

7. Download Acquia Drupal Archive
Download the latest "New install" version of the Acquia Drupal from: http://acquia.com/downloads. It will be a "tarball" file called something similar to: acquia-drupal-a.b.c-nnnn.tar.gz.

8. Upgrade to Acquia Drupal:
1. Extract the tarball or zip archive, acquia-drupal-a.b.c-nnnn.tar.gz or acquia-drupal-a.b.c-nnnn.zip to the same directory on your server that contains the [docroot] directory. You may use a GUI extraction tool + FTP, or any combination of tools you are familiar with. This will create a directory called acquia-drupal-a.b.c.

FTP Client
Use an FTP client that can upload complete directories. 2. Delete the following from your new acquia-drupal-a.b.c directory: • [docroot]/sites (directory) 3. Copy the following from your current document_root directory into the acquia-drupal-a.b.c-update directory: • sites (directory) • anything else you customized not contained in the [docroot]/sites directory ([docroot]/files, or similar)

.htaccess and robots.txt
As of Drupal core version 6.7, Drupal now has new .htaccess and robots.txt files. These are included in the Acquia update archive as htaccess.standard.txt and robots.standard.txt. You should take advantage of the updated versions of the files by recreating in them any customization you undertook in the older versions. Once they are changed to suit your site's needs, rename them ".htaccess" and "robots.txt" respectively and they will be ready to use in your updated website. You may choose to copy your old .htaccess and robots.txt into your new code base, if they have been customized, but this is not recommended.

Important
Your site's /files directory (and other files and directories you copy into the Acquia Drupal code base) need to be placed in the same position, relative to [docroot], as they were in your Drupal 5.x codebase. The database contains instructions tell Drupal how to find any given directory. If a file is in a different relative position in your Acquia Drupal [docroot], compared to your Drupal 5.x [docroot], your site will not work.

67

Migrating from Drupal 5.x to Acquia Drupal That is: • [docroot]/files needs to be copied to [docroot]/files • [docroot]/sites/files needs to be copied to [docroot]/sites/files • and [docroot]/path/to/custom/file would also need to be reproduced in the new, Acquia Drupal code base 4. Copy anything else you customized not contained in the [docroot]/sites or [docroot]/files directories into the new acquia-drupal-a.b.c directory. 5. Rename your [docroot] directory [docroot]_old - this is now a backup of your site's code. 6. Rename the acquia-drupal-a.b.c directory [docroot]. 7. Run the update script (navigate to http://example.com/update.php in your browser). The script executes any update functions that are present in the newly installed code that weren't present in the old code. This process makes any changes to your database that are needed for the newer versions of Drupal and its modules; also making your code ready for upgrading to Acquia Drupal.

Note
As long as you have not left behind any customized files or content from your Drupal 5.x site, and the update script returns no errors, your core code is now updated to Acquia Drupal.

9. Configure Acquia Drupal Modules
1. Activate each module on the modules page at Administer > Build > Modules (?q=admin/build/modules) by checking its checkbox and clicking the "Save configuration" button at the bottom of the page. 2. Check user-role permissions at Administer > User management > Permissions (?q=admin/user/permissions), making sure that the module's permissible actions are assigned to appropriate user roles. 3. Check configuration of the module and make sure its settings reflect your needs. Take a moment to investigate any new features the 6.x version of the module might have in Acquia Drupal over the old 5.x version. Links to most modules' configuration pages can be found on the Site configuration page at Administer > Site configuration (?q=admin/settings), some are located in other places - for example, the Views module's configuration page can be accessed from the Site building administrative page at Administer > Site Building (?q=admin/build/views). 4. Repeat these instructions for each module you used on the Drupal 5.x version of your site.

Upgrade with the Command Line 1. Backup
If you haven't already done so:

Make a Backup
Now make new backups of your site's files and database. These will be your fallback if something goes wrong during the following steps. See the Backing up a Drupal 5.x Website appendix of this guide

68

Migrating from Drupal 5.x to Acquia Drupal for further information and instructions. Test your backups to make sure you can restore your site if necessary.

2. Internal Housekeeping
Login to your site as User 1. Check whether you need to run the update script by visiting Administer > Logs > Status report (?q=admin/logs/ status). Run the update script if needed (navigate to example.com/update.php in the browser) to ensure that all pending database, configuration updates, and clean-up tasks have run. If database updates were necessary, back up your site again.

3. Take Site Offline
Still logged in as User 1, go to Administer > Site configuration > Site maintenance (?q=admin/settings/sitemaintenance) and take your site offline.

4. Change Site Theme to Garland
Change your site's theme to Garland on the themes page at Administer > Site Building > Themes (?q=admin/build/ themes). Click Garland's "Enabled" checkbox and "Default" radio button. Click the "Save configuration" button at the bottom of the page. (See illustration above.)

5. Disable All Non-Core Modules
Navigate to the modules page at Administer > Site building > Modules (?q=admin/build/modules) and disable all non-Drupal-core modules. Uncheck all modules not in the "core" fieldsets on the modules page and click the "Save configuration" button. (See illustration above.)

6. Delete all Non-Core Modules
1. Make a list of all the modules in the [docroot]/sites/all/modules directory. You will need to download and install those that are not part of the Acquia Drupal module suite as part of the upgrade process. 2. Save copies of any custom modules before you delete them from the [docroot]/sites/all/modules directory. 3. If you have added custom templates or stylesheets to any of the modules you use (for example, for Printer-Friendly, E-Mail and PDF Versions module), make copies of these files before deleting the contents of [docroot]/sites/all/ modules. Once your site is upgraded to Acquia Drupal, copy them into the appropriate place(s) in your new code base. 4. Delete all the modules in the [docroot]/sites/all/modules directory.

Why am I deleting all my modules?
Drupal 6 looks for every module, anywhere in its file and directory tree, when executing the update script. Leaving any Drupal 5 compatible versions of your modules in this (or any other) directory can lead to conflicts, incompatibilities and database problems during and following update. Navigate to [docroot]/sites/all/modules on your server: cd [docroot]/sites/all/modules

69

Migrating from Drupal 5.x to Acquia Drupal

Delete all the modules there: rm -rf *

7. Download Acquia Drupal Archive
At http://acquia.com/downloads, context click ("right click") the "New install" download link and copy the link to the clipboard.

Figure 7.15. Copy download location

Login to your server: ssh -l username example.com

Navigate to the directory containing your [docroot] directory: cd path/to/directory_containing_docroot

Download the Acquia Drupal tarball or zip archive to your server:

70

Migrating from Drupal 5.x to Acquia Drupal wget \ http://acquia.com/files/downloads/acquia-drupal-a.b.c-nnnn.tar.gz

or wget \ http://acquia.com/files/downloads/acquia-drupal-a.b.c-nnnn.zip

8. Upgrade Drupal Core
1. Extract the content of the tarball or zip archive, making a directory called acquia-drupal-a.b.c: tar -zxvf acquia-drupal-a.b.c-nnnn.tar.gz

or unzip acquia-drupal-a.b.c-nnnn.zip

2. Copy the [docroot]/files and [docroot]/sites directories from your current [docroot] directory into the new acquiadrupal-a.b.c directory with these commands (use the same commands to copy any other customized files (cp) or directories (cp -R) to your new code base): cp -R path/to/[docroot]/sites acquia-drupal-a.b.c cp -R path/to/[docroot]/files acquia-drupal-a.b.c

Important
As of Drupal core version 6.7, Drupal now has new .htaccess and robots.txt files. Rather than copying these into your new code base, in the new versions, you should recreate any customization you undertook in the old versions.

Important
Your site's /files directory (and other files and directories you copy into the Acquia Drupal code base) need to be placed in the same position, relative to [docroot], as they were in your Drupal 5.x codebase. 71

Migrating from Drupal 5.x to Acquia Drupal The database contains instructions tell Drupal how to find any given directory. If a file is in a different relative position in your Acquia Drupal [docroot], compared to your Drupal 5.x [docroot], your site will not work. That is: • [docroot]/files needs to be copied to [docroot]/files • [docroot]/sites/files needs to be copied to [docroot]/sites/files • and [docroot]/path/to/custom/file would also need to be reproduced in the new, Acquia Drupal code base 3. Rename your [docroot] directory "[docroot]_old" and rename acquia-drupal-a.b.c [docroot] with these two commands: mv [docroot] [docroot]_old mv acquia-drupal-a.b.c [docroot]

The directory "[docroot]_old" is now a complete backup of your Drupal 5.x site code and the new Acquia Drupal code base has become your document root directory. 4. Run the update script (navigate to http://example.com/update.php in your browser). The script executes any update functions that are present in the newly installed code that weren't present in the old code. This process makes any changes to your database that are needed for the newer versions of Drupal and its modules; also making your code ready for upgrading to Acquia Drupal.

Note
As long as you have not left behind any customized files or content from your Drupal 5.x site, and the update script returns no errors, your core code is now updated to Acquia Drupal.

9. Configure Acquia Drupal Modules
1. Activate each module on the modules page at Administer > Build > Modules (?q=admin/build/modules) by checking its checkbox and clicking the "Save configuration" button at the bottom of the page. 2. Check user-role permissions at Administer > User management > Permissions (?q=admin/user/permissions), making sure that the module's permissible actions are assigned to appropriate user roles. 3. Check configuration of the module and make sure its settings reflect your needs. Take a moment to investigate any new features the 6.x version of the module might have in Acquia Drupal over the old 5.x version. Links to most modules' configuration pages can be found on the Site configuration page at Administer > Site configuration (?q=admin/settings), some are located in other places - for example, the Views module's configuration page can be accessed from the Site building administrative page at Administer > Site Building (?q=admin/build/views). 4. Repeat these instructions for each module you used on the Drupal 5.x version of your site.

72

Migrating from Drupal 5.x to Acquia Drupal

Unexpected problems
If you encounter any problems during your upgrade, check the Drupal 6 Upgrade forum on the Acquia Network at http://acquia.com/network/forum for any known work-arounds or solutions. If your problem is not listed there, consider taking the time to post it there. Other users may be aware of it and be able to help you solve them. See http://acquia.com/network/forum/D6-upgrade-issues-readme for more information on the upgrade forum.

D5.x to AD: Upgrading non-Acquia Drupal Contributed Modules
Now Make a Backup
Now make new backups of your site's files and database. These will be your fallback if something goes wrong during the following steps. See the Backing up an Acquia Drupal Website appendix of this guide for further information and instructions.

Upgrade Non-Acquia Modules
Use the following procedure for any non-Acquia contributed modules that you used on your Drupal 5.x site. If you are installing or activating modules for the first time (i.e. you were not using a particular module in the Drupal 5.x version of your site), you do not need to run the database update script. See the "Getting Started with Acquia Drupal", available for download at http://acquia.com/downloads for more information. 1. Download the Drupal 6 version of your module from its project page (http:/drupal.org/project/ [name_of_module]) and place it in the [docroot]/sites/all/modules directory on your server. 2. Check for dependencies and special instructions before activating any module. Places to check include: • any special notes on the module's project page on drupal.org (http://drpual.org/project/[name_of_module]) • any relevant information in Drupal 5.x or 6.x README.txt, UPDATE.txt, INSTALL.txt or similar module files (found in the module's directory) • any dependencies listed on the modules page at Administer > Site building > Modules (?q=admin/build/ modules) • warnings and information in the Acquia Drupal user interface 3. Activate each module on the modules page at Administer > Site building > Modules (?q=admin/build/modules) by checking its checkbox and clicking the "Save configuration" button at the bottom of the page. 4. Run the database update script by navigating to http://example.com/update.php. If this produces errors, take appropriate action. 5. Check user-role permissions at Administer > User management > Permissions (?q=admin/user/permissions), making sure that the module's permissible actions are assigned to appropriate user roles. 6. Check configuration of the module and make sure its settings reflect your needs. Take a moment to investigate any new features the 6.x version of the module might have in Acquia Drupal over the old 5.x version. 73

Migrating from Drupal 5.x to Acquia Drupal Links to most modules' configuration pages can be found on the Site configuration page at Administer > Site configuration (?q=admin/settings), some are located in other places - for example, the Views module's configuration page can be accessed from the Site building administrative page at Administer > Site Building (?q=admin/build/views). 7. Repeat these instructions for each module you used on the Drupal 5.x version of your site.

Unexpected problems
If you encounter any problems during your upgrade, check the Drupal 6 Upgrade forum on the Acquia Network at http://acquia.com/network/forum for any known work-arounds or solutions. If your problem is not listed there, consider taking the time to post it there. Other users may be aware of it and be able to help you solve them. See http://acquia.com/network/forum/D6-upgrade-issues-readme for more information on the upgrade forum.

D5.x to AD: Configuring Your Acquia Drupal Site
Overview
• Install/Activate site theme • Put site back online • Double-check module settings • Enter Acquia Network and Mollom subscription keys

1. Install and Activate Drupal-6-Compatible Version of Site Theme
Using tools you are comfortable with, place a copy of your Drupal-6-ready theme's directory in [docroot]/sites/all/ themes on your server. Navigate to the themes page at Administer > Site building > Themes (?q=admin/build/themes). Check your theme's "Enabled" checkbox and the "Default" radio button beside it, then click the "Save configuration" button at the bottom of the page.

2. Put Your Website Back Online
If everything is working so far, put your site back online on the Site maintenance page at Administer > Site configuration > Site maintenance (?q=admin/settings/site-maintenance) by clicking the "Online" radio button and the "Save configuration" button at the bottom of the page.

74

Migrating from Drupal 5.x to Acquia Drupal

3. Connect to the Acquia Network
1. Activate Acquia Modules Enable the Acquia agent and Acquia site profile information modules on the module administration page at Administer > Site building > Modules (?q=admin/build/modules). These are listed on the page in the Acquia network group as shown below:

Figure 7.16. Activate Acquia Modules

2.

Obtain Network Keys Obtain your Acquia Network Keys by logging in to the Acquia Network from the subscription tab on the Acquia Network (http://acquia.com/network/dashboard/subscription).

3.

Enter Network Keys Click the link at the top of the message from your Drupal installation that appears on your screen, or navigate directly to the page at Administer > Site configuration > Acquia settings (?q=admin/settings/acquia-agent) and enter your Acquia Network keys.

4. Confirm Acquia Network Status
Back on the Acquia Network page, click the Health tab. Check that a heartbeat from your site has been received, then click the Site profile sub-tab to confirm that your site has communicated its current platform and module list to the Acquia Network. If both of these appear on your Acquia Network health page, you have successfully upgraded to Acquia Drupal. Congratulations!

5. Check for Acquia Network Task List Messages
Now click on the "Tasks" tab of your Acquia Network page (https://acquia.com/network/dashboard/tasks) to see what steps you need to take next.

6. Activate Administration Menu Module
Acquia encourages you to take advantage of the Administration Menu module. It not only renders all administrative menu items in a clean, purely CSS-based menu at the top of every page of your website. It also displays your Acquia Network subscription status and expiration date, how many users are online, and provides you a direct logout link. 75

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.17. Activate Administration Menu Module

Figure 7.18. Administration Menu Open

D5.x to AD: Testing and Tweaking Your Acquia Drupal Website
Since every website is different, each site will need its own testing and tweaking to get it just right. Here are some broad guidelines for checking your site's functionality and adjusting to the changes between Drupal 5.x and Drupal 6.x, Acquia Drupal's code base. Descriptions of specific issues and solutions appear below. Acquia is very interested in expanding this section based on user feedback and solving as many upgrade issues to Drupal & and Acquia Drupal as possible. Don't hesitate to contact us with Drupal-6-related upgrade configuration tweaks, tips and other issues.

Test Your Acquia Drupal Site
Your site is up and running on Acquia Drupal and you have all the modules reactivated that are needed for full functionality. Now you need to test it to make sure it is functioning the way you need and expect. Broadly, you will need to put it through its paces from the perspective of you site's various users. Click through your site logged in as users with each of the user-roles on your website. Here are some examples of roles and functionality that might need checking:

76

Migrating from Drupal 5.x to Acquia Drupal • site administrator • full back end functionality, including control of the menu system, content types, user permissions, and so on. • anonymous site visitors • site content, contact and comment forms are accessible (or not) • new user registration • authenticated site visitors • access to restricted content • user participation (media uploads, forums, comments, etc.) • password reset • other user-roles with specific permissions • editing and creation of specific content types • forum moderation, comment approval and deletion

D5.x to AD: Importing and Rebuilding Views 1 Views in Views 2
Views 2
The Views module, Drupal's powerful query building and content display module has been completely rewritten for Drupal 6. Views 1 was already a powerful and, for many, essential module for Drupal websites. The 2.x branch of Views contains a vast number of new features including a whole new, user interface, the ability to include any type of content (not just nodes) in a view, build views based on content relationships and much, much more. This section, unfortunately, will barely scratch the surface of the new world of Views 2. It focuses on moving from Views 1 to Views 2: standard views that came with Views 1, and importing and reconstructing Views 1 views in Views 2. Since even Views 1 views could be extremely complicated and powerful, converting them to be Views 2 compatible can take a lot of thinking. Below are two examples that attempt to demonstrate the principles of the import and reconstruction process. They should serve to get you started working on your own views.

Views 1 Views
The standard views that come with the Views 1 module in Drupal 5.x are all included with the Views 2 module in Acquia Drupal. These are: • comments_recent (block of recent comments) • frontpage (basic front page view) • taxonomy_term and its variants (various selections from taxonomy categories and terms) These are formed by adding term IDs (tid) as arguments to the URL: http://example.com/taxonomy/term/[argument]. In brief, the [argument] can be: • tid: 1 - a single tid 77

Migrating from Drupal 5.x to Acquia Drupal • tid+tid: 1+2 - content where both tids appear • tid,tid: 1,2 - content where one or both of the tids appear • tid/depth: 1/2 - for multi-level hierarchical taxonomy categories: tid (1) to a depth of (2 - the 2nd level of the hierarchy) • tracker (all new site activity)

Importing Custom Views 1 Views
On your Drupal 5.x site, you can navigate to the views page at Administer > Site building > Views (?q=admin/build/ views) and export any of your custom views by clicking its "export link". This gives you a text output that you should copy to a text document. On your Acquia Drupal website, you can then navigate to the views page - also at Administer > Site building > Views (?q=admin/build/views) - and click the import tab. Give the view a name and paste the Views 1 code into the field labeled "Paste view code here". If you're lucky, your view will be accepted and you'll be good to go. Views 2, however, has been rewritten from the ground up and many views that the import function accepts still need a little tweaking to work as expected. Even worse, some Views 1 views contain code that is incompatible with Views 2. Below are two sample views that cover the last two cases.

Example View A - Import Succeeds, but the View Needs Fixing
This is a simple node view from Views 1, a page view of published nodes of two node-types, page and story:

78

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.19. Simple Views 1 node view

1. Import
On your Acquia Drupal site, import the view code by pasting it into the appropriate field on the "Import" tab of the Views page at Administer > Site building > Views (?q=admin/build/views) and clicking the "Import" button at the bottom of the page. Views accepts the view, but prints the following warning on screen, saying "you may need to adjust some parameters" to make it work in Views 2:

Figure 7.20. You may need to adjust your view.

2. Compare
Compare the Views 2 edit page and its details to those of the Views 1 view:

79

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.21. Details of raw imported view

Figure 7.22. Views 1 view, Filters fieldset

80

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.23. Views 1 view, Page fieldset

3. Adjust
First, click the "Node: Published False" link in the "Filters" panel on the view page. This opens up a new panel below. Click the "publish" check box and the "Update" button at the bottom left of the edit panel.

81

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.24. Node is published.

Next, click the "Node: Type in" link. For this view, we select the "is one of" radio button, the "page" and "story" content types and click the "Update" button again.

82

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.25. Node type is one of ...

Click the "Save" button on the lower left-hand side of the editing page.

Views preview pane
One of the great, new features in Views 2 is that as you make adjustments to your view, there is a "Live preview" pane below the details area. It keeps you up-to-date about how the changes you make affect the view that you are building. Now click on the "Page" tab at the upper left-hand corner of the detail area.

Tip
The defaults tab where all of your changes were made so far, controls the settings for every version of this view. The "page" tab allows you to make changes specifically for the page version of the view. You can add other versions of any view by selecting a view-type from the drop down and clicking the "Add display" button.

83

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.26. Select display type

Figure 7.27. Add display type

Most controllable aspects of a view give you the choice of using the default settings or overriding them to give that specific version of the view different settings. On the "Page" tab, if you don't need to override any of the view's default settings for the page version of the view, the most important settings are in the "Page settings" panel. Clicking "Path," you can set the URL that calls your view and you can add an item for the view to the menu system by clicking the "Menu" (or "No menu") link. Don't forget to update your view and save any changes before exiting the page.

84

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.28. Edit the view page tab

Figure 7.29. View successfully imported and tweaked in Views 2

85

Migrating from Drupal 5.x to Acquia Drupal

Example View B - Import Fails - Reconstructing in Views 2 The View
Here an example of a Views 1 view that cannot be imported into Views 2. Since Views 2 will not import it, if you had it or a similar view on your site, you'd need to recreate it. The following steps show how to recreate this example, but adapting this analytical approach will help you recreate any un-importable view you may come across.

1. Analyze
Compile a list of your view's defining characteristics. The main Views 1 settings for this simple view are shown in the following screenshots:

Figure 7.30. This Views 1 List View Cannot be Imported

86

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.31. Views 1 List View Fields

Figure 7.32. Views 1 List View Filters

2. Define
A quick analysis of the screenshots above, shows the view to be: • a page • displaying 10 results per page • in a list

87

Migrating from Drupal 5.x to Acquia Drupal • using a pager • with these fields: • Node: Title (displayed as a link to its node) • Node: ID • Node: Author Name • Taxonomy: All Terms (as links to their term views) • Comment: Count • with these filters: • Published is equal to Yes • Node: Type is one of Story • Node: Author is Anonymous is equal to Anonymous

3. Recreate
Now to recreate the view, as defined above, click on the "Add" tab on the views page of your Acquia drupal website at Administer > Site building > Views (?q=admin/build/views). Add a title, description and any tags you wish. Since you are recreating a Views 1 view, click the "Nodes" View type radio button. Now click the "Next" button at the bottom of the page. The ability to make views of any site content - though beyond the scope of this document - is one of the powerful, new features of the 2.x branch of views and very worth exploring.

88

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.33. Add a new View 1

Now you will need to find the configuration options to match your Views 1 view on the Views 2 edit page. From the list above, the new view is missing a page display option, a pager as well as all its fields and filters.

89

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.34. Views

Add a page display by selecting "page" from the drop down at the upper left of the edit page and clicking the "Add display" button. Once you have done this, there should be a "page" tab below the "defaults" tab at the top left.

Figure 7.35. Add page display

Add a path to this view by clicking on the "Path: None" link in the "Path Settings" panel of the edit view page. Assign a URL to this view - what you write in the textfield appears after the base URL of your site: http://example.com/ ?q=[path/to/view] Once you have assigned the view a path, the "Live preview" panel below will begin showing a preview of your view in its current state. You can also create a menu item for this view in the Drupal menu system by clicking on the "Menu: No Menu" link in the "Path Settings" panel. Once you have finished building the view, you can activate and control its menu entry on the menus page at Administer > Site building > Menus (?q=admin/build/menus).

90

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.36. URL to View

Add a pager, by returning to the defaults tab and clicking on the "Use Pager: No" link in the "Basic Settings" panel. Select which pager you would like (full or mini) and click the "Update" button. Click the "Save" button on the lower left-hand side of the editing page.

91

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.37. Add pager

Add fields by clicking on the "+" symbol in the "Fields" panel. Looking at the view definition above, you will need fields from the "comment", "node", and "taxonomy" categories. For each category, select its groups from the drop down and click the check boxes for the fields you need. In this case: • Node: Title • Node: ID • Node: Author Name (now listed under "User" as "User: name") • Taxonomy: All Terms • Comment: Count (now listed under "Node" as "Node: Comment count") Each field selected will then open its configuration panel. Select the options you need and click on the "Update" button to continue. Click the "Save" button on the lower left-hand side of the editing page when you have completed the settings for the various fields. But wait! Where is "Comment: Count"? As mentioned, Views 2 is a whole new ball game. Many previously available fields or other features have been renamed and you might have to click around to find them. "Comment: Count" for example, is now listed as a "Node" characteristic (Logical when formulated, "How many comments are associated with a given node?") The fields "Node: Title" and "Taxonomy: All Terms" were displayed as links to their respective content in the Views 1 view, so you need to select this option when editing those fields.

92

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.38. Configure Node Title Field

Add filters by clicking on the "+" symbol in the "Filters" panel. Looking at the definition of the Views 1 above, you will need three filters. These are also organized into groups similar to those for fields. Select those you require and configure them on their configuration panels. This view needs: • Published is equal to Yes (now listed under "Node" as "Node: Published") • Node: Type is one of Story • Node: Author is Anonymous is equal to Anonymous (now listed under "User" as "User: Name")

93

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.39. Published is equal to yes

94

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.40. Node type is one of story

The last thing we need to define to make this view work is to find an equivalent filter to the Views 1 "Node: Author is Anonymous is equal to Anonymous" . This is tricky to find, but the solution lies in understanding how Views works. The first place one would try is the equivalent-sounding filter "User: Roles", but the anonymous and authenticated roles do not appear in the editing panel for this filter. This is because all anonymous users have the same User ID (uid) in Drupal, uid=0 and all authenticated users have a unique uid greater than zero. Neither of these definitions is stored in the database as an association of role to users, so they cannot be queried as such (remember, Views is a database query builder). You can, however, use another filter to get this information. It is listed under "User" and is called "User: Name". Knowing that the author of a node is automatically associated with that node (relationships are a big part of Views 2), and knowing that "Anonymous" (uid=0) is treated as one user, you can enter "Anonymous" as the username in this filter's editing panel and click the "Update" button.

95

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.41. Name Filter

Result!

Figure 7.42. User Equals Anonymous

Click the "Save" button on the lower left-hand side of the editing page to save your view. Whew!

D5.x to AD: PHP Filter
PHP Snippets Appear on Your Site's Pages or Views?
If you built dynamic elements - such as custom headers, counters or similar - directly into your Drupal 5.x site's content with PHP code snippets, they may not work following upgrade to Acquia Drupal. Instead you might be seeing the PHP code displayed directly as content instead of what it is supposed to be generating. In Drupal 6, the ability to embed PHP code has been moved into a separate, new core module. In the past, site administrators might have overlooked exactly which input formats were available to users and left a large security hole open, by allowing users to execute PHP. No administrators must specifically activate the PHP Filter module, enable it as an input format and then give specific user roles permission to use potentially risky feature.

96

Migrating from Drupal 5.x to Acquia Drupal 1. If you have a node-type, comments, block content-areas or CCK fields that contain PHP snippets, you'll need to do the following for it to be displayed in the Acquia Drupal version of your site: 1. Activate the new, core PHP Filter module at Administer > Site building > Modules (?q=admin/build/modules) by checking its check box and clicking on the "Save configuration" button at the bottom of the page. 2. If the nodes in question still do not render correctly, add the PHP code filter to the input format used by these nodes. Navigate to Administer > Site configuration > Input formats (?q=admin/settings/filters), click the "configure" link of the format in question and add the "PHP evaluator" filter to the input format. Adjust the order of the filters in use as necessary.

Warning
This is a security risk if added to an input format available to general user roles (anonymous, authenticated, etc.). Only site administrators and other trusted groups should have access to input formats that will execute PHP code. Access to specific input formats is also controlled on the "configure" page of any given input format. 2. If you have a view that contains PHP in a header or footer and it is displaying the code instead of what the code is supposed to generate, check that the PHP Filter module is activated, as above, then navigate to the edit page of the view in question by clicking its "edit" link on the page at Administer > Site building > Views (?q=admin/build/views). In the "Basic Settings" panel, click on the link in question (in this case, "Header: Filtered HTML") to open the editor for this setting.

Figure 7.43. Open Format/Content Editor

Here, you can edit your PHP code snippets and control the input format of the header of footer. Select the "PHP code" radio button, click the "Update" button to exit the editor. Now save the view by clicking the "Save" button at the lower left-hand corner of the editing page.

97

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.44. Change Input Format to PHP Code

The live preview of your view (and the relevant pages of your site) should now be showing your dynamically generated header.

98

Migrating from Drupal 5.x to Acquia Drupal

Figure 7.45. View with Working PHP Header

D5.x to AD: Tweaking the Markdown Filter
Content created using the Markdown input format might appear unformatted following upgrade. To fix this, check the following: • On the modules administration page at Administer > Site building > Modules (?q=admin/build/modules), make sure the Markdown module is activated. If not, activate it and click the "Save configuration" button at the bottom of the page. • On the input formats page at Administer > Site configuration > Input formats (?q=admin/settings/filters), click the "configure" link of the input format that contains the markdown filter, then go to the "Rearrange" tab on the configuration page. The markdown filter must be at the top of the list for it to work correctly.

Figure 7.46. Reorder Markdown Input Filter

99

Chapter 8. Connecting a Drupal 6.x Website to the Acquia Network
• This chapter is for you if you want to connect your existing Drupal 6.x website to the Acquia Network and access Acquia support and network services. • If you are migrating from Drupal 6.x or updating an existing Acquia Drupal site to the latest version of Acquia Drupal, see the Migrating from Drupal 6.x to Acquia Drupal chapter of this guide. • If you are upgrading from Drupal 5.x, see the Migrating from Drupal 5.x to Acquia Drupal chapter of this guide. • If you are installing Acquia Drupal from Scratch , see the Installing Acquia Drupal from Scratch chapter of this guide.

The Acquia Network Connector Modules
The Acquia Network Connector modules connect Drupal 6.x subscriber websites to the Acquia Network: • Acquia Agent: Enables secure communication between your Drupal website and the Acquia Network to monitor up time, check for updates, and collect site information. • Acquia Site Profile: Automates the collection of site information - operating system, database, webserver, and PHP versions, installed modules, and site modifications - to speed support communication and issue resolution.

Check Your Tech
Just like installing any other modules, the Acquia Connector modules package can be installed using any combination of tools you are familiar with: GUI, FTP client, command line, and so on. Below are the general steps you will nee to follow. Adapt them to the tools you are comfortable using.

Add the Acquia Network Connector modules to a Drupal 6.x Website
1. Download latest version of the module package from the its project page at http://acquia.com/project/ acquia_connector. This will be a g-zipped "tarball" archive with the suffix ".tar.gz". 2. Extract the contents of the tarball using an archiving tool of your choice. This will produce two directories: acquia_agent and acquia_spi. Upload them to your site's webserver, placing them in the [docroot]/sites/all/ modules directory.

Figure 8.1. Acquia Network Connector Modules installation location

100

Connecting a Drupal 6.x Website to the Acquia Network 3. Navigate to the modules administration page at Administer > Site building > Modules (?q=admin/build/modules) and enable the two Acquia Connector modules, the Acquia agent and Acquia site profile. They are listed on the page in the Acquia network group:

Figure 8.2. Activate Acquia Modules

4. Obtain your Acquia Network Keys by logging in to the Acquia Network from the subscription tab on the Acquia Network at http://acquia.com/network/dashboard/subscription. 5. Enter your network keys on the Acquia Agent's configuration page at Administer > Site configuration > Acquia settings (?q=admin/settings/acquia-agent). 6. Confirm Acquia Network Status - Click the Health tab for your subscription at http://acquia.com/network/ dashboard/subscription. Check that a heartbeat from your site has been received, then click the Site profile sub-tab to confirm that your site has communicated its current platform and module list to the Acquia Network. If both of these appear on your Acquia Network health page, you have successfully "Acquified" your Drupal installation. Congratulations!

Acquia Network Services
Now that you have successfully installed and configured the Acquia Network Connector modules, please continue to the Acquia Network Services - Overview chapter of this guide for more information.

101

Chapter 9. Acquia Network Services Overview
This chapter covers the various services available to you as a subscriber to the Acquia Network. These services are designed to help you manage your Drupal website. The Acquia Network's current services include a cron service, site health monitoring known as the heartbeat service, and spam protection from the Mollom content protection service.

Acquia Network Services
Once a Drupal site is activated and connected to the Acquia Network, its subscription owner and registered contacts can review its status and profile information on the network. This information is also available to Acquia support personnel to help them resolve any issues on the site as efficiently as possible. The Acquia Network (http://acquia.com/network/dashboard) offers you an overview of the status of your subscription(s) through the tabs across the page:

Health
The Health tab (http://acquia.com/network/dashboard/health) shows the current online status, subscription status, support status and unfinished tasks of each of your subscribed sites. Clicking on the "View health details" link of any site takes you to a detailed overview, including its general condition, Mollom spam-protection statistics, heartbeat log, code modification warnings, and detailed technical profile.

Messages
All relevant messages - announcements from Acquia services, error messages pertaining to individual sites, and so on - can be found on the Messages tab (http://acquia.com/network/dashboard/messages).

Tasks
Tasks track what needs to be done next for your Drupal websites. Here, owners can be assigned to tasks, and the tasks tracked, commented on and marked as completed.

Tickets
If your subscription entitles you to support tickets, this page provides an overview your subscription's support tickets at Acquia.

Settings
The sub-tabs let you control the following subscription settings:

Site
• Site name - for use in overviews and summaries • Site URL - the site URL associated with your subscription

102

Acquia Network Services - Overview

Contacts
Add technical and billing contacts to your subscription.

Note
Depending on the service level of a subscription, it may have various, multiple contacts - people responsible for different aspects of the subscription, including the primary contact (the subscription owner), administrative- and technical-contacts. The primary contact can add other contacts on a subscription's Contacts tab, who will be notified by email. Subscription owners can also resend and cancel invitations.

Message rules
Granular control of which contacts receive your subscription's error, warning, and information messages.

Cron
If you want to take advantage of the Acquia Network's cron service, set its interval and path here.

Subscription
The messages, current state and other information regarding any individual subscription can be found by clicking on the subscription's name on the subscriptions page at http://acquia.com/network/dashboard/subscription.

Cron Service
Your Acquia Drupal site needs to perform certain self maintenance tasks on a regular basis to run well. These "cron tasks" are run in a batch called a "cron job" and include exchanging information and heartbeat signals with the Acquia Network, removing expired session information, updating database tables and the search index, and so on, depending on your site's exact configuration and traffic. Cron jobs cannot be initiated from within an Acquia Drupal installation. A cron signal - from "chronos", Greek for "time" - is needed at regular intervals to initiate these tasks. You can follow the instructions on Drupal.org [http:// drupal.org/cron] on how to set up your cron jobs with command line tools. The Acquia Network's remote cron service is, however, an easier solution for utilizing Drupal cron, especially if you are uncomfortable directly manipulating Unix cron functionality from the command line. It can also be a lifesaver (or at least a "site-saver") in a number of other situations: • Managing Acquia Drupal sites in shared hosting environments, you might not be granted sufficient access to the server's operating system to set up cron jobs directly. • Running on a system that does not provide a cron function (Windows is one good example of this). • You do not have access to the Unix command line or other interface for setting up cron jobs. • You notice that the Acquia Network has a simple, effective and intuitive way of taking care of this for you! The Acquia Network remote cron service is part of all subscription packages. Your Acquia Drupal installation must be visible from the internet - that is, not behind a firewall or inside a closed intranet. If you provide your site's URL during the subscription process, the remote cron service should begin immediately. If you did not provide your URL during registration, you can enter it in the field provided on the Site tab of the Settings page on the Acquia Network.

103

Acquia Network Services - Overview

Figure 9.1. Site URL

You may configure or deactivate the Acquia Network remote cron service at any time on the Cron tab of the Settings page on the Acquia Network.

Figure 9.2. Cron Settings Page

Here, you can set the following options:

104

Acquia Network Services - Overview

• How often do you want cron to run on your site? This depends on the complexity of your site. For most sites, every 5 minutes will be the best choice, but for a less active site, every hour might be sufficient. • Do you want Acquia to run cron for you? Select "No" to turn off the remote cron service. In that case, you will need to set up a cron job on your server yourself.

Important
If you have already configured cron to run on your server and choose not to take advantage of the Acquia Network's cron service, you will still need to tell us how often you will run cron on your own in the form shown above. This allows the Acquia Network heartbeat service to synchronize correctly with your Acquia Drupal installation. • Cron action path This is the path to your Acquia Drupal installation's cron.php file. Leave the default "/cron.php" unless you have changed this in your installation. After configuring the remote cron service, cron jobs should start to appear in your Acquia Drupal installation's logs: Administer > Reports > Recent log entries (?q=admin/reports/dblog).

Heartbeat Service
Each time it runs its cron jobs, your Acquia Drupal site sends a signal to the Acquia Network to let the network know that the site is alive and well - the Acquia Network Heartbeat signal. The Heartbeats tab of your subscription's Health page shows how long your site has been successfully sending heartbeats.

105

Acquia Network Services - Overview

Figure 9.3. Heartbeat Status

The Acquia Network expects to receive heartbeats from your site on a regular basis, and if it does not receive one for more than five minutes after the expected time, it will show your site as "not connected" on your subscriptions pages until it receives another heartbeat. Whenever your website loses or regains its connection to the Acquia Network, you will also receive a notification. If your site is labeled "not connected," it is an indication that there may be a problem, and there are several things that you should check: • Your site might be inaccessible due to an Internet outage or problem with your hosting provider or web server. • Your Acquia Drupal installation itself might not be functioning correctly. • Cron jobs might not be running on your site at the interval you have specified, which means that site maintenance tasks are not being performed as frequently as desired. You can find the last time cron was run by visiting Administer > Reports > Status report (?q=admin/reports/status) on your Acquia Drupal site. In order for the heartbeat service to function correctly, the Acquia Network needs to know how often to expect a heartbeat from your site. If you are using the Acquia Network cron service, this process is taken care of automatically. However, if you are running cron yourself on your own server, you need to tell the Acquia Network how often you are running cron so it knows when to expect a heartbeat. You can configure this on the Cron tab of the Settings page of your subscription, the same place where you can disable access to the cron service. See also: Acquia Network remote cron service

Mollom - Content Protection
Acquia Drupal includes the Mollom module, which takes advantage of the Mollom web service - from http:// mollom.com - to help prevent unwanted and abusive content from being posted on your Acquia Drupal web site without inconveniencing your legitimate users. Mollom works by analyzing content submitted to your site then automatically

106

Acquia Network Services - Overview

classifying it as "spam" (bad) or "ham" (good). Mollom blocks content that it is certain is spam, and lets content be published that it is certain is legitimate. The small percentage of content in between (when Mollom is not certain whether a piece of content is legitimate or not) passes through an extra layer of protection before being published to your website: The user submitting the content is presented with a simple visual or audio CAPTCHA challenge - a "Completely Automated Public Turing test to tell Computers and Humans Apart" - that humans can easily solve, but generally stops automated "spambot" contributions dead in their tracks. Activate the Mollom module at Administer > Site building > Modules (?q=admin/build/modules). To allow your site to communicate with Mollom's servers, you need your subscription's public and private Mollom access keys as listed on your Acquia Network subscription page. You can find your keys by navigating to your Acquia Network subscription page at http://acquia.com/network/dashboard/subscription and clicking on the name of the subscription in question. Enter them in the fields provided at Administer > Site configuration > Mollom (?q=admin/ settings/mollom). Once you have successfully connected to the Mollom servers, you will be able to edit the Spam protection settings and enable Mollom for various types of content and user interaction on your site. In the basic, out-of-the-box configuration of Acquia Drupal, the five forms shown below can be protected. As you add and activate modules on your site that allow user input - the contact form, for example - their input forms are added to this list and can be protected by Mollom. Every custom content type added to your installation can also be protected.

Figure 9.4. Mollom Protection Configuration

Important
User registration and password request forms - When Mollom protection is enabled for these user interaction forms, Mollom will always present a CAPTCHA challenge before submission. Mollom provides a "post with no checking" permission which allows you to give trusted user roles the privilege of posting directly, bypassing Mollom's anti-spam measures. You should limit giving roles with this permission to friends,

107

Acquia Network Services - Overview

editorial staff, collaborators or other user groups you trust. Mollom also allows site administrators to report content as spam when deleting it from the site, and it provides a link for users to report emails they receive through their personal contact forms as spam, too. This information is communicated back to the Mollom servers and is used to improve the accuracy of Mollom's spam fighting algorithms.

Warning
Legal Issues: Privacy - Mollom stores data from your site's visitors on its own web servers. It is your responsibility to make sure that using Mollom does not violate any privacy policies your site may have, or any laws or regulations that apply. You should obtain appropriate consent from your users before enabling Mollom on your site. Please read Mollom's terms of service at http://mollom.com/terms-ofservice for more information on these issues.

108

Chapter 10. Subscriber Forums and Technical Support
Acquia Network Forums
The Acquia Network forums, at http://acquia.com/network/forum, are the place to go for help, discussion and information on non time-sensitive issues. For time-sensitive issues, please submit a support ticket. Non-subscribers are provided with read-only forum access. Subscribers may create topics and post comments. Before posting, it's always a good idea to search the forums to find threads where others may already be discussing what you are looking for.

Scope of Support Coverage
Acquia provides technical support for Drupal 6.x or above on supported platforms. Support channel access and response times are determined by the subscription and any additional services purchased. See the Subscription Support Matrix on the Acquia Network at http://acquia.com/products-services/support-options for coverage details for each subscription level.

109

Chapter 11. Appendices
Important reference information regarding Acquia Drupal and its suite of modules.

Appendix A - Installation and Configuration Special Cases
Some modules in the Acquia Drupal module suite require extra steps in their installation or configuration above and beyond the norm. In the case of the Printer, E-mail and PDF Versions module and the Filefield Meta sub-module, this is due to the fact that they rely on external code libraries that are not distributed with Acquia Drupal.

Printer-Friendly, E-mail and PDF Versions Module - Set Up and Configuration
When activated, this module adds links to any node that let users: • print the node • e-mail the node • generate a pdf document of the node

Set Up Basic Functionality
The Printer, E-mail and PDF Versions module comes packaged with the Acquia Drupal download. Enable its basic "printer-friendly web page view" functionality by checking the "Printer-friendly pages (core)" checkbox and clicking the "Submit changes" button on the modules page at Administer > Site building > Modules (?q=admin/build/modules).

Figure 11.1. Activate Print Module

110

Appendices

Basic module settings and printer-friendly Web page version settings can now be configured on the two tabs available on the module configuration page at Administer > Site configuration > Printer-friendly pages (?=admin/settings/print).

Send E-Mail Functionality
Next, activate the "Send by e-mail" functionality by checking the appropriate checkbox under the "Printer-friendly pages (core)" checkbox on the modules page at Administer > Site building > Modules (?q=admin/build/modules) and clicking the "Submit changes" button at the bottom of the page. More settings are now available on the "e-mail" tab on the module configuration page at Administer > Site configuration > Printer-friendly pages (?=admin/settings/print/mail).

PDF Tool
Important
External PDF-Generator The print_pdf sub-module will not work without installing the external PDF generation tool as described in the instructions below. The PDF version of any content is actually generated by an open source PDF generation tool that doesn't come with the Acquia Drupal download: TCPDF - http://sourceforge.net/projects/tcpdf/.

Installing TCPDF
Check Your Tech
Install the PDF generator using tools you are familiar with. See the Installing Acquia Drupal chapter of this guide for a detailed explanation and examples of using GUI tools, an FTP client, command line, SSH, SCP transfer, etc. Note that the TCPDF library, unlike Acquia Drupal, comes packaged in a zip archive, not a tarball. Not all servers support the unzip command. If this is the case, unzip the archive on your local computer and upload the extracted directory to your webserver with FTP, SCP, or similar. 1. Download the TCPDF package from http://sourceforge.net/projects/tcpdf/ 2. Extract the TCPDF zip archive. Place the resulting directory, tcpdf into the print module directory ([docroot]/ modules/acquia/print/tcpdf). The module itself takes over all further configuration of TCPDF.

111

Appendices

Figure 11.2. TCPDF Directory Location

3. Now activate the "PDF version" functionality by checking its checkbox on the modules page at Administer > Site building > Modules (?q=admin/build/modules) and clicking the "Submit changes" button at the bottom of the page. 4. The PDF settings can now be configured on the "PDF" tab on the module configuration page at Administer > Site configuration > Printer-friendly pages (?=admin/settings/print/pdf).

Can't see the "PDF" tab?
To make the "PDF" tab accessible on the module configuration page the [docroot]/modules/acquia/ print/tcpdf directory has to be readable and executable by the user or group under which the webserver runs. On some systems, it is necessary to change the file system permissions to make this the case. Via FTP client, navigate to the [docroot]/modules/acquia/print directory on your server and context click ("right click") on the tcpdf directory and select "set permissions" (or similar, depending on your specific FTP client). Give read, write and execute permissions to "User", and read and execute permissions to "Group" and "Other".

112

Appendices

On the command line, to see the access configuration, navigate to [docroot]/modules/acquia/print on your server and enter: ls -l

The access configuration is displayed to the left of the directory name following the "d". It will be something like: rwxr-x---. This means: a. First group of three ("User"): read write execute b. Second group of three ("Group"): read execute c. Third group of three ("Other"): no permissions To make the "PDF" tab visible, change these permissions to give "Other" the read and execute permissions. Still in the print directory enter: chmod 755 tcpdf

Content Types
With the Printer-Friendly Pages module activated, the content-type settings page for each content-type on your website (?q=admin/content/node-type/[content_type]) now has a new, expandable "Printer, e-mail and PDF versions" settings field set. The field set has options for placing links on node content and on individual comments attached to any node.

Figure 11.3. Print Module Content-Type Controls

113

Appendices

User Permissions
On the permissions page at Administer > User management > Permissions (?q=admin/user/permissions), grant the "access print" permission to appropriate user roles, while granting "administer print" permission only to administrative user roles. Not granting the "administer print" permission to any role restricts it to User 1 only.

Figure 11.4. Print User Permissions

Upgrading from Drupal 6.x to Acquia Drupal (and Acquia Drupal Updates)
When upgrading your site from Drupal 6.x to Acquia Drupal, simply remove the sites/all/print directory before upgrading. Follow the installation instructions above when your site is up and running on the Acquia Drupal code base. Make sure you back up and copy over any customized print.tpl.php or print.css files during the upgrade process.

Updating Acquia Drupal
When updating to a newer version of Acquia Drupal, be sure to copy over the [docroot]/modules/print/ tcpdf directory and any customized print.tpl.php or print.css files from the old to the new Acquia Drupal code base.

Advanced Configuration
By editing the default print.css, creating your own CSS and/or print.tpl.php files in your theme directory ([docroot]/ sites/all/themes/[name_of_theme]), you can alter the module's output as you need. For more granular customization, you can use a print_[format].node-[node_type].tpl.php file located in the current theme directory[ ([docroot]/sites/all/themes/[name_of_theme]) where "format" is either "html", "mail" or "pdf", and "node_type" is the Drupal content type you wish to alter ("page", "story", etc.).

Note
Although you could also add/modify a print_[format].node-[node-type].tpl.php file in the module's directory ([docroot]/modules/acquia/print), this will be detected as a code fork and potentially affect your support status with Acquia. Content-type and/or theme-specific templates can be created at various levels of granularity. Drupal will search for them in this order: 1. print_[format].node-[type].tpl.php in the theme directory 2. print_[format].tpl.php in the theme directory 3. print.tpl.php in the theme directory 4. default print.tpl.php in the module directory (do not alter - see above)

114

Appendices

Like much of Drupal's functionality, the generation of the various versions is based on node ID (nid) URLs that you can place as links anywhere within your theme files: • Printer-friendly web page: ?q=print/nid • PDF version: ?q=printpdf/nid • Send by e-mail: ?q=printmail/nid

Further Information
For more information on the Printer-Friendly, E-mail and PDF Versions module, go to its FAQs page at http:// drupal.org/node/190173 and its instruction manual at http://drupal.org/node/190171.

Filefield_meta Module and the GetID3 Library
The filefield_meta module depends on two components that are not currently distributed with the Acquia Drupal download: • getID3 Drupal module • getID3 code library

Check Your Tech
Install the new components listed below using the tools and workflow you are familiar with. See the Installing Acquia Drupal chapter of this guide for a detailed explanation and examples of using GUI tools, an FTP client, command line, SSH, SCP transfer, etc. Note that the getID3 library, unlike Acquia Drupal, comes packaged in a zip archive, not a tarball. Not all servers support the unzip command. If this is the case, unzip the archive on your local computer and upload the extracted directory to your webserver with FTP, SCP, or similar.

Set Up
Follow these steps to activate the Filefield_meta module, which is intended to display meta data about files attached to nodes with the Filefield module: 1. Activate the Content module by checking its checkbox in the "CCK" field set on the module activation page at Administer > Site Building > Modules (?q=admin/build/modules). Click the "Save configuration" button at the bottom of the page.

Figure 11.5. Activate Content Module

115

Appendices

2. Activate the Filefield module by checking its checkbox in the "CCK" field set on the module activation page at Administer > Site Building > Modules (?q=admin/build/modules). Click the "Save configuration" button at the bottom of the page.

Figure 11.6. Activate Filefield

You can now add a CCK field of the type "File" to any content-type on its "manage fields" page at Administer > Content management > Content types ("manage fields" link) (?q=admin/content/node-type/[content_type]/fields).

Figure 11.7. Create Filefield Field

Add names of your choice as shown, select the data type "file" and the file element appropriate to your needs. Click the "Save" button, select the options needed for your site on the following configuration page and click the "Save field settings button". 3. Download the GetID3 module tarball from its project page at http://drupal.org/project/getid3. 4. Extract the module directory and place it in the contributed modules directory on your server ([docroot]/sites/all/ modules/getID3).

116

Appendices

Figure 11.8. GetID3 Module Directory

5. Download the latest stable version archive of the GetID3 code library (currently version 1.7.7) from http:// getid3.org 6. Unzip the archive and place it in the getid3 module directory on your server ([docroot]/sites/all/modules/getid3/ getID3).

Figure 11.9. GetID3 Library Directory

7.

Security Warning - Delete "demos" Directory
The unzipped GetID3 library contains various files and three directories: demos, getid3, and helperapps. The demos directory opens a security hole and you must delete it before you activate the GetID3 module on any public-internet-facing website.

Figure 11.10. Delete Demos Directory

8. Activate the GetID3 module by checking its checkbox on the module activation page at Administer > Site Building > Modules (?q=admin/build/modules). Click the "Save configuration" button at the bottom of the page. 9. Now activate the Filefield_meta module by checking its checkbox in the "CCK" field set on the module activation page at Administer > Site Building > Modules (?q=admin/build/modules). Click the "Save configuration" button at the bottom of the page. 117

Appendices

Upgrading from Drupal 6.x to Acquia Drupal
When upgrading your site from Drupal 6.x to Acquia Drupal, follow the installation instructions above when your site is up and running on the Acquia Drupal code base.

Appendix B - Testing the Upgrade Process on your Local Machine
Practice Your Upgrade
The upgrade process is different for every site. Follow these instructions once your Drupal 5.x site is completely up-to-date and ready for the upgrade to Acquia Drupal as explained in the Getting your Drupal 5.x site ready for upgrade chapter of this guide. Once you have successfully upgraded your site on your local machine, make a backup of it for reference. You may then approach the upgrade of your live site with confidence.

Install an AMP Stack
Drupal and Acquia Drupal can be installed on your personal computer or laptop for the purpose of testing and development. This is called a localhost installation. You need to install software to run the database and web server that Acquia Drupal depends on. This software is called an AMP stack: • Apache + MySQL + PHP You may download one of the following AMP stacks suitable for your operating system and follow its installation and configuration instructions. • Apple Mac: • MAMP - http://www.mamp.info • Linux: An AMP stack is usually installed using a package manager specific to a given distribution of Linux. Here are instruction for Ubuntu and Fedora Linux: • Ubuntu LAMP for Newbies [http://www.howtoforge.com/ubuntu_lamp_for_newbies] • Perfect Server: Fedora 7 [http://www.howtoforge.com/perfect_server_fedora7] • Windows XP/Vista: • WAMP: http://www.wampserver.com • XAMPP: http://www.apachefriends.org

Check your Tech
The instructions for installing a copy of your Drupal 5.x website on localhost using tools in your computer's GUI (web browser, FTP, PhpMyAdmin, etc.) are immediately below. They are followed by the installation instructions using the command line. 118

Appendices

Copy Live Site to Localhost Using Web Browser
1. Download the contents of your Drupal 5.x site directory - the [docroot] directory - from your remote server to the [docroot] directory of your local server. When it is configured, you will be able to access the copy of your live site in the browser at a URL similar to http://localhost (this can vary slightly according to which AMP stack you use). If you have more than one site in your localhost [docroot] directory, you can place the entire Drupal 5.x site directory in the localhost [docroot] directory. Change the site's directory name to something you will remember, like copy_of_[sitename]. Once configured, the copy of your site will be at http://localhost/copy_of_[sitename] in the browser. 2. Download a copy of your site's database using PhpMyAdmin: a. Navigate in your hosting provider's interface to the PhpMyAdmin tool. Selected the database for your website:

Figure 11.11. PhpMyAdmin - Select a database

Navigate to your database's "Export" tab:

Figure 11.12. PhpMyAdmin - Go to database export tab

In the "Export" field set on the Export tab, click "Select All" (database tables) link and the "SQL" (format) radio button.

119

Appendices

Figure 11.13. PhpMyAdmin - Export Settings 1

b. Save on local machine Still on the export tab, check "Save as file", click the "gzipped" radio button and "Go". Select a location to save the zipped database to your computer:

Figure 11.14. PhpMyAdmin - Export, Save to Local Machine

c. Import into new, local database using local copy of PhpMyAdmin

120

Appendices

Now you need a fresh database on your computer. Open your AMP stack's PhpMyAdmin. On the main page, enter a name for the new database and set both collation options to "utf8_unicode_ci". Click the "Create" button:

Figure 11.15. PhpMyAdmin - Create a New Database

Select the new database using the selector in the upper left corner and navigate to its "Import" tab:

Figure 11.16. PhpMyAdmin - New Database Import Tab

Click browse and select the copy of your Drupal 5.x site's database. Click "Go" to import its contents into your new database:

121

Appendices

Figure 11.17. Import Tables into New Database

3. Open [docroot]/sites/default/settings.php in a text editor. Find the database connection. This is a line of code about halfway down the file that looks something like this: $db_url = 'mysql://password:username@localhost/databasename'; $db_prefix = '';

Change the password and username to match those of your local database user. Change "databasename" to the name of the new database you made in the previous step. 4. If you made any other changes to settings.php on your live site (for example, the base_url value), comment them out (place a "#" at the beginning of every line you wish to disable) in the local copy of this file. 5. You should now be able to navigate to the new copy of your live site in the browser at http://localhost or http:// localhost/copy_of_[sitename].

Using the Command Line
1. Copy Site Files - the contents of your Drupal 5.x site directory - the [docroot] directory - from your remote server to the [docroot] directory of your local server from the command line of your computer (not from the remote server). scp [username]@[example.com]:/path/to/[docroot]/* /path/to/local/[docroot]

122

Appendices

Replace [username]@[example.com] with the user name and host name credentials that you use to connect to the remote server. Replace the /path/to/[docroot] with the absolute path to your site's document root. Replace /path/to/local/[docroot] with the path to the [docroot directory] on your local machine. When it is configured, you will be able to access the copy of your live site in the browser at a URL similar to http://localhost (varies slightly according to which AMP stack you use). If you have more than one site in your localhost [docroot] directory, before you download your site's files make a directory called copy_of_[sitename]. Once configured, the copy of your site will be at http://localhost/ copy_of_[sitename] in the browser. 2. Copy Database - Login to your live site's remote server: ssh -l username example.com

Make a full dump of your site's database: mysqldump -u [databaseusername] -p [databasename] > backup.sql

If you are unsure of the database username (it is not your Drupal site username), you can find it in the database connection line of your site's [docroot]/sites/default/settings.php file. Compress the database dump with gzip. This will make a file called something like backup.sql.gz: gzip backup.sql

3. Download and Unzip Database - From the command line of your local machine, not your remote server: scp [username]@[example.com]:/path/to/backup.sql.gz /path/to/local/directory gunzip /path/to/local/directory/backup.sql.gz

4. Create New Database on Localhost - Using the database user name for your local system: mysqladmin -u [databaseusername] -p create [new_database_name]

5. Move Contents of Database Backup into New Database on Localhost - Using the database user name for your local system: 123

Appendices

mysql -u root -p [new_database_name] < backup.sql

6. Change Database Connection - Using the tools of your choice, change the database connection code in [docroot]/ sites/default/settings.php to match the password and username of your local database user. Change "databasename" to the name of the new database you made in the previous step. $db_url = 'mysql://password:username@localhost/databasename'; $db_prefix = '';

If you made any other changes to settings.php on your live site (for example, the base_url value), comment them out (place a "#" at the beginning of every line you wish to disable) in the local copy of this file. 7. You should now be able to navigate to the new copy of your live site in the browser at http://localhost or http:// localhost/copy_of_[sitename].

Now Run a Trial Upgrade
If you are able to address the local copy of your site, you may proceed with the upgrade to Acquia Drupal, as described starting at the Upgrading to Acquia Drupal section of this guide. Since you are upgrading on your local computer, adapt the instructions to suit working in the local file system rather than remotely (for example, you won't need to use an FTP client).

Appendix C - Backing up Drupal Websites
A full backup of any Drupal website consists of copies of: • the complete Drupal code base • all website content, including any uploaded images, audio, and other media files • the site's database Be sure to carry out both sections of the backup process below (backing up files + backing up the database) before making any significant changes to your Drupal website. You should also practice restoring your website from a backup to make sure you are familiar with that procedure.

Backing up Files
These instructions cover making backups of the files in your Drupal website. These files include the original Drupal or Acquia Drupal download, any modules or themes that you may have added, and the uploaded files that Drupal is managing. All of these files are needed if you want to: • Restore your site in case of catastrophic failure. • Set up copies of your website for development, testing or upgrade staging. • Move your site from one server to another server.

124

Appendices

Backing up with FTP
Follow these instructions for backing up your site's files with FTP: 1. Open an FTP connection to the remote server. 2. Copy the contents of your site's [docroot] to your own computer. For ongoing backups check if your FTP client has a setting so that it will only transfer new or updated files as this will save time and bandwidth.

Backing up with the Command Line
You can use command line tools to make backups of your remote site onto your local machine.

Using rsync
To make a backup of your site's files (located on a remote web server), use the rsync command on the command line of your local computer, (not logged in to your remote webserver): rsync -avz -e ssh \ [username]@[example.com]:/path/to/[docroot] /local/path/

In this command, replace [username]@[example.com] with the user name and host name credentials that you use to connect to the remote server. Replace the /path/to/[docroot] with the absolute path to your site's document root. Replace /local/path with the path on your local machine where the backup should be stored. The advantage of using rsync is that it will only transfer remote files that are new or updated, thus saving time and bandwidth.

Using scp
To make a backup of your site's files (located on a remote web server), use the rsync command on the command line of your local computer, (not logged in to your remote webserver). It will copy all of the files from your remote server onto your local machine: scp -r [username]@[example.com]:/path/to/[docroot] /local/path

In this command, replace [username]@[example.com] with the user name and host name credentials that you use to connect to the remote server. Replace the /path/to/[docroot] with the absolute path to your site's document root. Replace /local/path with the path on your local machine where the backup should be stored.

Backing Up the Database
Drupal stores the content of your site, configuration information, and log information in the database. Keeping backups of the database ensures that you can recover from server disasters, easily set up testing or development copies of your site, or move your site to another machine.

125

Appendices

There are several options for backing up the database for an Drupal website. The best practice will depend upon the specifics of each installation. The suggestion here uses the MySQL GUI Tools [http://dev.mysql.com/downloads/guitools/5.0.html] and assumes you have access directly to your MySQL database. Some hosting providers offer a service or "control panel" functionality to allow you to automatically or manually back up your databases.

Important
The database is only one aspect of your site. In order to be able to completely restore your site from a backup you will also need a backup of all its files as described above.

MySQL Administration Backup
MySQL offers a free open-source utility for doing database administration, backup and recovery. To get started with backups download the proper version of MySQL GUI Tools from the MySQL website at http://dev.mysql.com/ downloads/gui-tools/5.0.html. Note that the package you download depends on the operating system of your desktop computer and is not dependent upon the operating system on your server. In order to perform backups your desktop server will need to be able to access your database. This may be a different form of access than the access your Drupal website uses. After downloading and installing the MySQL GUI Tools launch the MySQL Administrator program.

Figure 11.18. Connect to MySQL

If you have not previously connected you will need to put the connection details into the "Connect to MySQL Instance box". If this box does not appear choose "New" from the "File" menu and a dialog will appear. Enter the following information in the dialog: • Server Hostname (this can also be an IP address if you don't have a hostname for your database server) • Port (3306 by default but check with your hosting provider to be sure) • Username (your database username -- not the same as your Drupal site-username) • Password (your database password)

126

Appendices

Once the connection to the server is established click on the "Backup" item at the top of the window. This tab brings up a list of all your current backup projects. A plus sign in the bottom left corner of the window will enable you to add a "Backup Project" for your database project. With the new project tab open you will see a space to name the project as well as a list of schemas, or databases, listed to the left side of the window. Choose your database and click on the ">" button to move the database into the list of databases to be backed up as a part of the current project.

Figure 11.19. Choose Database

Check the box next to the project to backup the entire database.

Note
Note if you do not wish to backup all tables in the database you can use the triangle at the left end of the line and expand the database in order to select which individual tables you wish to backup. If you choose not to backup all tables be sure you understand how to perform a recovery of your system. Drupal will not automatically recreate the tables missing from your backup after you restore your backup. Next select the Advanced Options tab. If you have not made changes to the default database that Drupal installed the tables will all be MyIASM tables. This means that selecting the first option under the Backup Execution section of this tab, "Lock All Tables" , should be selected. This option will limit access to your Drupal site while the backup runs, but will ensure the most complete backup. If you have changed the table types from MyISAM to InnoDB or another table type you will need to explore the options on this tab and in the section on "Other Backup Strategies" to make sure your database is properly backed up.

127

Appendices

Figure 11.20. Advanced Options

The "Schedule" gives you options for setting up backups to run automatically. This includes setting options for where to save the backup and how frequently to run the backup. Picking an option that is compatible with how much data is added or changed on your site.

Command Line Backups
The mysqldump program can be used from the command line to back up the database. The following command will back up all of the tables in a specific database and save it to a file named backup.sql: mysqldump -u root -p [databasename] > backup.sql

Since you will typically then move the backup.sql file off of the server to be stored in a safe location, it is useful to compress the file: gzip backup.sql

You now have a file, backup.sql.tgz, which you can fetch from the server using FTP and store in a safe location.

Tip
You can combine both of the steps above with the so-called "pipe" command: mysqldump -u [database_username] -p [databasename] | gzip > backup.sql.gz

128

Appendices

The "|" says "take the result of the first command and "pipe" it through the second command. In this case, compressing the database dump.

Other Backup Strategies
This appendix is a guide to one simple method of doing database backups for your website. If your Drupal website is hosted by a hosting provider they may have database backups built in to their setup. Even if these backups are handled automatically it is a good practice to make sure you know when and how they are backed up as well as making some backups that will serve you if your provider should be unable to recover your database or for moving your site from one server to another. The following web pages offer additional guidance on other methodologies for backing up your database. • http://drupal.org/node/22281 • http://dev.mysql.com/doc/refman/5.0/en/backup.html Additionally there are commercial and open source projects which may assist in backing up your database.

Appendix D - Acquia Network Connector Modules
Acquia Drupal includes two special modules that allow your site to exchange information with the Acquia Network - the Acquia Network Connector modules. • Acquia Agent: Enables secure communication between your Drupal website and the Acquia Network to monitor up time, check for updates, and collect site information. • Acquia Site Profile: Automates the collection of site information - operating system, database, webserver, and PHP versions, installed modules, and site modifications - to speed support communication and issue resolution. These Acquia Network Connector Modules can also connect Drupal 6.x subscriber websites to the Acquia Network. They can be downloaded from their project page at http://drupal.org/project/acquia_connector. For instructions on how to install these modules see the Connecting a Drupal 6.x Website to the Acquia Network chapter of this guide. Once the connector modules are installed, visit your site's Administer > Site configuration > Acquia Drupal settings page (?q=admin/settings/acquia-agent). If your subscription identifier and subscription key are correct, your site will be able to communicate with the Acquia Network.

Appendix E - Acquia Drupal Modules
Acquia has tested the following contributed modules. These, plus the Drupal 6.x core modules make up the Acquia Drupal distribution: Name Acquia Agent Acquia Site Information Description Allows Drupal to securely communicate with the Acquia Network, and checks for updates to Acquia Drupal. Sends a site profile including platform, module, and theme information to the Acquia Network to facilitate support and update notifications.

Administration Menu

129

Appendices

Name

Description Renders a menu tree for administrative purposes as a dropdown menu at the top of the window.

Advanced Help

Provides context sensitive online help for modules. The Views module relies on this module for its help messages. Activate Advanced Help for the best Views module support within Acquia Drupal. Displays any content with any Views date field - including CCK date fields, node created or updated dates, and so on - in various calendar formats, including year, month, and day views. Allows administrators to define new content types. Sends e-mails notifications to site users about new comments on pages where they have commented and to administrators about new comments on a website. Provides a flexible date/time field type for the CCK Content module. Provides an "upload" CCK field type as an alternative to the core Upload module. Adds an attractive, configurable graphic voting widget to nodes. Adds Google Analytics javascript tracking code to all your site's pages. Allows uploading, resizing and viewing of images. An image manipulation API for other modules (Imagecache module is dependent on Image API). Allows users to upload and insert inline images into posts. Powerful image processing module that can generate preset manipulations of any image on the fly and store them in the database for later use (Requires Image API to be installed and enabled). Provides a CCK image upload filed. A CCK content field that lets you add a complete link to your content types; including URL, title, and an optional target attribute. The Lightbox2 module is a module that implements a simple, unobtrusive script to overlay images on the current browser page. Allows content to be submitted using Markdown, a simple plain-text syntax that is transformed into valid XHTML. Protects against comment and contact form spam. Provides a mechanism for modules to automatically generate aliases for the content they manage. Generates printer-friendly and PDF versions of pages, and "send to a friend" email functionality.

Calendar

Content Construction Kit (CCK) Comment Notify)

Date (CCK) Filefield Fivestar Voting Google Analytics Image Image API Image Assist (aka "img_assist") Imagecache

Imagefield Link (CCK)

Lightbox2

Markdown Filter Mollom Pathauto Printer, e-mail and PDF versions

130

Appendices

Name Tagadelic Token Views

Description Creates "tag clouds" of various terms and vocabularies. Provides a shared API for replacement of textual placeholders with actual data. Views is a set of modules that facilitate creating custom selections of site content and offers several choices of how it can be displayed. Provides a shared voting API for other modules. Can create questionnaires; contact, request, and registration forms; surveys; polls; or a front end for issue tracking systems.

Voting API Webform

Appendix F - PHP Settings + Extensions
PHP Version If using Red Hat Enterprise Linux 5, please read this important information before continuing. PHP Extensions Recommended PHP extensions for running Acquia Drupal include: • --with-mysql • --with-pxs2 • --with-gd • --with-jpeg-dir • --with-png-dir • --enable-gd-native-ttf • --enable-mbstring • --with-curl • --enable-sockets • --with-pgsql PHP Settings The following PHP settings are recommended: • memory_limit = 32M (32M minimum required to run Acquia Drupal, 64M recommended for certain operations) • max_execution_time = 30 • file_uploads = On (Activate this if upload functionality is needed on your site.) PHP 5.2.x

131

Appendices

PHP Version If using Red Hat Enterprise Linux 5, please read this important information before continuing.

PHP 5.2.x

• upload_max_filesize = 32M (This sets the maximum size of uploaded files - you may need to adjust this if you plan on uploading large media files to your site.) • post_max_size = 32M

132

Appendices

PHP Version If using Red Hat Enterprise Linux 5, please read this important information before continuing.

PHP 5.2.x

(Set this in parallel with the upload_max_filesize setting - they should be equal.)

Setting the PHP memory limit to 32M or greater Acquia Drupal requires the PHP memory limit to be 32M or greater - anything lower can result in PHP hanging and effectively ceasing to function. The result of this is a white screen appearing in your browser (also affectionately known as the "White Screen of Death" or WSOD) and an unusable site. On many servers, the memory limit value is only 8M (or more recently sometimes 16M) by default. Increasing this value is a very common task when installing Acquia Drupal. While Acquia Drupal will attempt to warn you if your memory limit is too low, this is not always possible. To be safe, check the memory limit yourself (especially when upgrading to Acquia Drupal from an existing Drupal installation). Here are two ways to find out what your current memory limit is: 1. Look in php.ini. PHP's configuration file is called php.ini. If you have access to this file, search it for the line that specifies the memory limit: memory_limit = 32M If it is less than 32M, change it to 32M or greater (if you plan on installing a lot more modules). After changing php.ini you must restart your web server for the changes to take effect. 2. Create a phpinfo.php file. In your web server's document root, create a file called phpinfo.php with these contents: <?php phpinfo(); ?>

Since this file is in the document root on your web server, you can address it in a browser: http:// example.com/phpinfo.php. The information printed out will tell you how PHP is configured, including the memory limit. For security reasons, it is recommended that you delete this file after you are done with it (since it exposes a lot of information about your server setup). Once you have installed Acquia Drupal, you can access this information again at Administer > Reports > Status report (?q=admin/reports/status/php), by clicking on the link in the "PHP" section of that page. If you have determined that the memory limit is too low, you must either edit php.ini and change the value to something higher, or ask your hosting provider to do so for you. The php.ini configuration file is found in various places on different systems. Once php.ini has been edited, the web server must be restarted in order for the changes to take place. 133

Appendices

For Red Hat Enterprise Linux 5: PHP 5.1.
Acquia recommends using PHP 5.2.x to achieve the fullest results out of your Acquia Drupal website. Red Hat Enterprise Linux 5 is distributed with PHP 5.1 and some issues exist between some Drupal modules and earlier PHP versions. Specifically, on PHP versions prior to 5.2, the Date module is unable to use native date handling. For PHP 4, PHP 5.0.x, and PHP 5.1.x, enabling the Date PHP 4 module provides substitutions for some missing date handling. This means core date handling is available, but some issues do exist such as Daylight Savings time and time zones not properly being adjusted. Be warned that some date handling functions may not work as expected when using PHP 5.1.

Appendix G - Drupal Paths and Clean URLs
Note
Apache is the most commonly used web server for implementing Acquia Drupal. This section includes several references to the way things work with Drupal running on an Apache web server and Apachespecific configuration files. However, the same principles apply to all web servers on which Acquia Drupal is supported, differing only in their specific implementations.

Requesting Drupal Pages
Drupal processes most content requests by passing them to the script located at index.php. It sends a query in the request to the server: "?q=something". In most cases, the something is a piece of content such as "node/345" or a request for an administrative page such as "admin/build/modules". The following list shows information requested from Drupal and the request sent to the web server: What is desired from Drupal node/312 admin user/1 What is requested from the web server index.php?q=node/312 index.php?q=admin index.php?user/1

Clean URLs
Early search engines gave lower search rankings to sites that used the "?q=" or similar style URLs, considering dynamically generated content inferior to static pages. Although the major search engines generally aren't as picky as they once were, for human users http://example.com/about-us is easier to read and remember than http://example.com/ index.php?q=about-us or similar. If available, Acquia Drupal uses the Apache mod_rewrite module to handle requests and convert them from 'node/ 312' style requests to 'index.php?q=node/312'. During installation, Acquia Drupal runs a test to see if your server is configured to use mod_rewrite and the .htaccess file. If all is well, the installer activates Drupal's "Clean URLs" feature.

.htaccess
By default Drupal's Clean URL system is driven by a file named .htaccess. It file contains a set of rules that tell Apache how to handle requests. The important lines for Clean URLs are near the end of the file.

134

Appendices

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

These three lines tell the Apache web server that if a request comes in for a file or a directory that does not exist in the filesystem then the server should take whatever was requested and put it after the index.php?q= request that is passed to Drupal. This is handled entirely inside the web server and website visitors never see the index.php?q= version of the request.

135

Appendix A. Glossary Glossary
?
?q= ?q= is Drupal's server request query string and is actually short for index.php?q=. It is removed from site URLs by activating Drupal's Clean URLs feature. To enter the site URLs presented in this documentation, simply copy and paste these paths onto the base URL of your site. For example, to go to the administrative menu (?q=admin), paste ?q=admin onto http://example.com in your browser's address bar: http://example.com/?q=admin. Note: With clean URLs activated, all paths given will work with or without the leading ?q=, but without clean URLs it is essential to include it.

A
AMP API AMP: Stands for Apache + MySQL + PHP; three open source software applications that are often used together to host web sites. An application programming interface (API) is a set of functions, procedures or classes that an operating system, library or service provides to support requests made by computer programs. [http://en.wikipedia.org/wiki/API] Access denied is the message that Acquia Drupal returns when a user attempts to view a page or take an action that they do not have proper permissions for. The message that Acquia Drupal returns can be customized by setting the Default 403 error page. The Acquia Network is the the home of Acquia Drupal and Acquia's subscription based network services. The site is found at http://acquia.com/network. The Acquia Network is where you can buy and manage subscriptions, check the status of your Acquia Drupal websites, search for solutions in the support forums, and request various additional forms of technical support (dependent on your subscription level). Acquia Subscription An Acquia Subscription entitles you to various Acquia Network- and supportservices. The specific services and support options available to you depend on the level of your subscription. A public key and the unique identifier of your Acquia subscription and website. Copy this from the Subscriptions tab on the Acquia Network (login to the network, navigate to http://acquia.com/network/dashboard/subscription and click on the name of the subscription). To register your site with the Acquia Network, enter this key into your Acquia Drupal site at Administer > Site configuration > Acquia settings (?q=/admin/ settings/acquia-agent).

Access denied

Acquia Network

Acquia Subscription Identifier

136

Glossary

Acquia Subscription Key

A private key paired to your site's Acquia subscription identifier. Copy this from the Subscriptions tab on the Acquia Network (login to the network, navigate to http://acquia.com/network/dashboard/subscription and click on the name of the subscription). To register your site with the Acquia Network, enter this key into your Acquia Drupal site at Administer > Site configuration > Acquia settings (?q=/admin/ settings/acquia-agent).

Acquia settings

Acquia Drupal must be configured to access Acquia Network services. The configuration settings can be found at Administer > Site configuration > Acquia settings (?q=admin/settings/acquia-agent): Acquia subscription identifier A public key and the unique identifier of your Acquia subscription and website. Copy this from the Subscriptions tab on the Acquia Network (login to the network, navigate to http://acquia.com/ network/dashboard/subscription and click on the name of the subscription). A private key paired to your site's public key. Copy this from your subscription page as above.

Acquia subscription key

Action

An action is a task that Acquia Drupal can carry out, such as sending emails, changing the state of a node, blocking a user account, displaying a message, and so on. Actions are particularly useful when used in conjunction with triggers to create customized workflows. Active user accounts on a site can be logged into and used to access your site. Blocked user accounts exist within the site, but cannot be used. Provides context sensitive online help for modules. The Views module relies on this module for its help messages. Activate Advanced Help for the best Views module support within Acquia Drupal. The Administer menu-link is visible to Acquia Drupal users who have the access administration pages permission. It leads to the Drupal path example.com/admin (?q=admin) where further links to site building, configuration and content management areas can be found.

Active Adanced Help Module

Administer

Administration theme

Acquia Drupal can be configured to display separate front-end (public) and backend (administration area) themes. Visual differentiation between the front- and back-end can be useful for site editors, but the most common reason is strictly practical: A narrow, fixed-width theme won't be able to display the wide tables and numerous form elements of the Acquia Drupal back-end well. Setting a full-width theme like Garland as your administration theme can save a lot of headaches in this regard. The administration theme can be specified at Administer > Site configuration > Administration theme (?q=admin/settings/admin).

Aggregator

A core Acquia Drupal module that can be used to parse RSS feeds, sort them into catagories and display the feed items. An example of the Aggregator module in action can be seen at Planet Drupal (http://drupal.org/planet).

137

Glossary

Anonymous

An anonymous website visitor is one who views the site without being logged in to it. Anonymous users all share the user id 0 (zero).

Application Layer

The application layer is the Drupal code that handles the features and functionality of a site. Other code layers are the database layer, that stores the site's data, and the theme layer, that controls the presentation of content. If a website user has logged in they are considered Authenticated. Authenticated users: • are able to visit their account or profile page, My account (?q=user) • each have a unique user id that is greater than zero

Authenticated

B
Block A block is a configurable and themable container for static or dynamic content (generated by another module, for example) that can that can be assigned to any region in a site theme. Blocks typically appear in the sidebars, header, or footer of a site. For example, the Navigation menu that is present when one first logs on to a Drupal site is contained within a block. Other blocks include the Recent comments block and the Who's new block. Administrators can add new custom blocks, containing static content or PHP code. Blocks can be created, enabled, disabled, moved to different regions and configured from the Blocks page, Administer > Site building > Block (?q=admin/ build/block). Block region A block region is an area defined by the theme into which blocks can be placed. Default Drupal themes come with five block regions defined: • Left sidebar • Right sidebar • Content • Header • Footer Themes can add more regions if they are needed. See Blocks, content and their regions [http://drupal.org/node/171224] on Drupal.org. Blog The term "blog" appeared in the late 1990s as a contraction of the term "weblog" that had been coined shortly beforehand. A blog is a form of web publishing that typically involves displaying one author's content as a stream of entries, usually in reverse chronological order. See http://en.wikipedia.org/wiki/Blog The Drupal blog module provides a "blog" content type to facilitate blogging by multiple authors on a Drupal site. 138

Glossary

Blog API

A core Drupal module that enables the submission of node content from remote blogging clients using the XML-RPC protocol. The Blog API supports integration with the Taxonomy module so that tags or categories can be applied to content submitted using the Blog API. 1. A core Drupal module that organizes node content into ordered, hierarchical structures called books. 2. A collection of hierarchically organized nodes that relate to each other as parents/children and siblings connected by the the Book module's navigation structure - each book node displays links the previous, next and parent nodes within its book hierarchy. 3. The top node in any book hierarchy is also referred to as a book. 4. If the Menu module is enabled, the site administrator can enable the Book menu item, providing a page (?q=book) listing all of the books on a site. Any content type can be included in books. The page at Administer > Content management > Books (?q=admin/content/book) allows the administrator to configure which content types are allowed to be included in books, and the default content type for creating new book pages. The node view of content types that allowed to be used in books, will have an Outline tab that can be used to add nodes to books.

Book

C
CCK Clean URLs see: Content Construction Kit. Internally, all Drupal URLs are represented as a base URL [http://example.com] plus a q parameter that equals the Drupal path (?q=node/42). Together these parts look like this: [http://example.com/?q=node/42]. Clean URLs are a way of simplifying the external representation of URLs. The example URL above rendered as a clean URL would [http://example.com/node/ 42]. These URLs are deemed to be easier to read for humans and early search engines often ignored URLs with parameters (?q=) as being dynamically generated and thus not index-worthy. This is no longer the case, but current search-engineoptimization best-practices dictate that clean URLs be used to guarantee the best possible search engine rankings. Clean URLs on Apache servers are dependent on its mod_rewrite module and the .htaccess file that is delivered with Drupal. On Windows IIS servers, it is also possible to enable clean URL functionality. See this discussion on Drupal.org [http://drupal.org/node/3854] for more information. The status of Clean URLs on your site can be checked under Administer > Site configuration > Clean URLs (?q=admin/settings/clean-urls). Comment A Comment is a unit of content, consisting of a subject and a comment, that can be attached to a node, allowing site users to participate in discussions. Comments typically appear below the node they are attached to. 139

Glossary

Contact form

The contact module activates contact forms that let a user send an email to a site administrator or other user without exposing the recipient's email address. There are two types of contact forms: • The site-wide contact form can be configured by a site administrator to provide multiple contact categories to send emails to one or more email addresses. • The personal contact form contacts a specific, registered site user. These forms appear as tabs on each user's profile page. The site-wide contact form can be set up at Administer > Site building > Contact form (?q=admin/build/contact). The administrator must specify at least one contact category with at least one contact email address. A menu item for the contact page can be activated at Administer > Site building > Menus > Navigation (?q=admin/build/menu-customize/navigation). Users must have a role with the access site-wide contact form permission to use the site-wide forms. Personal contact forms are turned off by default. If personal contact forms are enabled by a site administrator, each user can enable their personal contact forms by checking the Personal contact form checkbox on their user profile.

Content

Content is the information in a Drupal website that is presented to its users. Information stored in a Drupal website that determines how Drupal functions (and not, per se, presented to users) is referred to as configuration information, not content. Drupal's fundamental unit of content is the node, but Drupal also has content that is not contained in nodes: comments, custom blocks and feed items are also content. Content is also the name of the central module of the CCK project: http:// drupal.org/project/cck.

Content Construction Kit

The Content Construction Kit - aka CCK - is a set of modules that extend content types by adding new fields and field-types to content types. This allows them to contain a wide variety of information, beyond the standard title and body. CCK fields are strongly typed; they have a known underlying data storage form like integer, text, or date. Fields can also be compound data types, such as a file field that represents an uploaded file and its metadata. Fields can have different widgets (radio buttons, text fields, etc.) to collect the input data. Field formatters determine how fields are displayed in the node view.

Content type

Drupal nodes are always of a given content type, whether one of the standard content types provided by Drupal (Page, Story), generated by a module (Blog, Book, Forum and many others define their own content types), or a custom type created for a specific purpose by a site administrator. Any given content type is created with a function in mind. An event content type needs a starting time, a finishing time, dates and a location. An article content type might only need a headline and a body text. They would also appear in different publishing contexts and are sortable by different criteria. Site administrators create and define custom content types at Administer > Content management > Content types > Add content type (?q=admin/content/types/add). 140

Glossary

The properties that affect content types' behavior are configured individually for each content type. Select a content type from the list at Administer > Content management > Content types (?q=admin/content/types), to edit its properties. For example, the published flag that says whether a node will be published immediately upon creation or left unpublished until later can be set for each content type. If the Comment module is enabled, comments can be set to Disabled, Read only, or Read/Write for each content type. Cron Drupal performs periodic self maintenance tasks, including caching operations, updating its search database (if activated), and so on. It requires a signal, called a cron signal - from "chronos", Greek for "time" - at regular intervals to initiate these tasks.

D
Database Layer The database layer is the Drupal code that stores the site's data. Other layers are the application layer that handles the features and functionality of a site, and the theme layer, that controls the presentation of content. 403 is the HTTP response header for access denied. Acquia Drupal presents users with an access denied page when they receive a 403 header because their permissions are not valid for any given URL they attempt to access. Any page in an Acquia Drupal site can be displayed as the access denied page. The Default 403 page and the settings to change which 403 page is displayed can be found at Administer Site > configuration > Error reporting (?q=admin/settings/ error-reporting). Default 404 404 is the HTTP response header for resource not found. Acquia Drupal presents users with an resource not found page when they receive a 404 header. Any page in an Acquia Drupal site can be displayed as the resource not found page. The Default 404 page and the settings to change which 404 page is displayed can be found at Administer Site > configuration > Error reporting (?q=admin/ settings/error-reporting). Dependency Certain modules cannot function without APIs, database structures, or other functionality provided by other modules. They are said to be "dependent" on the module(s) that make it possible for them to work. For example, all of the various CCK field modules cannot function if the CCK base-module, "Content" is not activated. Fivestar Voting module cannot function without the Voting API module in place and working. Document root Download method The location in a server's file system that contains a website's code base. These files are addressed when serving web pages to a browser. Acquia Drupal offers a choice of two download method configurations at Administer > Site configuration > File system (?q=admin/settings/file-system). • Public: Files stored on an Acquia Drupal website can be downloaded directly from the web server. • Private: PHP code controls access to files and whether they can be downloaded.

Default 403

141

Glossary

Drupal

Drupal is both the name of the free and open source software project that produces the Drupal social publishing system and the system itself. See Drupal's central website and repository - http://drupal.org - for more. The Drupal social publishing system software is PHP-based, includes some Javascript and SQL elements and must be run on a PHP-enabled web server.

Drupal.org

The main website of the Drupal free and open source social publishing system and its community. It contains thousands of pages of articles, documentation and helpful information regarding the Drupal project as well as contributed modules and themes for Drupal.

F
FTP The FTP - File Transfer Protocol - is a network protocol used to transfer data from one computer to another through TCP networks such as the Internet. FTP software (aka FTP clients) can connect to FTP servers and manipulate files on them. There are many FTP clients and server software packages for an enormous number of operating systems, making it a quasi-universal, operatingsystem independent file-transfer solution. Feed aggregator The feed aggregator is a listing of content, managed and created by the aggregator module by reading and sorting RSS and Atom feeds. A filter is a tool for processing Drupal text content before it is displayed as output. For example, the HTML filter is responsible for filtering out unwanted HTML tags. Ordered sets of filters are called input formats. Filters and input formats can be configured at Administer > Site configuration > Input formats (?q=admin/settings/ filters). Settings for individual filters within an input format can be specified at Administer > Site configuration > Input formats > configure > edit (?q=admin/settings/ filters/1/configure). Since an input format can have more than one filter, and the order of filters is important, filter order can be rearranged within an input format at Administer > Site configuration > Input formats > configure > Rearrange (?q=admin/settings/filters/order) Enabling a module that influences the rendering of text output can add filters and those filters might require configuration. Forum Forum is a core Drupal module that organizes nodes into hierarchical structures, presenting them as forum discussions. The organization is based on taxonomy vocabularies: a given discussion forum, as managed by the forum module, is a term within a vocabulary. All nodes created within a specific forum are tagged with the forum's taxonomy term and appear in the forum listing. The front page of an Acquia Drupal site is the page displayed its base URL, http://example.com. The default Drupal front page path is ?q=node. On a freshly installed site, this is the "river of news" or "blog style" front page that Acquia Drupal presents when content is added.

Filter

Front page

142

Glossary

Any page within a Drupal site can be set to be the front page at Administer > Site configuration> Site information (?q=admin/settings/site-information) in the default front page field.

G
GPL Short for the Gnu General Public License. This is the license under which Acquia Drupal is released. The license can be viewed online at http://tinyurl.com/58rwsz. More information is available at http://www.gnu.org/copyleft/gpl.html. The GPL license that governs Acquia Drupal can be found here: http:// cvs.drupal.org/viewvc.py/drupal/drupal/LICENSE.txt?revision=1.5 Garland Garland is the default, core theme in Drupal 5 and 6. It is a tableless, recolorable, multi-column, fluid-width theme. It comes with a fixed-width sub-theme called Minelli.

H
HTML Filter The HTML filter limits the set of HTML tags that can be used in text content. It is important to filter user-generated content in this way to protect your site from certain malicious attacks and unskilled HTML authors. The HTML corrector is an input filter that corrects faulty and chopped off HTML in text content. If the HTML tags are incorrectly nested or unclosed, this filter fixes the problems, guaranteeing well-formed HTML. The Help module is a framework for providing users with instructions within Drupal. It collects help texts from all help-enabled modules and makes the texts available at various places on a Drupal site. The main help texts are located at Administer > Help (?q=admin/help). The .htaccess file is part of the Drupal download and serves several important functions. It is responsible for rewriting URLs so that clean URLs function properly. It also protects critical files that reside in the document root directory from being accessed or read from the web. Note: FTP & .htaccess - Many FTP clients ignore files that begin with a dot and it is a common problem when installing Drupal using an FTP client that the .htaccess file is missing.

HTML corrector

Help module

Htaccess

I
IS ISR Image gallery "Interim Support" release of Acquia Drupal. Short for "Interim Support Release" of Acquia Drupal. See the Long-Term and Interim Support Releases section for more information. Image Gallery module can group images together into galleries. It comes bundled with the Image module. You create and administer galleries on the Image galleries page at Administer > Content management > Image galleries (?q=admin/content/image).

143

Glossary

The Image Gallery module provides a menu item that links to an overview of available galleries. This menu item must be enabled on the menu administration page at Administer > Site building > Menus > Navigation (?q=build/menucustomize/navigation). Image toolkit An image toolkit is a PHP extension that allows Drupal to manipulate image files. Typical image manipulations include resizing, rotating, cropping, and applying masks or filters. The most common image toolkit is the GD2 library, which is a standard part of the PHP 5 distribution. Image toolkits are pluggable components of Drupal. Site administrators can choose which toolkit to use from the Administer > Site configuration >Image toolkit (?q=admin/settings/image-toolkit) page. Input format An input format is a collection of filters that get applied to textual output during rendering. Contrary to the name, text in Drupal is generally not filtered upon input, but is rather stored exactly as entered into the database. Filtering is done whenever text is being displayed or output. An installation profile is a Drupal extension used to customize and extend the installation. Installation profiles can request additional information during the installation, install modules and themes, set configurations, and add data to the database. Acquia Drupal comes with an installation profile that allows your site to communicate with the Acquia Network. Further Drupal installation profiles are available from the installation profiles page on Drupal.org: http://drupal.org/ project/installation+profiles

Installation profile

L
LAMP LAMP: Stands for "Linux", "Apache", "MySQL" and "PHP". This is a combination of open source software applications that comes bundled with most current Linux distributions and is often used to host web sites. "Long Term Support" release of Acquia Drupal. Short for "Long Term Support Release" of Acquia Drupal. See the Long-Term and Interim Support Releases section for more information. A human language, such as English, German, or Japanese. The Drupal user interface can be translated into other human languages, and Drupal nodes can contain translated content from nodes in different languages. A Drupal site can offer both its content and its interface in one or more human languages. Interface translation depends on the Locale module, and content translation depends on the Content translation module. Since line break characters are not rendered by HTML, the line break converter input filter detects them in text content and replaces them with either br or p tags. An alias for the local loopback IP address 127.0.0.1. Typing "localhost" into your browser's navigation bar requests a web page from your computer's web server.

LTS LTSR Language

Line break converter Localhost

M
MAMP AMP stands for "Apache", "MySQL" and "PHP" - three open source software applications that are often used together to host web sites.

144

Glossary

MAMP is a simple to use AMP package for Apple Macintosh computers (hence "M"AMP). It is distributed by living-e AG at: [www.mamp.info] Menu A menu is a collection of links, displayed as part of a website's navigation. Drupal menus are generated by the Menu module. Drupal comes with three default menus: • Navigation • Primary links • Secondary links Menus are administered at Administer > Site building > Menus (?q=admin/build/ menu). Menus are typically displayed in blocks. Every newly created menu also makes a new block available, which can be enabled and assigned to a block region at on the block configuration page at Administer > Site Building > Blocks (?q=admin/ build/block). Minelli Module Minelli is a fixed-width sub-theme of the Garland core theme. A module is a self-contained functional component of the Drupal system - a collection of code that enables specific functionality. At the file level, it is all inside it's own directory and contains a minimum of two files: a .module file, containing PHP functions, and a .info file, which contains information necessary for Drupal to find the module. It may also include CSS files, JavaScript files, and others. Drupal comes with a set of core modules. Some of these are required for it to run at all: Block, Filter, Node, System, and User. Others extend Drupal's basic functionality: Color, Upload, Forum, etc. Contributed modules add still more functionality to your site, but do not come with the standard Drupal download. You can choose from thousands of modules for Drupal in the Drupal contributed modules repository at http://drupal.org/ project/modules. Acquia Drupal comes with a suite of contributed modules tested for security, stability and compatibility, including Path, Views, Image and many others. See the Acquia Drupal modules page [http://acquia.com/products-services/acquia-drupalmodules] on the Acquia Network for more information and a full list of modules.

N
Node Drupal's fundamental unit of content is the node. Nodes have Title and Body fields by default, but can be extended using the Content Construction Kit (CCK). Each node is an instance of a specific content type. This content type and its settings determine what fields the node has, what its default publishing states are, whether comments can be attached to it, and so on. Every node has a unique integer identifier (its nid), and a unique path to view it. For example, the fifth node created on a Drupal site has a URL of http://example.com/

145

Glossary

node/5. Given the right site configuration, nodes can also be assigned path aliases to give them better human-readable names like http://example.com/a-great-article.

O
OpenID 1. An identity and authentication service for logging into web sites using a single identification. For more information, see: http://openid.net/ 2. A Drupal module to allow OpenID authentication on your Drupal site.

P
PHP PHP evaluator Parent PHP is the primary computer programming language in which Drupal is written. The PHP evaluator is an input filter that evaluates text as PHP code. Terms in a taxonomy vocabulary form a parent-child relationship when one term (the parent) represents a broad concept or category and one or more sub-terms (the children) represent specific examples of the parent concept. For example, if vehicle is the parent term, its children could include car, boat, and airplane. The Path to any given node or page in a Drupal website is how the page's URL is constructed. A theoretical example: http://example.com/this/is/the/path/to/a/page All nodes are identified by a unique integer, the node ID or $nid. The internal Drupal path to node 5 is node/5. Paths to nodes can be given aliases. No matter how an incoming page request is formulated, Drupal boils it down to its internal path to produce the requested node. This happens in a multi-step process. Requests are rewritten by the rules in the .htaccess file. For example: • A request for http://example.com/node/5 is rewritten as http://example.com/ ?q=node/5 and Drupal extracts the value node/5 from the q-parameter and delivers node 5. • If the path to node 5 has been aliased to be about-us, http://example.com/aboutus gets rewritten as http://example.com/?q=about-us. If Drupal can match the qparameter about-us to an entry in its alias records, it then produces the internal path to the node (node/5 in this case) and delivers the requested page. • Other, more advanced, dynamic elements of Drupal websites are generated and delivered when specific paths are requested. These include panel pages from the Panels module, image variants from the Imagecache module and views from the Views module. Path alias URL aliases, also known as "path aliases", are alternate names for specific Drupal paths. They are made possible by the Path module. If the URL http://example.com/node/12 is your site's privacy policy, it would make sense to give it the path alias "privacy-statement". Although its internal path is ?q=node/12, Drupal recognizes its URL as http://example.com/privacystatement and also generates a menu system entry based on the assigned alias. You can administer URL aliases at Administer > Site building > URL aliases (?q=admin/build/path). You can manage additional aliases for any node on its node editing form.

Path

146

Glossary

Permission

Permissions grant access to module functionality. Granting a specific permission to a user role lets any user with that role use that aspect of the website. For example, activating the Comment module creates the following permissions: • access comments (you may leave comment open for all visitors to see, or you could choose to block site content from anonymous users, for example) • administer comments (only give this permission to site administrators and other trusted user roles) • post comments (give this to user roles you wish contribute to the site) • post comments without approval (give this to trusted site users) Permissions are administered at Administer > User management > Permissions (?q=admin/user/permissions). A user assigned more than one role has the cumulative permissions of all roles assigned to them. User 1, the super-user, always has access to all aspects of a Drupal site without being assigned any other role.

Post

Post is a synonym for node in Drupal. Post settings, at Administer > Content management > Categories (?q=admin/ content/node-settings) is the page in the administrative interface where certain attributes of node display can be configured, including: • Number of posts on main page - the maximum number of posts to display per page on overview pages like the default main page (?q=node). • Length of trimmed posts - The maximum number of characters used in the trimmed, teaser version of a post, used on the main page and in XML feeds. To disable teasers, set to 'Unlimited'. Note that this setting affects only new or updated content and does not affect existing teasers. • Preview post - Force users to preview their posts before submitting.

Profile Promoted

See Install profile and User profile. The promoted flag can be set under publishing options on the form for adding or editing a node. In the default Drupal configuration, this determines whether the node will be listed in the default front page node-listing (?q=node). Content types can be individually configured so that new nodes will be promoted (or not) by default.

R
RSS RSS is a set of formats for syndicating web site content so that other RSS-capable web sites and programs can subscribe to it. Drupal produces RSS feeds of the content on your site, allowing others to subscribe and get automatic notification of new content. This is considered a good practice for building your site's readership. Drupal produces a number of RSS feeds by default. For example, every Acquia Drupal site has an RSS feed of the content promoted to the front page at http:// example.com/rss.xml. There are also default RSS feeds for taxonomy terms.

147

Glossary

For more details on what RSS is and how it works, see the RSS entry at Wikipedia: http://en.wikipedia.org/wiki/RSS_(file_format). Role A role is a functional description that can be assigned to a group of users. Site administrators can create any role names they need, such as editor, community user, webmaster and so on. Roles can be managed at Administer > User management > Roles (?q=admin/user/roles). Permissions to use certain functionality and access certain areas of a Drupal website can be assigned by role. Role-based permissions are controlled at Administer > User management > Permissions (?q=admin/user/permissions). Note: a user has the cumulative permissions of all roles assigned to them. Site administrators can assign specific (and multiple) roles to users on the user editing form from any user's profile. There are two default roles in any Drupal site: anonymous and authenticated. A user always has one of these roles, depending on whether they are logged in or not.

S
SEO SSH Sub-theme Search Engine Optimization. Website building techniques designed to give a site the best possible ranking in search engine results. A network protocol that allows data to be exchanged using a secure channel between two networked devices. [http://en.wikipedia.org/wiki/Secure_Shell] A sub-theme, also known as a "CSS-only theme", is a theme-variation. Creating a sub-theme is as easy as adding a directory containing a style.css file to an existing theme. Drupal automatically detects this and makes the new theme (named after the new directory) available on the theme overview page at Administer > Site building > Themes (?q=admin/build/themes).

T
TAC Taxonomy Technical Assistance Center Taxonomy is a module that manages vocabularies of categories that can be used to organize and classify site content. Nodes on a site can be given semantic meanings by assigning them taxonomy terms. For example, if a site has a taxonomy vocabulary named Mood containing the terms happy, sad, and grumpy, a node could be associated with sad and grumpy. That node is then discoverable in any search of nodes associated with either or both of those terms. Term A term is an item in a taxonomy vocabulary. Terms can be associated with nodes, giving them semantic meaning. This helps in the discovery and organization of site content. Terms can be structured in various ways inside a vocabulary. They can be simple lists or hierarchical structures with multiple levels of parent/child relationships between terms.

148

Glossary

Theme

A theme is both how a Drupal site looks and the set of files that create that look by defining Drupal's HTML output, and providing CSS styling. You can administer themes from the Administer > Site building > Themes (?q=admin/build/themes) page.

Theme Layer

The theme layer is the Drupal code that controls the presentation of content. Other code layers are the database layer, that stores the site's data, and the application layer, that handles the features and functionality of a site. A theme engine is an interface between the Drupal application layer and individual themes that allows themes to be written in various templating languages like PHPTemplate (Drupal's default templating language), PHPTAL [http:// drupal.org/project/phptal], or Smarty [http://drupal.org/project/smarty]. Theming is creating the visual presentation of a Drupal website using PHP and CSS. A trigger is a system event in Drupal, such as a user logging in or a node getting published. Triggers are useful in conjunction with actions, which can be configured to fire in response to triggers. You can use the combination of actions and triggers to create customized workflows. You can see a list of available triggers at Administer > Site building > Triggers (?q=admin/build/trigger).

Theme engine

Theming Trigger

U
User The term user can refer to either a person using a website or their Drupal representation. Their Drupal representation falls under two categories: an authenticated user (a logged in user), or an anonymous user (not logged in). In Drupal, every anonymous user is treated the same and shares the user id 0 (zero). User 1 - the user whose profile path is http://example.com/user/1 - is the first user created on any Drupal site, always has all administrative privileges, and there are certain tasks that only User 1 can carry out. A user profile is a unit of content that is attached to an individual user. When profiles are enabled, each user is able to share information about themselves with other users of the site by filling in various fields or categories in their user profile. The administrator can create, group, rearrange, and assign various levels of privacy to profile fields. Profiles are not nodes, even though they have much in common with them; and profile fields are separate from node fields and cannot be created by the Content Construction Kit (CCK). The visible name assigned to a user account. Users with appropriate permissions who want to change their own username permission can change it on the Edit tab on the My account (?q=user) page.

User 1

User profile

Username

V
Views Vocabulary Views is a set of modules that facilitate creating custom selections of site content and offers several choices of how it can be displayed. A set of terms managed by the Taxonomy module. A vocabulary represents a group of like items or concepts.

149

Glossary

W
WAMP AMP stands for "Apache", "MySQL" and "PHP" - three open source software applications that are often used together to host web sites. WAMP is a simple to use AMP package for Windows computers. It is distributed by WampServer at: http://www.wampserver.com/en WSOD Wiki When a Drupal installation encounters a fatal PHP error, it typically produces a blank, white screen, the "WSOD" or "White Screen of Death". A wiki is a web site where users can jointly edit a document or group of documents.

X
XAMPP AMP stands for "Apache", "MySQL" and "PHP" - three open source software applications that are often used together to host web sites. XAMPP is a simple to use AMP package for Windows computers. It is distributed by Apache Friends at: http://www.apachefriends.org XML-RPC A protocol for making remote function calls using HTTP and XML.

150

List of Figures
3.1. Sign up link ................................................................................................................................ 5 3.2. Site Selector ................................................................................................................................ 5 5.1. phpMyAdmin Databases .............................................................................................................. 11 5.2. phpMyAdmin New Database ........................................................................................................ 12 5.3. phpMyAdmin Privileges .............................................................................................................. 13 5.4. phpMyAdmin new user ............................................................................................................... 13 5.5. phpMyAdmin Go ........................................................................................................................ 14 5.6. phpMyAdmin Success! ................................................................................................................ 14 5.7. phpMyAdmin Privileges .............................................................................................................. 15 5.8. phpMyAdmin Grant Privileges ...................................................................................................... 15 5.9. Transfer to Server ....................................................................................................................... 17 5.10. Database Configuration .............................................................................................................. 18 5.11. Activate Acquia Modules ........................................................................................................... 21 5.12. Activate Administration Menu Module ......................................................................................... 22 5.13. Administration Menu Open ......................................................................................................... 22 6.1. Activate Acquia Modules ............................................................................................................. 34 6.2. Activate Administration Menu Module ........................................................................................... 35 6.3. Administration Menu Open .......................................................................................................... 35 7.1. Update Status Module Settings ...................................................................................................... 43 7.2. Update Status ............................................................................................................................. 44 7.3. run the update script ................................................................................................................... 45 7.4. No update needed ....................................................................................................................... 45 7.5. Upload Location for new [docroot] Directory .................................................................................. 46 7.6. Delete from New Drupal 5.xx Directory ......................................................................................... 46 7.7. Available Updates Links .............................................................................................................. 54 7.8. Replace Module Directory ............................................................................................................ 56 7.9. Copy Link Location .................................................................................................................... 57 7.10. Up-to-date! .............................................................................................................................. 58 7.11. Deactivate Update Status Module ................................................................................................ 59 7.12. Uninstall Update Status Module .................................................................................................. 60 7.13. Change theme to Garland ........................................................................................................... 65 7.14. Disable non-core modules ........................................................................................................... 66 7.15. Copy download location ............................................................................................................. 70 7.16. Activate Acquia Modules ........................................................................................................... 75 7.17. Activate Administration Menu Module ......................................................................................... 76 7.18. Administration Menu Open ......................................................................................................... 76 7.19. Simple Views 1 node view ......................................................................................................... 79 7.20. You may need to adjust your view. .............................................................................................. 79 7.21. Details of raw imported view ...................................................................................................... 80 7.22. Views 1 view, Filters fieldset ...................................................................................................... 80 7.23. Views 1 view, Page fieldset ........................................................................................................ 81 7.24. Node is published. .................................................................................................................... 82 7.25. Node type is one of ... ............................................................................................................... 83 7.26. Select display type .................................................................................................................... 84 7.27. Add display type ....................................................................................................................... 84 7.28. Edit the view page tab ............................................................................................................... 85 7.29. View successfully imported and tweaked in Views 2 ....................................................................... 85 7.30. This Views 1 List View Cannot be Imported ................................................................................. 86 7.31. Views 1 List View Fields ........................................................................................................... 87 7.32. Views 1 List View Filters .......................................................................................................... 87 7.33. Add a new View 1 .................................................................................................................... 89

iii

Getting Started with Acquia Drupal

7.34. Views ..................................................................................................................................... 90 7.35. Add page display ...................................................................................................................... 90 7.36. URL to View ........................................................................................................................... 91 7.37. Add pager ................................................................................................................................ 92 7.38. Configure Node Title Field ......................................................................................................... 93 7.39. Published is equal to yes ............................................................................................................ 94 7.40. Node type is one of story ........................................................................................................... 95 7.41. Name Filter .............................................................................................................................. 96 7.42. User Equals Anonymous ............................................................................................................ 96 7.43. Open Format/Content Editor ....................................................................................................... 97 7.44. Change Input Format to PHP Code .............................................................................................. 98 7.45. View with Working PHP Header ................................................................................................. 99 7.46. Reorder Markdown Input Filter ................................................................................................... 99 8.1. Acquia Network Connector Modules installation location ................................................................. 100 8.2. Activate Acquia Modules ........................................................................................................... 101 9.1. Site URL ................................................................................................................................. 104 9.2. Cron Settings Page .................................................................................................................... 104 9.3. Heartbeat Status ........................................................................................................................ 106 9.4. Mollom Protection Configuration ................................................................................................. 107 11.1. Activate Print Module .............................................................................................................. 110 11.2. TCPDF Directory Location ....................................................................................................... 112 11.3. Print Module Content-Type Controls .......................................................................................... 113 11.4. Print User Permissions ............................................................................................................. 114 11.5. Activate Content Module .......................................................................................................... 115 11.6. Activate Filefield ..................................................................................................................... 116 11.7. Create Filefield Field ............................................................................................................... 116 11.8. GetID3 Module Directory ......................................................................................................... 117 11.9. GetID3 Library Directory ......................................................................................................... 117 11.10. Delete Demos Directory .......................................................................................................... 117 11.11. PhpMyAdmin - Select a database ............................................................................................. 119 11.12. PhpMyAdmin - Go to database export tab .................................................................................. 119 11.13. PhpMyAdmin - Export Settings 1 ............................................................................................. 120 11.14. PhpMyAdmin - Export, Save to Local Machine .......................................................................... 120 11.15. PhpMyAdmin - Create a New Database ..................................................................................... 121 11.16. PhpMyAdmin - New Database Import Tab ................................................................................. 121 11.17. Import Tables into New Database ............................................................................................. 122 11.18. Connect to MySQL ................................................................................................................ 126 11.19. Choose Database ................................................................................................................... 127 11.20. Advanced Options ................................................................................................................. 128

iv

Index
Symbols
?q=, 134

LTS, 6

M
MAMP, 10, 118 Menu, 49, 129 Menus, 90 Module, 31

A
Acquia Network, v, 1, 3, 9, 19, 27, 38, 40, 42, 61, 62, 74, 74, 100, 102, 103, 105, 107, 129, 129 Acquia settings, 101 Actions, 51, 60 Administer, 1, 28, 33, 36, 43, 44, 53, 54, 58, 63, 64, 73, 74, 78, 97, 99, 101, 105, 106, 107, 110, 115, 129 Advanced help, 49 alias, 63 AMP, 9, 11, 16, 118 AMP Stack, 10 Anonymous, 88 API, 60, 65, 130

N
Node, 81 Nodes, 88

O
OpenID, 50, 60

P
Path, 1, 84 Permissions, 73 PHP, 7, 9, 36, 42, 51, 58, 61, 100, 129, 131 PHP evaluator, 97 Profile, 100, 129

C
CCK, 49, 62, 62, 97, 115, 116, 130 Clean URLs, 7, 19 Comment, 88, 130 Comments, 51, 60 Content, 49, 62, 99, 115 Content Construction Kit, 130 Content types, 116 Cron, 103, 106

S
SSH, 36, 111, 115 Subscription, 103, 109

T
Taxonomy, 88 Technical Support, vi Terms, 88 Theme, 51, 60 Themes, 64, 74

D
dependent, 126, 130 Drupal, 1, 5, 6, 9, 10, 16, 17, 22, 27, 27, 28, 31, 33, 36, 40, 41, 44, 49, 58, 61, 61, 76, 77, 96, 100, 102, 103, 105, 106, 109, 110, 110, 110, 115, 118, 124, 129, 129, 131, 134 drupal.org, 49, 61, 73

U
User, 13, 16, 19, 27, 36, 44, 64, 73, 92, 107, 112 User 1, 19, 27, 33, 33, 36, 44, 53, 64 Username, 19, 126

F
File Transfer Protocol, 16, 45, 53 Filter, 96, 130 Forum, 63 FTP, 9, 22, 27, 31, 64, 100, 111, 115, 118

V
Views, 49, 63, 74, 130

G
GPL, 3, 5

W
WAMP, 10, 118 White Screen of Death, 133 Wikis, 3

H
home directory, 1 htaccess, 7, 28, 38, 134

L
Localhost, 9

151


				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:996
posted:2/18/2009
language:English
pages:158