"Do I need all these extras?"

Each module requires memory to run on your site

Before installing extra modules, you should consider the desired functionality of your site. Don't feel pressured to add modules unless your site requires them. Unnecessary modules consume memory and other resource needs of your site, thus increasing the time needed for pages to load. Just because a module is popular or someone tells you that "every site needs it" does not mean that your site requires it. Good sites have been built with absolutely no contributed modules at all.

Make sure to focus on content, functionality, and configuration of your site before considering how it should look (the theme). That decision can be made later. Deliberation over your site's appearance can detract from your thinking about functionality and content.

Be selective

Themes are largely a matter of taste. For example, some people do not like to use a "fixed width" theme, but others do. One nice thing about themes is that they are mostly independent of your content so you can switch them when you want. Be aware, however, that certain parts of your site (blocks, for example) are built based on the theme. Switching themes can therefore leave junk lying around to slow down your site.

If you want to experiment with different themes and modules, you should look at the Update Status page in the Administration section and the Site Documentation module to make sure that your site is clean and that the desired modules are up-to-date.

Installing modules

  1. Locate the required theme or module starting on Drupal's Downloads page.
  2. Make sure the module or theme has a version that matches that of your Drupal site. Drupal 5 modules and themes will not work on Drupal 6 or 7.
  3. Click "Find out more" and read the notes. This gives you the chance to see if there is support for your release of Drupal. You can also look at pending bugs and feature requests—these might give you interesting insights into the project.
  4. Download the release for your Drupal version.
  5. Unzip the downloaded file. (To unzip files on Windows, try7Zip, WinSCP, or a comparable program. Mac alternatives include Cyberduck and Fetch).
  6. Extract the code to to your /sites/all/modules/{modulename} or sites/all/themes/{themename} folder. If you are running multiple sites and you do not want the module to be available in all sites, you can extract the files to the /sites/{sitename}/modules/ or /sites/{sitename}/themes/ folders.
  7. To finish, you should enable the module or theme in the Administration section of your site. (Tip: Only enable one module at a time so that you can figure out what it does and configure it. This is a lot easier than trying to figure out how multiple modules are affecting your site or which module does what).

You should end up with a folder structure like:
screenshot of a mock-up files folder layout

Installing a module from a URL for Drupal 7

Before you start, ensure you have the Update Manager module enabled.

  1. Navigate to the module project page on Drupal.org. Under Downloads, locate and copy the link address ending in .gz or .zip.
  2. Navigate, on your site, to administration/modules/install.
  3. Paste the module URL into "Install from a URL".
  4. Click "install".
  5. You may then enable your module from this page or navigate to administration/modules.

You may also add a module from your computer.

  1. Navigate, on your site, to administration/modules/install.
  2. Click "choose file".
  3. Browse to the location the module has been downloaded to your desktop.
  4. Click "install".
  5. You may then enable your module from this page or navigate to administration/modules.

Advanced installing

If you have access to a Unix shell (e.g. SSH), the following series of commands will download and extract the files directly to your server.

Before you start, use the pwd (print working directory) command to confirm that you are in the correct directory (e.g. modules). If not, use the ls (list directory) and cd (change directory) commands to navigate to the correct directory.

The examples below are taken from Drupal's most popular module: Views

  1. Download archive:
    wget http://ftp.drupal.org/files/projects/views-7.x-3.0-rc1.tar.gz
  2. Uncompress archive: tar -zxvf views-7.x-3.0-rc1.tar.gz
  3. Delete archive: rm views-7.x-3.0-rc1.tar.gz

Try also the Drush module which offers a very efficient way of installing modules. https://drupal.org/node/895232

Note: The Drush commands drush dl module_name and drush en module_name are probably the fastest way to install modules.

More information

Suggestions on choosing modules

More "must have" Drupal modules.

Comments

therealmeal’s picture

You can also use the following single command to accomplish steps 1-3 above:

% wget <URL> -O - | tar -xz

That's the letter "O" not the number "0".

("-O -" means output to stdout. tar takes stdin by default.)

Shyamala’s picture

Some of the other criteria before using a module would include:

  • How well the module is maintained - How many open issues or any recently closed issues
  • Read related Forum discussions
  • Understand other competing modules to see which one meets the requirements best
  • Do not use development versions of modules on production server
NancyDru’s picture

Of course those are guidelines only. I have had occasions where a -dev version had to be used in production. I have also used poorly maintained modules, frequently taking them over and maintaining them myself.

drupalninja99’s picture

There isn't a 'admin/modules/install' page is there? That must have been changed

Jay.Chen’s picture

The quick update module can install multiple new projects or the missing dependency projects.
https://drupal.org/project/quickupdate