Installing Drupal modules
Now that you have a better picture of the development cycle of a module, it’s time to actually pick a release to install.
“Dev,” “stable,” “alpha,” huh?
Module release versions are generally separated into two categories: development and stable. Development releases are, as the name suggests, under active development. This means less stability, but more features. Stable releases are, as the name suggests, the reverse.
Development releases will have the word “dev” in the name as an indicator. You may also see an “alpha”, “beta”, or “release candidate” (RC) version of a module. These are also used to indicate the overall stability and completeness of a module (alpha as least stable to RC as most stable).
Unless you need a specific feature that is in a development release, or need to preview what your site will look in the next stable release, always pick the stable version of a module. The latest release of a module may be a stable or a development one. If it is a development one, the latest stable version may be found by clicking on “view all releases” and searching for the last release not marked “dev”. Note: this page is not always sorted by date so make sure you scroll.

After you’ve located the desired module, you will upload it to the proper place on your server to use it. Two common methods for doing so are with a GUI FTP client and using a direct SSH connection to your server. Both will accomplish the same thing, so it’s merely a matter of using the method that you are more comfortable with. This document go over both methods.
Uploading via FTP
- Download the file to your own computer. With most browsers, you may right-click on the file link (labeled “views-5.x-1.6.tar.gz” above) and select an option such as “save link as..” to save it locally.
- Unzip the compressed file using a program such as Winzip into a directory
- Start an FTP client such as FileZilla
- You must provide connection information before your client will connect to your site. The screenshot below illustrates the typical fields in an FTP client. The “host” field will contain the domain name that you have set aside for your website. The “username” and “password” fields contain the username and password that you use to access your website.
- The section labeled “Local site” represents your own computer. Navigate to the location where you downloaded the module here.

- The section labeled “Remote site” represents your website. When connected to a website to a Drupal installation, the file structure will resemble the image shown above.
- Scroll down to the “sites” folder in the “Remote site” section and enter it. Inside, there will be an “all” folder and a “default” folder. Enter the “default” folder. If it doesn’t exist, create a directory named “modules” and enter it.
- Drag the decompressed folder containing the module from the local machine over to the “modules” directory. Once you’ve done this, the module will be uploaded to your site.
SSH
An SSH session is less visibly user-friendly than a GUI FTP session. This tutorial will not go over detailed instructions on commandline usage, but will give enough to upload a file.
- If you have Windows, puTTY is an SSH client that is freely available to you. When you start it up, you’ll be asked for a server, a username, and a password. The server is the domain name of the server you will be connecting to. If you are using Mac OS X, the terminal application is in /Applications/Utilities. The command to begin an SSH session is “ssh username@domain.com”. You’ll then be asked for the password for your server.
- Once you’ve logged in, you’ll be presented with a command prompt. The “ls” command will give the name of every file in the current working directory. Directories inside this one will either end in a / or will be a different color. You can change directories with the command “cd ” or go back to your initial directory with “cd”. Using these commands, you can explore the directory structure of your site.
- The top directory for your site will contain an “index.php”. If you can’t find this, you may wish to consult your tech support or webhost help pages.
- Once you are there, type “ls” and you should see something similar to this (but with a different prompt/directory path)

- There are two notable directories here: “modules” and “sites”. The “modules” directory contains the core modules bundled with Drupal. You could put this module here, but it’s somewhat sloppy. The preferred place to put this module is inside the “sites” directory. Type “cd sites” to change into that directory. Inside this directory, there is an “all” directory and a “default” directory. Go into the “default” directory.
- If it doesn’t already exist, make a directory called “modules” here by typing “mkdir modules”. Enter the modules directory by typing “cd modules”. Every module you install should go into this directory.
- Keep this window open and go to the webpage with the desired module on it. Right-click (or ctrl-click on a mac) on the link and select “copy link” or “copy link address”. Go back to the terminal window, type “wget “ (including the space), and paste the link in. It should look like this: “wget http://ftp.drupal.org/files/projects/views-5.x-1.6.tar.gz" Press the enter key. The file will then download directly to the server.

- There will now be a file that ends in .tar.gz in this directory, which you can see if you “ls” once.

- This file contains the entire module and must be decompressed before it can be used. To dcompress it, type in “tar -xzvf “ followed by the name of the file. The screen will then look like the following image, which displays all of the files that are being uncompressed.

- Once you’ve done this, the module’s files will be uploaded to your site.
Enabling modules
Before the files can be used by your site, the module must be enabled.
- The standard location for a Drupal site’s module administration page is “[sitename]/admin/build/modules”. Enter that in your browser and you will go to it.

- This page is where modules are listed and managed. There are two tabs to this page: “List” and “Uninstall”. For the moment, we’ll just be dealing with the “List” tab. This page contains all the modules that are currently installed. Scroll down the list, and you’ll find a series of them that begin with “Views”

- Note that “Views” is both checked and greyed out. Modules can be interdependent. They may rely on other modules’ functionality in order to run. The modules labeled “required by” are modules that require this module to be enabled for functionality. They themselves must be disabled before this module can be disabled or removed. The modules labeled “Depends on” are modules that this module depends on. This module must be disabled before they can be disabled or removed. In this case, the Views module can’t be disabled until Location Views and Views Panes are disabled first.

- Enable the other modules in the Views section by clicking on the checkbox and clicking on “Save Configuration”. Once the page has refreshed, you should see a screen that looks like this screenshot. The green text will notify you that you successfully enabled the modules. The exact text may be different depending on the modules you enable.

- If you forget to enable a required module, Drupal will notify you of this gracefully. It will also allow you to enable the required module from the notification message. Read the notifications and enable the desired modules.

- If the module is not installed, red text will appear notifying you so. If this appears, you must install that module first before enabling the one you want.