 Tom here from Lawrence Systems and I did a video about how to get started with XCPNG and building your virtual lab. This is kind of a continuation of how to build from sources. I referenced the video from 2018 but that showed Debian 9, Debian 10's out so let's show you how to build this on Debian 10 from source. There's a couple different ways to do it. But first, if you like to learn more about me and my company head over to LawrenceSystems.com. If you like to hire a short project there's a hires button right at the top. If you want to support this channel other ways there's affiliate links down below to get you deals and discounts on products and services we talk about on this channel which does include links to our shirt and swag store as well as a patreon so you can become a patreon supporter. And finally, if you like to have a more in-depth discussion about the video you're about to watch or suggestions for other videos head over to forums.laurancesystems.com and we can have a discussion when they're free and open community forums. Thank you very much and let's get to the video. All right, this is the final version we're actually going to roll it back and do an entire walkthrough instructions and as I like to mention the walkthrough details will be posted over in the forums. Now first, they have done a great job of documenting exactly how to pull all the code all open source. This is a full feature here and even have how to do it on different platforms and this is great. I haven't gone through their instructions and they do work. But let's make life a little easier for you. As a matter of fact, this was even updated three days ago so this is an active project and there's been updates to it based on changes that have been made and things like that. Now the first thing I will comment on suggested platform VM as a fresh install of any supporter was you should put at least three gigs ram on the machine but preferably two to four. That's important and I think that's where some of you may have failed. I believe my old video I'm showing a smaller VM well in two years more features and more compiling requires slightly bigger. But let's go back and start with how are we going to build this and how does all this work and we're going to walk you through step by step. Now first, this is an already working system that we're going to destroy. It's working, it's attached to my lab server. You can see it here at three dot 14 and we're going to blow it away and start over and show you exactly how I got there. So let me close those windows. We're going to go ahead and stop this VM here. I have a snapshot before I built it. So this is like the base installs we're rolling this install back. So I'm going to head and revert. Don't care about snapshot before because we can build it again. We can make it better. Well, we're going to make it the same actually. All right. So go through your normal and I'll just run through this real quick here. Choose and I chose Debian. And then we chose the DVD for Debian. And I'm going to skip the details of this part, but you just got to get the Debian install version 10 is what we're using here actually to show you exactly. So Debian 10.3 AMD 64 ISO. I do recommend if you have a lot of processors available, assign them. I do recommend assigning four gigs of RAM. That's how this particular virtual machine was built is with four gigs of RAM. I did test it with less and it fails to build the install. I threw 16 processors at it 16 cores, I should say not processors, but you get the idea 16 at it because it when it compiles, it does take some time. The more cores you have, it's going to lessen that. And of course, the faster the cores are that you're throwing at it, it's going to go a lot faster. Let's go ahead and boot this up. And it's our clean install. Now, when I see clean install, when I went through the install for Debian, I just didn't feel like walking through it a second time. I installed the SSH server and standard system utilities. That's it. It's as bare bones as we can go. So we're going to walk through every step of the instructions once this boots up. So boots up relatively quickly. I did load to the Zen tools in it. So the Zen tools loaded and my SSH keys are in here. So a couple basics housekeeping, but you should be able to get that far before you try to compile source code. So Debian Linux 10 ready to log in. If I look at the network address, it's 114. So let's SSH into it. All right, now I haven't even installed my fancy little prompt or anything like that. We can install it if we want. Not that worried about it for now, but we're going to run through and I do want to install one extra utility. So I'm going to apt install tmux. And it's just so I can easily split the screen. It just looks nicer. So I can show you when the compile part comes. Sorry. This is that's a completely optional apt get install. Actually apt install or apt get install. I'm old. I like to have kicks. I've been using it for so long, but they both work in case you've seen different instructions. I want to make sure htop is on here. I just like to watch the processors. You'll see that later. Completely optional. You could just patiently wait and wonder what it's doing. So back over to this, we're going to want to clone or download. So happy that. Then we're apt install get say yes. It's going to install get pretty simple get clone paste in the link. So get clone this right here. Here we go. Pretty straightforward and simple. It's an orchestra updater. I do have them installed as well. If you're more partial to nano, if that's what you're more comfortable with and do that, I just really recommend learning them as that's how we're going to edit the config file. But how do we get to that config file? So what do we do here? Let's run back through the instructions. We loaded get we get cloned the project and it'll always pull when you do that. It's going to pull whatever the latest version is. And this was updated three days ago. But whenever you're pulling, this is how it pulls latest version. They have all the install instructions, basic functionality for XO install, XO install update, rollback. The script is pretty straightforward. They do have the system requirements listed for Debbie and right here. The good news is the script is very automated and we'll run through and install all these for you. So you actually, you could install these ahead of time, save that layer, but they've done a nice job with the builder and it goes and grabs all the necessary packages and puts them in there. But once we're in here, though, the one thing we do at the edit is the config. So we're going to do CP sample config. And we want to just rename that sample config to or make a copy of it. You could just rename it and use it however works for you. But XO install that config, we're going to edit that in a second before, as I know, one of the things people are going to ask about is I want to have SSL on there. So we're going to go CD, Etsy, SSL, maker, XO, call it whatever you want, you could follow your own practices. But for the guide here, this is how we're going to do it. Now we'll be pasting these instructions, like I said, into the and the sample config file will be available in my forums. So all they did was open SSL, request, new key, RSA 496, X509, 3,650 days till expire, nodes out XO CRT, key out XRCRT. And if you missed any of that, check the forums. Give it a two letter country name, we're in Michigan for a state name, see, M-I-C-H-I-G-A-N, almost misspelled my state, O-U-T-G-E-T, these are completely optional, you could actually do whatever you want. This is the YouTube division of Lawrence Systems that's doing this, common name, XO, email x at x dot, why not. All right, if we do an LS, we see there's two files here. If you're going to do something else certificates or set up something more advanced, like let's encrypt certs, that's beyond the scope of this particular talk, but you can point it at the key files that it will use inside of XO. And that's what we're going to do next. So go back over to here. And now we're ready to start editing the file. So then XO install the config port, we're going to change this to port 443, three, whoops, can't type, there we go. True, plugins all, you just got to do is comment that out or get rid of the commenting that out and just plugins all that's perfectly fine. Path to XO cert key, the two files we created, really straightforward on how to do that. That was it. Now we're going to head and right quit. I don't think there's anything else I need to change in here, unless there's something custom. Some people said, well, can I put it on an even different port than that? Sure you can. You can put in whatever port you want. From there, we just run the XO install. But before that, I'm going to hit Tmux. That way I can split the screen. All right, we'll go XO install, auto install, install without packages, deploy a Docker container, roll back to another installation. I'm not going to cover the Docker one, but it works. The Docker one's even easier because it's just going to go grab the latest Docker image and kick it off on your system. So that is another option if you want, it is verifying that it recognizes that the OS is Debbie and 10. The baster is opt XO root, port 443. We're pulling from the master branch, the plugins to be installed. I just chose all. I mean, you could selectively install them if you want, but all seems good. If you're going to get them, get all of them. And then we just click the one for auto install, running update. We're just going to go down here and we're pull up each tile. And you can just kind of watch it run through and we'll see how much processor it's using. It's installing yarn, it's going to install node, it's going to run through any of the extras it needs or things that are missing in here. We'll let it do this. Now it's going to grab all the source code. So it's finished with all the build dependencies and all the packages it needs to build this. Now it's going to run the installation. Now this is an important part. XO server and XO web build can take quite a while, grab a cup of coffee and lay it back. So I got my coffee ready right here. And now you're going to watch down here, the processor jump all over the place doing its thing while it gets to each part of this until it's done. So we're just going to fast forward through this part as well. All right, it's finalizing a couple little housekeeping things it does, making sure it runs on startup, starting with system D waiting for port to open. You'll see all the services starting down here. Now they're all started. And that's it. It's ready to go. So now we can navigate over to the IP address of this machine and login new certificate. So except that admin at admin.net admin, this is the default password, please change this, don't leave your system at that. And remember to once you add another user, that doesn't get rid of that user. Then from here, we can just go add a server, label a lab test. I already have a xcp ng server set up 3.210 root allow on authorized certificates. And I think I got the password right. Well, know in a second. There we go xcp ng lab. VMs. Let me see what VMs are on this. Cool, we can start Debian lab or whatever. We now have a completely installed working exo built from source and orchestra. It says this version up on a support nor updates. Like I said, this is great for if you want to run this in your lab and learn all about it is the full feature. Here's go over to the settings plugins. There's all the plugins that loaded. So all those features are there turns out what how me there. Well, 17 plugins that got loaded. And if you want to even to work, you can obviously turn them on and off here and well adjust the settings as needed, of course. So let's go and see like this one. Plugin not configured. Some of them need to be configured before they can be turned on. But that's how you turn them on and off and start enabling features. But that's it. You've now built the latest version and the latest version as of the recording this video pulled from the master branch is exo 5.58.2 and web 5.58.2. So hopefully this helpful. Like I said, I'll be leaving links to the step by step instructions as well inside of my forums will be a link in below on this video and thanks. And thank you for making it to the end of the video. If you like this video, please give it a thumbs up. If you'd like to see more content from the channel, hit the subscribe button and hit the bell icon. If you like YouTube to notify you when new videos come out. If you'd like to hire us head over to LawrenceSystems.com fill out our contact page and let us know what we can help you with and what projects you'd like us to work together on. If you want to carry on the discussion, head over to forums.LauranceSystems.com where we can carry on the discussion about this video, other videos, or other tech topics in general. Even suggestions for new videos, they're accepted right there on our forums, which are free. Also, if you'd like to help the channel out in other ways, head over to our affiliate page. We have a lot of great tech offers for you. And once again, thanks for watching and see you next time.