Install Drupal Modules via CVS

CVS deployment enables a whole new level of simple installation and upgrading.  To install a Drupal module using the standard method, you have to:

  1. Find the module on Drupal.org
  2. Wait for the Module to Upload
  3. Unzip the contents
  4. Connect to your FTP server
  5. Browse to the module directory
  6. Wait for the module to upload

Using CVS installation, all you have to do is:

  1. Enter one command into your ssh program. (The files are downloaded and installed directly from server to server in lightning-fast fashion)

Even more impressive, is the fact that if you install the module using CVS, you can also upgrade using a very short command in your ssh program.

Now that your excitement is palpable, let’s get into the how.  Here are the prerequisites:

  • SSH/Shell access to your server.
  • Some sort of SSH client.  (I use putty on windows)
  • Hopefully some understanding of unix commands

Now that you have all of the necessary tools, let’s install a module! 

  1. Use your SSH client to connect to your server
  2. In your client, navigate to your modules directory
  3. Browse to: http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/ (This is the CVS repository for modules)
  4. Click on the link for your desired module (We’ll use the pathauto module for our example)
    CVS Drupal Module Repository
  5. Go the the Sticky Tag Selection, and make note of the latest stable version of the module for your drupal release.  In this example, I’m running Drupal 6.x.  So, the latest release for pathauto at the time of this writing is “DRUPAL-6–1-1”.  Take note of this; we’ll call this {latest_stable_version}.  Also note how the module is listed in the directory structure at the top of this page (contributions/modules/pathauto), in this case, the name is listed as “pathauto”.  Take note of this; we’ll call this {module_name}.
  6. Type the following command:

    cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -r {latest_stable_version} -d {module_name} contributions/modules/{module_name}

    So, for our example, the code would look like this:

    cvs -z6 -d:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib checkout -r DRUPAL-6–1-1 -d pathauto contributions/modules/pathauto

  7. Voila!  It’s installed.  All you have to do is enable it in your drupal admin section.

Stay tuned for a post on how to update via CVS…