This installation is validated on a fresh Debian 7 (Wheezy) 64 bits. It should be almost the same on others dpkg systems.
As you may have seen, in other parts of the documentation, XO is composed of two parts: XO-Server and XO-Web. They can be installed separately, even on different machines, but for the sake of simplicity we will set them up together.
XO needs Node.js. You can install it:
- by following this procedure.
- on Wheezy, the build from source was tested and working well.
- by using n, documented just below.
We'll use n
because it's powerful and flexible. Install it as root:
/usr/bin/ wget https://raw.githubusercontent.com/visionmedia/n/master/bin/n
chmod +x /usr/bin/n
n stable
We'll consider at this point that you've got a working node on your box. E.g:
$ node -v
v0.10.25
apt-get install build-essential redis-server libpng-dev ruby git
We also need compass in Ruby (we want to remove this dependency as soon as possible)
gem install compass
You may either download them here and here or use git
with these repositories from http://github.com/vatesfr/xo-server
and http://github.com/vatesfr/xo-web
:
git clone http://github.com/vatesfr/xo-server
git clone http://github.com/vatesfr/xo-web
Once you have it, you can use npm
to install the other dependencies: go into XO-Server directory and launch the following command:
npm install
Then, you have to create a config file for XO-Server:
cp config/local.yaml.dist config/local.yaml
Edit it to have the right path to deliver XO-Web, because XO-Server embeds an HTTP server (we assume that XO-Server and XO-Web are on the same directory). It's near the end of the file:
mounts:
'/':
- '../xo-web/dist/'
WARNING: YAML is very strict with indentation: use spaces for it, not tabs.
In this config file, you can also change default ports (80 and 443) for XO-Server.
You can try to start XO-Server to see if it works. You should have something like that:
$ ./xo-server
WebServer listening on 0.0.0.0:80
[INFO] Default user: "[email protected]" with password "admin"
First, we'll also install dependencies:
npm install
You can now install bower
dependencies and build the application:
./gulp --production
The sole part you have to launch is XO-Server which is quite easy to do, just launch the xo-server
script, which is in the root of XO-Server's directory':
$ ./xo-server
That's it! Go on your browser to the XO-Server IP address, and it works :)
- You can also consider using forever to have always the process running.
npm install -g forever
forever start -c ./node_modules/.bin/coffee src/main.coffee
- Our stable branch is "master" and the beta branch is "next-release". You can change it if you want to test our latest features (on both XO-Server and XO-Web, do NOT mix them):
git checkout next-release
- If you want to update your current version, do this on both repositories:
git pull --ff-only
npm install
And this in XO-Web:
./gulp --production