A picture of Mark Chambers, a white guy with a full beard wearing a white button-up shirt and a loosened collar and necktie.

In the early 1990s, elementary schools across the US were opening the first “computer labs”. As a 9-year-old, using an Apple IIe and being responsible for my own floppy disk was pretty cool. One of our projects was to write a short fantasy story. Once we had our final draft, we entered it into a word processor, saved it to our disk and gave it to our teacher. Each student's story — along with our own illustrations — was compiled into a book. In retrospect, there was likely a purpose behind this assignment. My first impression of the computer had been connected with creativity.

The computer lab got an upgrade almost every year. We watched it go from megahertz to gigahertz, megabytes to gigabytes, 2-tone screens to millions of colors, floppy disks to thumb drives. It was an exciting time to grow up! If that was your thing.

Public libraries 

In 1995, we purchased our first family computer, an IBM Aptiva. Having our own computer at home was very different. I stopped visiting the public libray. It was a gaming was Microsoft Paint. I recall painstakingly illustrating the front of a diesel locomotive pixel by pixel.

Our generation either embraced the computer or got by without it.

Having mastered my first video game titles like Myst, Tomb Raider, and MechWarrior II, I started dabbling with Microsoft Paint. I recall painstakingly illustrating the front of a diesel locomotive pixel by pixel. I actually found the file.

Later I got my hands on Adobe Photoshop and started experimenting with photo manipulation and layers.

“Yes, I love technology,
But not as much as you, you see,
But still I love technology,
Always and forever.”

This new hobby continued on the first floor. In my sister's bedroom sat a brand new beautiful blue and white Apple Power Macintosh G3. After adding a few more video games to my repertoire (Avernum, Cythera, Riven) I decided to put my graphics skills to practical use. I began building my own Smashing Pumpkins fan website from the ground up with the original Macromedia Dreamweaver. DW never did what you wanted it to, so I learned HTML by studying the code it generated. It was this foundation which would later help me find my way into the professional world.

I put my creativity on hold for a couple years. After working in the service sector, doing a bit of travelling and binging on games (StarCraft, Morrowind, Lineage II), it was time to think about my future. I decided to go to college and study graphic and web design — the obvious choice. I enrolled in every art and design class I could, also breaking into photography for the first time.

I bought my first Apple computer for my studies: a brand new Mac Book Pro. It was the first of the Intel line, a vintage machine. That baby was my daily driver for over 10 years. Lots of work done on it, new skills acquired and of course gaming (Age of Empires, Civilization, Railroad Tycoon). Now I'm doing things I never imagined: bringing my designs to life with content management systems. People talk about WordPress, but Drupal is where it's at. I can spend hours on end turning my ideas into realities — it's better than gaming!

Mark Chambers

Overview

  1. Prepare server
  2. Install Composer globally
  3. Install drush via Composer
  4. Install and enable Composer Manager module in Drupal
  5. Get BAT libraries via Composer

Although these instructions are for getting Booking and Availability Tools running on Drupal, each section stands on its own and may be useful for other purposes.

These instructions are for Ubuntu 12.04.5 LTS, and also tested on 14.04.5 LTS with PHP 5.6. It may need to be slightly adjusted for other versions of Linux.

1. Prepare server

A couple things are required on your Ubuntu server.

Install packages

sudo apt-get install curl git zip unzip

Restart Apache

sudo service apache2 restart

2. Install Composer globally on server

Important: Do not install Composer as root

2.1: Download and install

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

To test your installation, run:

composer

You should get this output:

All settings correct for using Composer
Downloading 1.2.2...

Composer successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
dev@bornkamp:~$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.2.2 2016-11-03 17:43:15

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display this help message
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi                     Force ANSI output
      --no-ansi                  Disable ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:

...

2.2: Correct permissions

Run this to fix cache directory write permission errors:

sudo chown -R $USER $HOME/.composer

3. Install Drush

3.1: Install latest stable Drush:

composer global require drush/drush

3.2: Verify that Drush works:

drush status

4. Install and enable Composer Manager module in Drupal

4.1: Get the latest stable version of the module from here:

https://www.drupal.org/project/composer_manager

4.2: Install and enable the module

4.3: Set Composer Directories

In a web browser, go to:

www.my-drupal-site.com/admin/config/system/composer-manager/settings

Set the Vendor directory and Composer File Directory to appropriate locations.

4.4: Linking composer with Drupal

Open a terminal window and go to the Composer File Directory and run the following command:

composer install

5. Get BAT libraries via Composer

5.1: Run composer update

Open a terminal window and go to the Composer File Directory and run the following command:

composer update

If it throws a PHP version error then go to the next step.

If no errors appear, then you are finished!

5.2: Force composer to update

Run this command:

composer update --ignore-platform-reqs

BAT should now be installed and ready to configure.