20
edits
Changes
→1. Set up a Webmaker Development Environment
* [http://www.python.org/ python 2.7]
* [http://www.pip-installer.org/en/latest/installing.html pip]
* [http://www.mongodb.org/downloads MongoDB ] (NOTE: there is some discussion about dropping MongoDB altogether, but at the time of writing, this hasn't happened yet)
* [http://www.oracle.com/technetwork/java/javase/downloads/index.html Java]
* [http://www.elasticsearch.org Elastic Search]
A number of node "modules" (or libraries) that we use also require a working C/C++ toolchain. You should make sure that you have a working build environment for your OS (see the [https://github.com/mozilla/webmaker-suite#os-specific-information section of the Webmaker Suite docs] on this issue).
===Setup Option 1: Webmaker Suite===
By far the easiest way to get all of Webmaker set up and installed locally, on any platform, is to use [https://github.com/mozilla/webmaker-suite Webmaker Suite]. This is a set of automation scripts written in node.js by one of our lead developers, and is meant to provide turn-key installation by automatically downloading all the code, and setting default environment variables.
Note that this won't install external dependancies above automatically.
Complete instructions are available in the [https://github.com/mozilla/webmaker-suite#webmaker-suite-bootstrapinstallation-script README for Webmaker Suite] on github.
===Setup Option 22a: (Mac OS X) Local Native Installation===Each server that makes up a part of the Webmaker.org ecosystem is configured with <code>.env</code> or ''environment'' files. The servers come with a sample version of this file that is fully functional, assuming that the sample files are used for all the servers in the local installation. Instructions on configuring these manually can be found in the Github repository of each server. ==== Installing Dependancies ==== # Install [https://developer.apple.com/xcode/ Xcode] from the App Store. You might be asked to agree to the license terms at the command line, and must do so to proceed.# Install the [http://brew.sh/ Homebrew] package manager by following the instructions at their website, which will prompt you to install the Xcode command-line tools (required). # Run <code>brew doctor</code> to complete Homebrew's installation# Install NodeJs with <code>brew install node</code># Install the [http://www.oracle.com/technetwork/java/javase/downloads/index.html JDK (Java Development Kit)] from their website# Install elasticsearch with <code>brew install elasticsearch</code># Install mongodb with <code>brew install mongodb</code># Install bower globally with <code>npm install -g bower</code># Install grunt globally with <code>npm install -g grunt</code> ==== Installing Webmaker Core ====Webmaker's core apps are the ''Login'', ''MakeAPI'' and ''Webmaker.org'' servers. These three must be run together in order to function properly with each other, and the other apps that make up Webmaker. You can find installation instructions in the <code>readme</code> file in each server's Github repository: * '''Login''' - [https://github.com/mozilla/login.webmaker.org/blob/master/README.md https://github.com/mozilla/login.webmaker.org/blob/master/README.md]* '''MakeAPI''' - [https://github.com/mozilla/MakeAPI/blob/master/README.md https://github.com/mozilla/MakeAPI/blob/master/README.md]* '''Webmaker.org''' - [https://github.com/mozilla/webmaker.org/blob/master/README.md https://github.com/mozilla/webmaker.org/blob/master/README.md] ==== Installing Webmaker Tools ====Webmaker's tools (''Thimble'', ''Goggles'' and ''Popcorn Maker'') follow similar procedures for installation and configuration. Keep in mind that they won't function properly without the '''Webmaker Core''' services running. You can find installation instructions in the <code>readme</code> file in each server's Github repository: * '''Popcorn Maker''' - [https://github.com/mozilla/popcorn.webmaker.org/blob/master/README.md https://github.com/mozilla/popcorn.webmaker.org/blob/master/README.md]* '''Thimble''' - [https://github.com/mozilla/thimble.webmaker.org/blob/master/README.md https://github.com/mozilla/thimble.webmaker.org/blob/master/README.md]* '''Goggles''' - [https://github.com/mozilla/goggles.webmaker.org/blob/master/README.md https://github.com/mozilla/goggles.webmaker.org/blob/master/README.md] ==== Staying Up-to-date ====As we improve features (day-to-day), we release them into the wild almost immediately! For this reason, it's important to keep your servers running the latest code. These commands will use <code>git</code> to pull the latest updates from the Mozilla repo, and then reinstall the node ''modules'' (or libraries). If you followed each server's installation instructions exactly, <code>[mozilla upstream remote]</code> should be replaced with <code>origin</code>. Otherwise, replace it with whatever you labeled the Mozilla [http://git-scm.com/book/en/Git-Basics-Working-with-Remotes remote].
===Setup Option 3: Using Vagrant (i.e., Ubuntu-based VM)===