Last updated August 28, 2011. Created by NancyDru on February 19, 2007.
Edited by heather, MatthewS, batigolix, LeeHunter. Log in to edit this page.
Before installing extra modules, you should consider the required functionality for your site, and only add a module if your site really needs it. Unnecessary modules consume memory and other resource needs of your site, and will make pages load slower. Because a module is popular or someone tells you that "every site needs it" doesn't mean that yours does. There are good sites that have been built with absolutely no contributed modules at all.
Also, you should focus on content, functionality, and configuration of your site before you consider how it should look (the theme), since that decision can be made later and may detract from your thinking about functionality and content.
Themes are largely a matter of taste. For example, many people do not like to use a "fixed width" theme, but lots of people do. One nice thing about themes is that they are mostly independent of your content so you can switch them when you want. Caution, though, there are parts of your site (blocks, for example) that get built based on the theme, so switching themes can leave junk lying around to slow down your site.
Now, if you experiment with different themes and modules, you should also look at the Update Status page in the administration section and the Site Documentation module to make sure the modules are up-to-date and your site is clean.
Installing modules
- Locate the required theme or module starting on the Downloads section.
- 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.
- 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 - it might give you interesting insights in the project.
- Download the release for your Drupal version.
- Unzip the downloaded file (on Windows you can use a program like 7Zip.
- Extract the code to to your
/sites/all/modules/{modulename}orsites/all/themes/{themename}folder. If you are running multiple sites and you do not want the module to be available in all sites, you could extract the files to the/sites/{sitename}/modules/or/sites/{sitename}/themes/folders. - To finish you should enable the module or theme in the administration section of your site.
You should end up with a folder structure like:

Installing a Module from a URL for Drupal 7
Before you start, ensure you have the Update manager module enabled.
- Navigate to the module project page on Drupal.org. Under Downloads, locate and copy the link address; ending in .gz or .zip.
- Navigate, on your site, to admin/modules/install
- Paste the module URL into "Install from a URL"
- Click install.
- You may then enable your module from this page or navigate to admin/modules
You may also add a module from your computer.
- Navigate, on your site, to admin/modules/install
- Click choose file
- Browse to the location the module has been downloaded to your desktop.
- Click install.
- You may then enable your module from this page or navigate to admin/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
- Download archive:
wget http://ftp.drupal.org/files/projects/views-7.x-3.0-rc1.tar.gz - Uncompress archive: tar -zxvf views-7.x-3.0-rc1.tar.gz
- 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.
More information
Suggestions on choosing modules
More "must have" Drupal modules.
Comments
More advanced ssh instructions
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.)
Choosing a Module
Some of the other criteria before using a module would include:
Shyamala
http://shyamala-drupal.blogspot.com/
http://www.unimity.com
Of Course
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.
NancyDru