How To Build XO From Sources on Debian 10 Using XenOrchestraInstallerUpdater

Load Debian 10 in a VM on XCP-NG (or where ever you prefer) and as of April 2020 it is recommended that the allocate at least 4GB of ram to that machine and as many CPU resources as you find reasonable. The source code compiling process speed will vary greatly based on what you have allocated. Next make sure git is installed using

apt install git

Then clone the latest installer from by running

git clone

If you plan on using a self signed certificate as shown in the video, then choose a location such as /etc/ssl/xo and create the keys using:

openssl req -newkey rsa:4096 \
            -x509 \
            -sha256 \
            -days 3650 \
            -nodes \
            -out xo.crt \
            -keyout xo.key

Then go back into the /root/XenOrchestraInstallerUpdater directory and copy the sample config over to xo-install.cfg:

cp sample.xo-install.cfg xo-install.cfg

Then edit the xo-install.cfg for the setting you want for your server, here are the setting used in the video:

# Port number where xen-orchestra service is bound
# X.509 certificate setup.

Then run the choose option 1 autoinstall and your wait for the system to finish. Once complete you will be able to log into the system using the following credentials

pass: admin


Do you have a guide for getting plug-ins installed on the “free” version of xcp-ng?

That is covered in the video.

1 Like

Thanks again for a really helpful guide/video.

Would you have any advice on where to read up on how to secure the connection so I can get a padlock in Chrome/browser. I appreciate this is linked to the certificates but not really sure where to start and whether this would need me to make changes to the hosts as well?

I use the Jarli Method – script was developed in conjuction with one of the xcp-ng members – really really easy:

Comes with all the plugins.

Happy to report that XO installs nicely on a Raspberry Pi 4 with 4GB RAM using Ubuntu Server 20.04 LTS. It’s not the fastest install but works nicely.
I have a couple of small servers that I don’t run all the time so having the managment on a low power Pi allows me run which ever server I want to with out needing to run two installs of XO.

New to Linux, so lost with problem on first step. When I type “sudo apt install git” or “sudo apt-get install git”, I receive “command not found”. When I type “man -k apt” I see both apt and apt-get as a command line interface. I’ve restarted Debian, with the same result. Maybe I’ll go back to Ubuntu, which I haven’t had such problems with.

Ignore last message. First install stalled. Second install had above problem. Third install didn’t have a problem with “apt”.

Hey all! Just in case only one else comes across the same issue I had;
Effectively the source code was not compiling after choose option 1 autoinstall.
The output looks somthing like this “ln: target ‘/opt/xo/xo-builds/xen-orchestra-202008081145/packages/xo-server/node_modules/’ is not a directory: No such file or directory”
Then it would continue the script, with it finally trying to open ports, then would fail.
My issue appears to be that my firewall (pfSense plus pfBlocker-NG) was DNS Blocking some of the urls to was trying to reach. After turning off pfBlocker, the installation was just as advertised the
Hopefully this will find its way a fellow noob!


Hi Lawrence, thanks for taking your time and doing these videos, I really appreciate it and learned a lot.

Any idea on how to resolve this; I’ve tried the Debian build twice and both times the same error? TY

[fail] Installation completed, but looks like there was a problem when starting xo-server/reading journalctl. Please see logs for more details

Did you follow the instructions from the error “Please see logs for more details”?

Bringing this back to the top, this method (ronivay) seems to work fine on Raspberry Pi 400 (4gb) running RaspberryPi OS and doesn’t seem to be very slow. It took about the same as other real hardware installs I’ve done on “low end” hardware. Probably about 20-30 minutes worth of waiting. Need to connect it to my lab network and make sure everything works.

Moving to Debian since CentOS is going the way of Open Solaris and I like having it on bare metal so I can burn the XCP-NG system down and start from scratch easily.

Not sure if anyone has run into this issue. Trying to do this install on a Ubuntu 18.04 LXC container on my QNAP NAS and was getting, an error at line 213 of the install script, " add-apt-repository command not found." I tired to use apt install and it failed

Was able to resolve with the command below

sudo apt-get install software-properties-common

Hope the rest of the install goes without any issues

Some useful hints. The video is still very valid in Sept. 2021.
Here are some helpful changes
The config now allows to create the ssl cert as part of the install script. Just look at the readme on the github.

If it has been a while since you did this and you try to do it from memory. Make sure you don’t use the wrong installer on github. There is a repo suggested by searches that is three years (as of writing) out of date… no commits. Use the one in this thread and you’ll be okay - does what it says on the tin. The repo has pretty regular commits. (You might think of donating to the dev, you can virtually take him out for a beer… heck buy him a round for his friends as well 'eh? Or maybe he likes boardgames send him enough euros to buy a boardgame).
watch a quick vid on Vim if you don’t know it already
watch a quick vid on tmux if you haven’t already. tmux-learn-linux-tv.playlist

Observation. Although I gave this many cores I think 4 or 6 is more than enough. I rarely saw it use more at one time. Both in all my installs in the last year+ I see core 3 peg and then the other 15 cores rarely get used. Not sure how efficient Yarn is at using multi-core … I am not a dev. It certainly uses some. Also RAM 4GB is enough - I first tried 16 and it didn’t touch it. If you look at Toms FF in the vid you see similar result.
currently updated successfully to xo-server 5.82.1 xo-web 8.87.0

I don’t update. I just create a new vm and install from scratch every few months. The updater feature probably works, I have run into issues in the past and find it faster to just follow Tom here in the vid and roll it anew. I find xo from the sources seems to run more smoothly this way.

Hope this helps someone!!

Everything looks to be patched home>hosts> select host(s) > patches tab > “up to date” = yes