XenOrchestra is a great tool to manage your Xen servers with a single web interface. It is particularly interesting for me, because it can install missing patches automatically. Updating is one of the most annoying chores regarding Xen Server, because you can only install on patch at a time using the XenCenter Management Interface.

XenOrchestra is free with the community edition, and if you build it from source, you can even use the update feature without having to pay. The only downside of this is, that you don’t have any support when building from source.

Prerequisites

You can install XO on any machine you want. Even your local PC. I decided to create a new Ubuntu (Zesty) VM inside one of my Xen servers to install the tool. The machine you’re using should comply with the following requirements:

  • Debian/Ubuntu based system (only for the sake of this tutorial)
  • NodeJS 6.X installed (wiki)
  • Yarn installed (sudo npm -g install yarn)
  • XO dependencies (sudo apt install build-essential redis-server libpng-dev git python-minimal screen)
  • After that either reboot your system or run: service redis start

Getting the sources

Let’s assume we will install XO into /home/xo/.

  • Log in as user xo and cd ~
  • Clone the sources:
    • git clone -b stable http://github.com/vatesfr/xo-server
    • git clone -b stable http://github.com/vatesfr/xo-web

Setup and first start

All the commands are meant to be run as user xo.

  1. Change into xo-web folder: cd ~/xo-web
  2. Install deps and build: yarn install && yarn build
  3. Change into xo-server folder: cd ~/xo-server
  4. Install deps: yarn
  5. Create config file: cp sample.config.yaml .xo-server.yaml
  6. Edit the config file (ex. vi .xo-server.yaml) and find the section mounts.
    1. Set the following property (you need to uncomment it): mounts: '/': '../xo-web/dist/'
    2. If you used another path for the xo-web dir, you’ll need to change the command accordingly!
  7. Start the server: screen -dmS xen-orcestra /home/xo/xo-server/bin/xo-server
  8. Wait a few seconds and then open your browser to your installation IP.
    • Default credentials are: admin@admin.net:admin