 time here for more systems and I'm going to show you how to build Zen Orchestra from sources with a really simple script. All the script and the commands I'll be using be linked to a form post down in the description below. So let's get started. Now the first thing I want to mention is the difference between Zen Orchestra and Zen Orchestra appliance. So XO versus XO A. XO A the appliance is the paid product that you can get from the people over at VATES and their Zen Orchestra website. They have pricing. They also have bundle pricing to get this with the XEP and G server that you'll find links to that in that same forum post. But we're going to talk about how to compile it yourself from source. But if you do want to get the XO A, they have a really simple option that will automatically and quickly deploy this and give you a 30 day free trial. So this is completely from the team over at VATES. But let's jump into if you want to use this in a lab environment out of production environment. This is good for production environments. This is recommended for production environments, but for the lab environments and a lot of you that are in the home lab or to home user that wants to try out the full featured system. That's what we're going to do is compile from sources. Now there are going to be two things missing from the compile from source version versus when you buy it. And those two things are going to be their automatic updates, which is why you have the no support button here. And you see that I'm currently sick commits behind. We'll talk about how to update this as well. And if you want to use their automated templates and recipes, these are nice features that you have with the paid version that you're not going to get but you can still completely build your own templates. These are some of the default ones that they give you with the paid instance of it. But it's not something you have to use in order to set up because you still have if we go over here like new virtual machine, I'm going to select my pool here. And I still have all these templates, but I actually have to provide the ISO for them versus the templates they have are a little bit more advanced and can automatically download the ISOs. Now it only takes one Zen Orchestra instance to manage many XC PNG hosts. I've got a video where I talk about the architecture of how Zen works. I've also got a video talking about the backups and how that is managed using Zen Orchestra. You'll find that link down below. But I want to talk about a little bit of the chicken and egg problem when you first load an XC PNG host and then have to get Zen Orchestra on there. You have two options. First option is really simple. You can load XO a the paid version but set up for a 30 day trial or even just use it unregistered. They actually have a pretty basic functionality you get for free on there. And then you can use that to build a WNVM on one of your hosts and then build out the full XO from sources. This makes a little bit easier. I don't recommend using the Windows tool. I know a lot of people have maybe seen my old videos on that. That's not a tool I'd recommend here in 2024. Also here in January 2024 XO light is coming along. That is a version that is going to be shipping with XC PNG. It's a light version of Zen Orchestra as it name implies won't have as many features as the full version of XO but will help you with getting started and getting you a basic management interface. I'm looking forward to doing videos on that when it's out or maybe you're watching this in the future when that is available. The final thing I want to mention though is running virtual box or really any other machine even a bare metal machine that you may want to run this on. You don't have to run XO on XC PNG. That's not an absolute requirement because the XO instance connects to all the XC PNG hosts that you have set up. You can run it something like virtual box to get it started or like I do here. I keep this one up to date because I like running it in virtual box because my machine is fast and I manage a lot of systems. I don't have to load on each of these systems that I'm testing in my lab a instance of XO on them at all. I can just connect them as I load them with XC PNG and delete and format them later and reattach them via this instance I have running in virtual box. Now let's get started with the script. And that's the script on GitHub. The Zen orchestra installer updater as its name implies it both installs and manages the install once it's installed to apply the updates. There's a lot of good documentation here. It supports CentOS, all millennics, Rocky, Debian and Ubuntu. All these are supported. There's probably ways you can get it to work with other distros but those are pretty popular ones. So I think they've covered quite a few of them here and they give you a sample config. What we're going to do is just like it says here, we're going to copy this sample config when we get pull this and make it our XO install config and I'll walk you through the settings on that with the exception of customizing the command line. This is a basic install of Debian 12. I will say there are two prerequisites. The first one is going to be that you have get installed. The second one is going to be that if you want certificates that you'll need open SSL installed to create those certificates, we're going to walk you through that process of doing a self-signed certificate. There is an option that I'm not covering for doing let's encrypt but I don't think this should be publicly exposed to the internet so I'm not going to cover that. I don't see the use case for it as much. I prefer to keep all my infrastructure especially control planes for my virtual machines behind a firewall and if you don't want to deal with self-signed certificates, then I recommend a reverse proxy. Now we're going to go ahead and get cloned. So we have a copy of the repository here. So get cloned the install updater CD then orchestra install updater. We have our sample config. So we're going to copy it over to the XO install config and then use the editor of your choice. I prefer Vim. Maybe you prefer something else and we're going to customize this XO install. Now for simplicity, I'm only going to show you the things that need to be customized to get the certificate set up. There's a lot more options in here, but the default options are really good. I would leave them here. The port. If you leave it at port 80 and want to leave it just HTTP, not HTTPS, that's perfectly fine. But because we're putting certificates in, we're going to put it at 443. You can choose a completely different port if that works better for you. Scroll down here. By default, it does load all the plugins. We're going to leave that just as it is. And we're going to get down here to the certificates. We have to specify those certificates. We're going to show you how to generate them, but the only thing you have to do inside the config file is change the path to uncommented. So the installer XO cert and XO key. If you customize these any more than that, then my next steps won't work. So make sure you remember what you called these because that's important for creating the self-signed certs. Going to close and write this file. Now once the script runs, it'll create this directory, but because it hasn't run yet, we want to put those files in there. We need to create the makedir XO. So now we've created that directory. Now we're going to ahead and use OpenSSL to create the self-signed certificate. Now we're going to ahead and run the updater. It's going to be sudo dot slash XO install dot sh. And we just pressed one for install and kick back and let it do its thing. Now when we kick this off, it's installing all the different dependencies that are needed. It's putting all the different utilities that need to be set up in here. And this takes a little bit longer the first time you run it. But then when you choose the update, when you run this again, it's pretty straightforward because it will not have to do that a second time. It just grabs the source code. It will update any of them that may be out of date and then it'll kick off the process again. Depending on the speed of your system, this can take anywhere from five minutes to 10 to 15 minutes. It's very processor dependent. And now it's time to rate a login. As it notes here, the default username is admin and admin dot net. And the password is admin. So let's pull up a browser and login. And of course first we're going to be presented with our self-signed certificate error. And we're going to go ahead and log in with admin and admin dot net password admin. I don't want to save that password. As a matter of fact, the very first step you should do is going into settings users and create another admin. So we're going to create Tom or make him an admin, give him a password, hit create. Then we're going to go in sign out. And now we can go ahead and delete the admin account. And now we're good to go to start setting this up. To get your first Zen server in here, we're going to go here to settings, servers. We'll attach my lab server I have. We'll throw in the IP address of that lab server. Username is going to be root. Put in the password for that server. We're going to go ahead and allow unauthorized certificate unless you actually taking the time to set up certificates within there that are authorized and trusted. And here we go. We've got this system connected and running. We don't need to save those passwords. We go to the VMs and here is the system that I built this from the Debian XO from sources. That's it. It is now good to go. Now the system we just built is completely up to date. But let's show you this one right here that means a bit of updating to run the updates. We're just going to run the XO install again. But this time we're going to go ahead and choose the update option on this one. So option two, installing node search repository, it double checks to make sure all the other peak packages are up to date. And now it's running the installation again. And this will put me back on the latest versions. You can just keep rerunning this script if you need to update. It's that simple and it lets me know what the latest poll it's going to have here is. Now I've been using this script for a long time and it's improved a lot over the years. You know, a lot of tweaking and tuning that's been added to that config file now and making it a lot easier to use. You can still follow the directions right from the people at VATES. They have how to build it from source. And I've done that before when I was not using this script. I wanted to go through the manual process because this is all open source and all the code is available. This script is actually pulling from their GitHub repository, them being VATES and putting this all together. So you're getting the latest and freshest build and the script is just facilitating making that a little bit easier. But you can do this completely manually as well or you can even walk through the script to figure out how it does it because well it's open source as well. Love hearing from all of you. Leave your thoughts and comments down below. I will mention more and more time as I did in the beginning. If you're using this for business I do recommend you get the Zen Orchestra appliance that does have the auto updates in there. You're also helping support the project when you do that because well it's all free and code is great but people still have to write the code and it's still good to support these projects but nonetheless love hearing from you. Leave your thoughts and comments down below. Like and subscribe to see more content. Join my forums to have a more in-depth discussion and look for the forum post that has some of the details of the commands I use especially if you're weren't sure how I generated that OpenSSL certificate it's pretty easy to do. Thanks.