wmjaggers
8/25/2013 - 7:25 PM

This gist will help you install Cloud9 on your local or remote computer, server, or even your raspberry pi. Many people are having issues at

This gist will help you install Cloud9 on your local or remote computer, server, or even your raspberry pi. Many people are having issues at the time of this Gist's creation.

Complete installation process:
 
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install -y  python-software-properties python make build-essential g++ curl libssl-dev apache2-utils git libxml2-dev
    sudo apt-get update
    sudo apt-get upgrade
    cd ~
    mkdir git
    cd ~/git

    git clone git://github.com/ajaxorg/cloud9.git
    git clone https://github.com/creationix/nvm.git ~/.nvm
    source ~/.nvm/nvm.sh

    #install some version of Node you want
    nvm install 0.10

    #install and start cloud9
    cd cloud9
    sudo npm install packager
    sudo npm install
    sudo ~/git/cloud9/bin/cloud9.sh 

    #set up your terminal to use the most 
    #recent nvm node you have installed by default
    gedit ~/.bashrc
    
    #add these lines at the bottom
    source ~/.nvm/nvm.sh
    nvm use 0

    #if you want cloud9 to run every time you start up, 
    #add this line to the bottom of your .profile or .bash_profile
    
    sudo npm install forever -g    
    forever --uid cloud9 -a start ~/git/cloud9/server.js -w ~/

you only need to run the cloud9.sh once after each install or update from my experience to implement the plugins, but if you get too many errors try running it again. After that you can run right from node or preferably forever.

you can use 0.0.0.0 as the host name to accept all incoming traffic provided it knows the username and password.

    node server.js -w ~/git/ -l my.host.name --username riaEvangelist --password is4MyYsOnly

this will inevitably throw E_NOENT errors and crash but that can be fixed by using forever to recover from that 
    
    forever start server.js -w ~/git/ -l my.host.name --username riaEvangelist --password is4MyYsOnly

The -l paramater is only needed if you want to expose the cloud9 instance to the world via an IP or a hostname.

Also username and password are optional of course.

> Written with [StackEdit](http://benweet.github.io/stackedit/).