203 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
Latest 7 Posts
What a motto?
Fri, Apr 22nd 2016 1
Introducing: Coda Global
Thu, Mar 24th 2016 4
Making Ubuntu MEAN!
Mon, Mar 2nd 2015 2
IBM ConnectED 2015, As I Saw It
Tue, Feb 3rd 2015 2
IBM ConnectED 2015
Tue, Jan 13th 2015 0
Developing Social Rendering Lists
Mon, Sep 9th 2013 1
Dressing Up Connections - Social Rendering
Thu, Sep 5th 2013 1
Top 10
Surveys for IBM Connections
Sun, May 19th 2013 5
Introducing: Coda Global
Thu, Mar 24th 2016 4
It’s Official…
Mon, Jun 25th 2012 3
iOS 5.1 Coming Soon?
Tue, Nov 29th 2011 3
LS12 Abstract Submission Still Open…
Mon, Nov 7th 2011 3
WebSphere Plugin Key & Password Expiration 4/26
Thu, Apr 19th 2012 2
Open Mic Webcast: Installing and Configuring Metrics in IBM Connections 4.0 - 27 February 2013
Thu, Feb 7th 2013 2
IBM ConnectED 2015, As I Saw It
Tue, Feb 3rd 2015 2
Making Ubuntu MEAN!
Mon, Mar 2nd 2015 2
IBM Connect
Tue, Aug 28th 2012 1

Making Ubuntu MEAN!
Twitter Google+ Facebook LinkedIn Addthis Email Gmail Flipboard Reddit Tumblr WhatsApp StumbleUpon Yammer Evernote Delicious

One of the coolest things I saw at ConnectED was a utility out of Lab Services called Project MUSE.  It is a collection of JavaScript technologies put together to enable rewriting of HTTP packets on the fly for rebranding and injecting custom modules for SaaS customers.  This means even multitennant Connections customers will be able to brand and customize the UI to their hearts' content.  The IBM Distiguished Engineer, Jason Gary gave a wonderful demo and walk through the stack and its capabilities.  One of the things the team used in MUSE was the MEAN application stack.

If you are not aware, MEAN is a fullstack JavaScript framework comprised of MongoDB, express, AngularJS, and nodejs.  This JS app stack is extremely flexible and I wanted to learn more about the underlying technologies used in MUSE.  To get started, I figured I would fire up an Ubuntu server and install the stack.  Sounded like a simple enough task, and obvious place to begin.  After a day or so of failed attempts, hunting down error messages, troubleshooting, and piecing together documentation from the four corners of the internet, I have the formula for making the stack work.  Here are my notes in the event they prove to help anyone else.  (and so I don't forget)

I started with Ubuntu 14.04 LTS.  As always I immediately ran the apt commands to refresh the repo information and then install the latest patches.  I will assume that the readers know how to do this, and a fully patched Ubuntu 14.04 LTS installation is the starting point.


  1. First I needed to install a few things to make the environment ready for development tasks.

    sudo apt-get install gpm vim vim-doc vim-scripts build-essential curl git
  2. One of the issues I encountered was a WRITE SAME error when installing MongoDB.  To prevent that issue, I found a helpful script in an article (referenced) linked here to address the issue:

  3. Next I needed to install MongoDB on my own.  I followed the instructions provided in the link found in the reference section to mongodb.org.  They were:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

    echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

    sudo apt-get update

    sudo apt-get install -y mongodb-org
  4. After installing MongoDB, I then continued on to install nodejs.  I was able to follow the simple instructions from the mean.io site.
    curl -sL https://deb.nodesource.com/setup | sudo bash -

    sudo apt-get update

    sudo apt-get install nodejs
  6. Git installs and does not always setup the git:// protocol resolution correctly.  To compensate for that I had to run:

    git config --global url."https://".insteadOf git://
  7. With MongoDB, Node ,and the necessary underlying system stuff underway, I now turned my attention to the mean tools.

    npm install -g grunt-cli

    npm install -g bower

    npm install -g mean-cli
  8. With mean installed, I now had the stack, but there is a default administration application that needed to be setup.  I used mean to initialize the default admin application.

    mean init <myApp>  (where <myApp> is the name of whatever you want to call your default application)

    cd <myApp> && npm install
  9. Now I started the application I just setup.

  10. I then just pointed my browser at my server on port 3000 and was able to see the default app.






Mar 02, 2015
3 hits

Recent Blog Posts

Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition