Docstoc

Drupal - Acquia

Document Sample
Drupal - Acquia 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-drupal-
a.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 web-
based 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/products-
services/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                                              Description
Memory                                                   512 MB of RAM (recommended minimum). More
                                                         memory generally leads to better performance.
Disk space                                               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                                              Description
Operating Systems                                        • Linux

    Note                                                   • CentOS 5

                                                           • Debian 4.0 "etch"
       This list may change over time. The
       current official list of supported operating        • Novell SuSE Enterprise Linux 9
       systems can always be found on
       the Acquia Network. [http://acquia.com/             • Red Hat Enterprise Linux 5
       products-services/acquia-drupal-
       supported-platforms]                                • 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 site-
                                                         health monitoring, update status notification, aggregator


                                                       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                                              PHP 5.2.x

If using Red Hat Enterprise Linux 5, please read this
important information before continuing.
PHP Extensions and Settings                              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).
Database                                                 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/query-
                                                           cache.html].

                                                         • max_allowed_packet = 16M # This is often 1M by
                                                           default. Increasing to 16M may be necessary for some
                                                           modules.

   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, search-
  engine-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 acquia-
drupal-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/site-
   maintenance) 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.c-
update "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/site-
maintenance) 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/site-
maintenance) 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 site-
         development 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, team-
            builder, 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/site-
maintenance) 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.x-
1.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                                    ImageField, FileField and Link (CCK) modules - see the Drupal 6 Upgrade
                                       forum issue at http://acquia.com/network/node/153700

CCK                                    Sites with custom content types that include CCK fields generated by CCK sub-
                                       modules - see the Drupal 6 Upgrade forum issue at http://acquia.com/network/
                                       node/153700

FileField Meta                         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.

Image module                           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

Pathauto                               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


                                                          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         To generate PDF versions of site content, this module relies on the external
PDF Versions                         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/site-
maintenance) 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/site-
maintenance) 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 acquia-
   drupal-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-of-
        service 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/gui-
tools/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                                                        Description
Acquia Agent                                                Allows Drupal to securely communicate with the Acquia
                                                            Network, and checks for updates to Acquia Drupal.
Acquia Site Information                                     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 drop-
                                    down 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.
Calendar                            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.
Content Construction Kit (CCK)      Allows administrators to define new content types.
Comment Notify)                     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.
Date (CCK)                          Provides a flexible date/time field type for the CCK
                                    Content module.
Filefield                           Provides an "upload" CCK field type as an alternative to
                                    the core Upload module.
Fivestar Voting                     Adds an attractive, configurable graphic voting widget to
                                    nodes.
Google Analytics                    Adds Google Analytics javascript tracking code to all your
                                    site's pages.
Image                               Allows uploading, resizing and viewing of images.
Image API                           An image manipulation API for other modules
                                    (Imagecache module is dependent on Image API).
Image Assist (aka "img_assist")     Allows users to upload and insert inline images into posts.
Imagecache                          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).
Imagefield                          Provides a CCK image upload filed.
Link (CCK)                          A CCK content field that lets you add a complete link to
                                    your content types; including URL, title, and an optional
                                    target attribute.
Lightbox2                           The Lightbox2 module is a module that implements a
                                    simple, unobtrusive script to overlay images on the current
                                    browser page.
Markdown Filter                     Allows content to be submitted using Markdown, a simple
                                    plain-text syntax that is transformed into valid XHTML.
Mollom                              Protects against comment and contact form spam.
Pathauto                            Provides a mechanism for modules to automatically
                                    generate aliases for the content they manage.
Printer, e-mail and PDF versions    Generates printer-friendly and PDF versions of pages, and
                                    "send to a friend" email functionality.




                                   130
                                                                                                        Appendices


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


Appendix F - PHP Settings + Extensions
PHP Version                                             PHP 5.2.x

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.)


                                                   131
                                                                                                      Appendices


PHP Version                                             PHP 5.2.x

If using Red Hat Enterprise Linux 5, please read this
important information before continuing.
                                                        • 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                                                PHP 5.2.x

If using Red Hat Enterprise Linux 5, please read this
important information before continuing.
                                                               (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 Apache-
         specific 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                                   What is requested from the web server
node/312                                                      index.php?q=node/312
admin                                                         index.php?q=admin
user/1                                                        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                              AMP: Stands for Apache + MySQL + PHP; three open source software
                                 applications that are often used together to host web sites.

API                              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                    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.

Acquia Network                   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 support-
                                 services. The specific services and support options available to you depend on the
                                 level of your subscription.

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).

                                 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).


                                                      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).

                          Acquia subscription key                A private key paired to your site's public
                                                                 key. Copy this from your subscription page
                                                                 as above.

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                    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.

Adanced Help Module       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.

Administer                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.

Administration theme      Acquia Drupal can be configured to display separate front-end (public) and back-
                          end (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.

Authenticated       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


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.

Book         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.


C
CCK          see: Content Construction Kit.

Clean URLs   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-engine-
             optimization 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.

Default 403       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     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.

Download method   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.



                                       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, operating-
                  system 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.

Filter            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.

Front page        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.


                                        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.

HTML corrector   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.

Help module      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).

Htaccess         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.


I
IS               "Interim Support" release of Acquia Drupal.

ISR              Short for "Interim Support Release" of Acquia Drupal. See the Long-Term and
                 Interim Support Releases section for more information.

Image gallery    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/menu-
                       customize/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.

Installation profile   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

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.

LTS                    "Long Term Support" release of Acquia Drupal.

LTSR                   Short for "Long Term Support Release" of Acquia Drupal. See the Long-Term
                       and Interim Support Releases section for more information.

Language               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.

Line break converter   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.

Localhost              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.

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   Minelli is a fixed-width sub-theme of the Garland core theme.

Module    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-drupal-
          modules] 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 is the primary computer programming language in which Drupal is written.

PHP evaluator   The PHP evaluator is an input filter that evaluates text as PHP code.

Parent          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.

Path            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/about-
                  us gets rewritten as http://example.com/?q=about-us. If Drupal can match the q-
                  parameter 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/privacy-
                statement 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.



                                     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      See Install profile and User profile.

Promoted     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         Search Engine Optimization. Website building techniques designed to give a site
            the best possible ranking in search engine results.

SSH         A network protocol that allows data to be exchanged using a secure channel
            between two networked devices. [http://en.wikipedia.org/wiki/Secure_Shell]

Sub-theme   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         Technical Assistance Center

Taxonomy    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.

Theme engine   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        Theming is creating the visual presentation of a Drupal website using PHP and
               CSS.

Trigger        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).


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         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.

User profile   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).

Username       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.


V
Views          Views is a set of modules that facilitate creating custom selections of site content
               and offers several choices of how it can be displayed.

Vocabulary     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      When a Drupal installation encounters a fatal PHP error, it typically produces a
          blank, white screen, the "WSOD" or "White Screen of Death".

Wiki      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
                                                                  LTS, 6
Index
                                                                  M
Symbols                                                           MAMP, 10, 118
?q=, 134                                                          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
                                                                  N
Acquia settings, 101                                              Node, 81
Actions, 51, 60                                                   Nodes, 88
Administer, 1, 28, 33, 36, 43, 44, 53, 54, 58, 63, 64, 73,
74, 78, 97, 99, 101, 105, 106, 107, 110, 115, 129                 O
Advanced help, 49                                                 OpenID, 50, 60
alias, 63
AMP, 9, 11, 16, 118                                               P
AMP Stack, 10                                                     Path, 1, 84
Anonymous, 88                                                     Permissions, 73
API, 60, 65, 130                                                  PHP, 7, 9, 36, 42, 51, 58, 61, 100, 129, 131
                                                                  PHP evaluator, 97
C                                                                 Profile, 100, 129
CCK, 49, 62, 62, 97, 115, 116, 130
Clean URLs, 7, 19                                                 S
Comment, 88, 130                                                  SSH, 36, 111, 115
Comments, 51, 60                                                  Subscription, 103, 109
Content, 49, 62, 99, 115
Content Construction Kit, 130
Content types, 116
                                                                  T
Cron, 103, 106                                                    Taxonomy, 88
                                                                  Technical Support, vi
                                                                  Terms, 88
D                                                                 Theme, 51, 60
dependent, 126, 130                                               Themes, 64, 74
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
                                                                  U
drupal.org, 49, 61, 73                                            User, 13, 16, 19, 27, 36, 44, 64, 73, 92, 107, 112
                                                                  User 1, 19, 27, 33, 33, 36, 44, 53, 64
F                                                                 Username, 19, 126
File Transfer Protocol, 16, 45, 53
Filter, 96, 130                                                   V
Forum, 63                                                         Views, 49, 63, 74, 130
FTP, 9, 22, 27, 31, 64, 100, 111, 115, 118
                                                                  W
G                                                                 WAMP, 10, 118
GPL, 3, 5                                                         White Screen of Death, 133
                                                                  Wikis, 3
H
home directory, 1
htaccess, 7, 28, 38, 134

L
Localhost, 9


                                                              151

				
DOCUMENT INFO