You can add third-party contributed modules to extend or alter Drupal's behavior.
(For Drupal 7, please see: Installing contributed modules (Drupal 7).)
Obtain the module(s) as an archive and extract the files to your Drupal installation (normally into sites/all/modules), read the directions, and enable the module(s) on the Modules administration page (Administer > Site building > Modules).
Note that experienced Drupal site builders generally use command-line techniques like the UNIX wget command or drush. There is also a Plug-in Manager module that allows you to install other modules using your Drupal site's web interface.
- Download the module. The module version must be compatible with your version of Drupal. Note that "Development snapshots" are modules that are in an active stage of development. They may be written for a previous/current/future version of Drupal, and they are considered unstable and should be handled with care. It's the safest to download the "Recommended" version.
- Extract the files. When you first get the module, it will appear in a compressed file format, either tar.gz or .zip. On Windows, use a program like 7-zip to extract it. On the Mac, you can use Stuffit Expander. For unix systems, use the command line:
tar -zxvf modulename-drupalversionnumber.tar.gzAfter extracting the file, you should see a list of files inside a folder with the module's name.
- Upload the folder. Using SFTP (file transfer protocol) or Git (version control), upload your files to the desired modules folder in your Drupal installation. The modules folder at the top level of your Drupal installation is reserved for Drupal core modules (the ones that come with the original download of Drupal). So, you should generally create a sites/all/modules directory and put uploaded modules there. If you are running a multi-site installation of Drupal, you can create a modules folder under sites/my.site.folder and put modules there that are specific to a particular site in your installation. Modules that will be shared between all sites should be placed in sites/all/modules.
Note: You can only have one copy of a module with the same name in each Drupal site. The module's name is determined by the name of the .module file, not by the name of the directory.
- Read the directions. If the module has an installation file (usually INSTALL.txt and/or README.txt), read it for specific instructions. There are modules that require special treatment, and even modules that depend on other downloaded files to function properly. Sometimes the README file has no .txt extension. When you try to double-click on it, your computer doesn't know what program to use. In that case, open your favorite text editor first, and then open the file using the editor's 'file open' command.
- Enable the module. Navigate to Administer > Site building > Modules. Check the 'Enabled' box next to the module and then click the 'Save Configuration' button at the bottom. NOTE: If you're upgrading an existing module you'll need to browse to your update page at
http://www.example.com/update.phpand click on 'run the database upgrade script'.
- Configure permissions. Some modules will require you set permissions to get them working (and available to all users). Permissions information may be in the instructions that came with the module. Usually, you will need to go to Administer > User management > Permissions (for Drupal 5 it's Administer > User management > Access control). Scroll down to see if the module appears in the list and if it does, give the appropriate permissions to desired roles.
- Adjust settings. Most modules will have some type of configuration page. It will vary from module to module but if not described in the README.txt file, it will usually be located under Administer > Site building or Administer > Site configuration. If you have trouble locating a module's settings page try navigating to
http://example.com/admin/by-moduleand see if the module appears in the list. If it does, its configuration page(s) will be listed there. If all else fails, check the module's .module file for a 'modulename_menu' function; even if you're not a coder, the settings path, if there is one, should be pretty easy to discern.
- If you run into problems, search the module's issue queue and the forums. If your problem hasn't already been addressed, post a question or issue and someone will try to help you out.
Note: To keep up-to-date on any issues and fixes related to your newly installed module(s), you can create a user account (if you haven't done it already) and then subscribe to each module you are using.