 I say all the time one of the most important things for anyone nowadays. I don't care if you're old or young or you're employed, unemployed, is to have a website and to have your own email server. It's never been cheaper and easier to do it. It's a pretty simple process. In this video, I'm just going to set up a web server where you can have a website, in fact, a number of websites, but also an email server just because I know there are a lot of people who are always looking for ways to stop using Google or something else. So that's what I'm going to do in this video. I've done videos on setting up a web server or doing an email server in separate videos before. I want to do it all in one sitting here and also add in some improvements, I guess, and some additional stuff. So here's what I'm going to do. Well, I should put it this way. You need two things if you want to have a website. Firstly you need a domain name. So to get a domain name, you can go to any domain registrar. There are a million of them. The one that I use is Epic. Epic is very nice. I'll put a link below. You can also, usually, you get a domain name and every year you pay a fee to the ICANN, which is between usually $10 to $12. So it's not very much. It's basically a dollar a month, right? At Epic, you can actually reserve a domain forever. It costs a lot of money. I mean, it costs a couple hundred bucks, but you can do that if you don't want to have to worry about renewing it or anything. I mean, you can have it automatically renew anyway, but I do recommend Epic. So you need a domain name and you also need somewhere to host your website. So that could be a server in your house, but a lot of people don't have an extra computer hooked up to their power and their internet that they want people accessing all the time. So what's pretty common nowadays is you can get virtual storage online. So I have, well, this is the company I use. I use Vulture. It's the one I'm going to be setting it up with in this video. Basically you can just rent for a couple bucks a month. I think it's like $3 a month. You can get a server where you can host your files, your website, your email, like all the stuff you need. So basically every year you end up spending, you know, 60, maybe 70 bucks a year to pay for this whole website where you can have multiple websites. And even if you're just putting like your CV up or basic information or just links to stuff you like, it's professional to have your own website and email server, frankly. It's a good investment even if you don't know what you're going to do. You don't want to become internet famous or something like that. Anyway, so check out the link to Vulture below. I actually, the link to Vulture, that's an affiliate link that is unironically a total steal because you get like $100 of free credit the first month to play around. And then if you stay on, like I get a cut of like your first payments or something like that. It's extremely generous. We're ripping them off. Click on, at least click on the Vulture link. Anyway, so here's what I've done. On Epic, I've actually reserved this domain name here. It is Lanchad.net because that's what you're going to be. You're going to be a internet Lanchad. So that's the domain that I'm going to be using, setting up a website and email with. And on Vulture, just start an account here. Again, links to these both below. And we'll go ahead and start with Vulture. First thing you want to do is you want to deploy a server. You can just click on the big blue thing and deploy one. It doesn't, they give you a lot of choices. Don't get too overwhelmed by them. It doesn't really matter that much where your server is. I guess closer to where you think you're going to have a lot of traffic. I usually pick New York. For the operating system, I'm going to be using Debian 10. You can probably get away with Debian 9 or Ubuntu following these directions, but there might be a couple other things you have to do. I'm going to be using Debian 10 and the script that I'm going to use to set up the email server is assuming that you're using Debian 10, although I think it does work on a Ubuntu. It's not important. As for the server size, so here's the thing that you see a whole bunch of options here. You could pay 160 bucks a month to get all this storage space and all this bandwidth. Don't even bother. Get the cheapest one. Get the 351, well, don't get the one that's IPv6 only. You don't want that, but get the cheapest one that's not IPv6 only. It does not take that much storage space or bandwidth or memory to run a simple website and a web server or an email server, so don't look for anything complicated. Then down here, although I said don't get the IPv6 only thing, we do want to enable IPv6. That's just because as the web has gone on, people are using IPv6, IP addresses more. You'll want to set that up. You want to have a future-proof website. If you don't know what that means, what IPv4, IPv6 is, it doesn't matter, but we'll set it up in just a second. Last you can go ahead and set a name for the server you're setting up. I'm just going to give it the domain name that I have. I think it's .NET, isn't it, .NET. Then I'm just going to say deploy now. That is going to take maybe a minute or so to set up. In the meantime, the thing that we really need to do, so we have this domain name here, what I'm going to do is I'm going to go to DNS host records with that, DNS host records. The important thing on your registrar is you want to set it up, so I should explain what DNS is. When you type in a web address like whatever.com, what your browser or what the internet basically does is it looks to a DNS server and a DNS server more or less has rules for if I see this domain name, what server IP am I going to look to? What we want to do is put in records that will link this domain to our IP address. Our server should be about done setting up. Let's click on it and see what happens. We already have an IP address, so we can get started. I'm going to copy this IP address and I'm going to go to the epic tab again. You're going to want to go to the A records, the external host A records. They have some stuff already filled out here. You can just delete that. Actually, I'm deleting it, but I'm just going to add stuff that's nearly identical. You are albeit with a different IP address, of course. For your first A record, you're going to leave this blank and you're going to paste in your IP. That is just going to direct. If someone puts in landchad.net, it's going to go to that IP address. It's going to tell you, look at that server and then the server, if you have a web server, things are going to be displayed. Additionally, you're going to want to redirect www.landchad to that IP address. Additionally, you're going to want to put in a wild card entry. What this means is if someone types in blog.whatever or mail.whatever, we'll need this for the mail address. They're all going to go to the same place. They're all going to this. This entry, for any possible subdomain you make, it's going to redirect it there. We're not done with these. These are IPv4 addresses. We also, if you go to your server here, if you go to settings and then IPv6, this ugly looking thing here, that's your IPv6 address. We're going to want to put in records for that as well. We can go back here, say add a record. This time, on this little drop down menu, select the AAAA record, the quad A record. In that case, put in your IPv6 address and just do the same thing. We want www, put in this, put it to AAAA and then the star AAAA. Once you put those in, there's one other thing we want to add here. Go to the mail services over here and you're going to want to put in a record for, let's say priority 10, it doesn't really matter, I don't think. Point this to mail.landshad.net or whatever your domain is. This is for dealing with when we set up the mail server, you're just going to need this. The important thing here is on Epic at least, make sure to have a trailing period here. Once you have this done, once you have all six of these AAAA records in and your MX record, go ahead and save it and that is going to update and we'll be able to access. Once the DNS records propagate, we'll be able to access our server. How do we do that exactly? We access it using SSH, which is a nice little command line utility. What we can do at any time is just type in SSH and then we can say root because we want to log in as root and you can put in the address you want to go to. They give you, let me get rid of this, they give you here a password and we'll show our password here. That's a good looking password, I mean no one's going to randomly guess that, right? So I'm going to copy this and we'll just test it out to make sure it works. I'm going to log into this, it's going to ask, oh here's a new fingerprint, do you want to remember this? I'll just say yes. Put in your password, okay so now we're in the server, right? I'm going to press control D, I'm actually going to exit the server because I'm going to do something else first. So we logged into our server successfully, but what I really want is I want to be able to secure it, so well here's what I want. Firstly, I don't want to have to put in my password every time I SSH into my server. Additionally, hypothetically if someone guesses my password or if someone sees that it's right here and you're watching this video, I don't want you to be able to log into this, this server. So there's a very secure way of actually securing any server and that is with SSH or with GPG, okay? If you don't have a GPG key pair, just run this, GPG full gen key. And what this does is it generates what's called a key pair that can identify you, it can identify this machine so that whenever you try to log, you can tell your server, hey, if I try to log in with this key, let me in. Or if I put this key on another computer, let me log in with this computer. And then we can say just don't accept anyone who puts in the password, don't accept any passwords basically. It's a more secure way of keeping your server safe. So if you've never, if you don't have a GPG key pair, run this command, it'll give you directions for creating it, just say yes and go through all the stuff. But once we have that, we can run this. We can run SSH copy ID and then again root at our domain here. And this, what it's going to do is it's going to log in, I'm going to give the password, I think I still have it on my clipboard. Yeah, so it is going to, you give it the password and what that does is it actually takes your GPG key pair and tells the server, hey, let this guy log in without using a password, okay? That's me. That's key when you see it. So now what we can do, okay, we can run this original SSH command again. And this time, if we run it, it's not going to ask us for a password because it sees, oh, you have that GPG key pair that I recognize, oh, I can trust you, all right? Now that we've done that, let's actually secure our server because all you guys know my password, so I don't want you logging into this server here. So what we can do is I'm going to use a tech, you can use whatever text editor you know how to use. I'm going to use VIM. If you don't know how to use VIM, use Nano, you know, because VIM isn't, you know, you got to know how to use VIM to use it. But let's edit the file, etsy slash SSH slash SSHD underscore config, okay? So SSH, you know, again, is this service that allows you to log into computers and stuff remotely. Now I'm going to search for PAM. There should be a line that's like PAMs. Yeah, okay. See this line right here is use PAM. We want to change that from yes to no. And then there's another line that should be, yeah, password authentication. This is commented out, uncomment that, and then change that to no. So what those two settings are going to do is once we refresh SSH, or SSH the demon, it is going to not, even if you give it the right password, it's not going to let you log in. The only people who can log in are people who have been approved, who have a GPG key pair that we just, or an approved GPG key pair, like the one we just have. So to refresh that, to make that config current, just run systemctl reload sshd. So now, even if someone knows your password, because they saw it in a YouTube video, you will not be able to log into, they will not be able to log into your server. Now you guys remember last time I did one of these videos, I did that as a flex, except for I edited the wrong file. It was actually pretty cringe, because there's a SSH underscore config, but the one you need is SSHD underscore config, but whatever. Okay, so now let's actually start setting up this web server. Well, we'll do some general stuff first. First we'll run apt update, just to update our packages. We'll see if there are any that need to be upgraded. It says four packages can be upgraded. So I'm going to run apt upgrade and upgrade those. Just to make sure we got new stuff, the newest and best software. So now we're going to want to, actually before I even install stuff, I'm going to again use a text editor. You can use nano if you don't know how to use vm. I'm going to edit the bash rc in this server. I just want to clean some stuff up in here. So they give you some settings you can uncomment here. If you want to add colors and some aliases, you will probably want these three at the bottom because they make commands like remove and copy safer by forcing the I option. And I'm going to add some other stuff in here as well. Like I like the VI mode in the shell, so I'm going to set that. And then also I'm going to set some more aliases. One command that you're going to use all the time is on a server is systemctl. I always find that is too much typing. So I'm going to alias s to systemctl. So now if I type s, it's just going to run systemctl so I don't have to type on that out. And also j, I'm going to have that as a shortcut for journalctl x, xe. And that's going to show you if you're like troubleshooting something. This command shows you your logs so you can see if there's some kind of error. So I'm going to save that file. And now I am going to source it so it's active. So that should give me, oops, that should give me colors and stuff. OK, so you have colors and yeah, s does systemctl. That's nice. OK, so now let's actually install this stuff. We will want to apt install the following packages. We are going to want engine x. Engine x is what we're going to use as a web server. And we're going to use Python cert bot engine x. This is the thing that's going to give you HTTPS on your website. It's going to give you an encrypted connection so people connecting to your website if they're using passwords. They're safe like if you're having your mail server. You also just want this in general for a million different reasons like ISPs can't look at what pages people are looking at. Adds a little security. There are a bunch of little things it does. So you'll want that. And I'm also going to install R-Sync because I'm going to show you how to, usually what I do is when I'm designing a website or I have my own website, I actually keep all the website source files offline on my laptop or something. And I use R-Sync to sync that with my server. So I'm going to install that because it needs to be installed on the receiving server. That's just going to take a second. Well, we'll see. I might have to, no, it's going quick enough that I don't have to stop it. Trying to think if there's something else I need to do in the meantime. So I will say on Epic, we will be putting in some text records here at the very end of the video. So you might want to keep that tab open. I think we're, oh, there's one thing I forgot. OK, there's one thing I totally forgot about that we need to do. Glad I checked here. Go back to settings and IPv6. And you want to take your IPv6 address here and you want to make a reverse DNS record down here. So just copy that in there. And for the reverse DNS, just put in your, I'm going to put landshad.net, whatever your domain name is, and say add. Yeah, I'm glad I remembered that now rather than later because that's required for setting up everything with the email server. So yeah, make sure you do that. Let's see. OK, so that's done perfect, perfect timing. So let's talk about how Nginx works. So Nginx, again, is going to be your web server. Actually, we can go ahead, we can go to landshad.net. And we should have this little Nginx. Yep, it says welcome to Nginx. Now how it usually works on Debian is the config files are in Etsy Nginx. Specifically, what you really typically do is in sites available, that is where they have, you put all the different sites that you have configuration files with. There's a default file in here. And then once you want to activate those, you sim link those files to the directory sites enabled. That's usually how it works. We'll just do it step by step. So I am going to, actually, I'll copy this default file. And I'm going to copy it into the same directory. But I'm going to rename it, it's available. We'll just say landshad. This is going to be the site configuration. If someone clicks, or if someone just goes directly to the website, I don't want this appearing. I want some other website that I configure to be there. So that's what I'm going to change this to. So I'm going to open up this new file, landshad. And you'll see it has a whole bunch of comments and stuff. I don't like comments. Let me get rid of comments with vimgo to just some vimmagic here. That's what I'm doing. OK, yeah. So I just got rid of all those comments. Just cleaning up the file. So here's what you're going to want to change in this file. Firstly, get rid of default server here. You don't want that. And replace that. Don't, I mean, keep the semicolon at the end. But get rid of the default server. Now this line here, root, this is where you tell IngenX where you are going to put the files for your web server. By default, this little site that came up here, this little default site is automatically generated in the directory var www.html. OK, I'm going to change that. I'm going to say landshad or something like that. And then this line can stay the same. Server name, put in your domain name, landshad.net. And then www.landshad.net, OK? So once we have that, we basically have everything we need here. So I'm going to exit, save and exit that file. I'm also going to go ahead. And I'm going to make it sort of a dummy configuration. This is going to make things easier when I do the email server. I'm actually going to copy that file into another file called mail. And I'm going to edit that file. Let me go in here for a second. For root, you don't really need to change this. You can if you want. I mean, if you want to add some landing directory for that. But I'm going to change the server name to mail.landshad.net and www.mail.landshad.net. That's the only thing I'm going to change in this file, OK? So now we have a configuration file for our main website. And we have a configuration file for our mail subdomain. I'm going to link both of those. And that is this is to activate them. You want to link those files, which are in the sites available directory. You want to link them into the sites enabled directory. So now that one is going to be enabled. Next time you refresh engine X. And now we'll do the same thing with mail. Now to refresh engine X, you run system CTL reload in Gen X. I actually alias system CTL to S so I can just type that. But that is going to reload it. So now what that's going to do is if we go back here to our website and try and load it again, it's actually going to say 404, not found. Well, that's because we changed the directory that it's looking at. If we go back, let's go back. We changed its root directory to var slash or var www.landshad. And that directory doesn't exist. Let's actually make it up. Landshad. Now that directory exists. Let's make a file in it. Landshad and index.html is usually the landing page. So this is a landshad site. Actually, maybe I should landshad is a big word. So let's make it all caps. Here is some HTML. So you can basically, this is your website. So if we go back here, reload it. Oh look, that file, or yeah, that file we were just editing, it is our website. So now what you can actually do is you can build your website online or offline, and you can upload it to this location. Whatever is at this directory var www.landshad, that is going to be your website. Now we're not done. Don't turn off the video, that's what you're going to do because we got to give the site HTTPS. But I will say this is how I usually, I think I have a little example file here. Okay, so this is usually how I update a website. I use an rsync command. Specifically, let's say I have a little directory here called website in my home directory. So here is just some stuff that I put in it. What I can do is I can run a command like this. I can say rsync, I'm actually going to omit the U there because for reasons, but I can do something like I can run rsync, and again, this is on my local computer and upload that to landshad.net, give it the location that I'm putting it at, and what that will do is it will just upload the entire directory, whatever I put in. Right now I just have one file, but you can make your website or whatever and that's going to update it. And if we go over here, this should be updated. Or do I need to, yeah, I think I need to put a trailing, let's see if that works. Yeah, I think that's it. Yes, yeah, rsync is picky about if you have a trailing slash or whatever. But that kind of command, it will update, it will, you can upload whatever file so you can work on your website offline. Then you just run a command like this, you put it in a script or in an alias and you can use that to update your website. Anyway, so let's do some other really important things. I said you really want HTTPS and today, nowadays, it is so easy to get. It used to be a big pain, especially if you have like hosts, if you had old school hosting, you'd have to basically pay for it. But there's this great project called certbot which makes it so easy to do. It's fantastic how, I don't know, great and easy it is. So as I said, we installed earlier this package called python-certbot-enginex. Now we can run certbot and what this is gonna do is it's basically just gonna set up HTTPS. First it'll ask for your email address. This is just to email you when it has to be renewed or whatever. You can set it up to auto-renew to ask for terms of service and they also ask if you wanna give them your email. I'm gonna say no, but you know, whatever. And then it'll ask which website, which domain do you want to have HTTPS for? I'm gonna just press enter cause that means choose all and it's gonna make a HTTPS or a certificate for all of those websites. It's gonna take just a little second, okay? And at the end, it's gonna say do you wanna redirect these sites? And you're gonna wanna definitely say yes and that is number two, okay? And now what's gonna happen? So I'll show you what that did on the server side. If you look at those engine X files that we were editing a little bit ago like sites available, a landshad, it actually added all this stuff here, all this kind of stuff. It's actually, yeah, it's actually good that it does this. You used to have to do it manually but so it gets a certificate and it automatically fills in engine X's config files with the things you need. Now, if we go back here, before it said not secure on our website, if we reload that website, oh, look at that. Now there's a little lock sign, our connection is secure. So that does a million different things in addition to, you know, making you higher in search results and stuff like that. You know, it makes it so if people are accessing your website, ISPs and other people can't just model, can't just watch every single page they go to, they can only see that they have an encrypted connection to your website and there, well, especially when we set up a mail server in a second, which actually not a second, we're basically gonna do that now. Yeah, you're gonna want that for a mail server as well. Okay, so how do you set up a mail server? Here is the easiest way to do it. I have a script that does it automatically and if you wanna see what the script runs, you can look at it yourself but I'm gonna download the script using CURL. I keep it at lukesmith.xyz slash email whiz.sh and run that with the L and the O options, capital L and capital O and that is gonna download a little script, okay? And it has some documentation. You can read it and look at what it actually does but it basically sets up a post fix in Dovcott server and that's what we're gonna wanna do it install spam assess and then all these other things. So I'm just gonna run it and I'll explain it while it runs because it'll take a little bit of time. Just press okay on the first thing, say internet site and then here change the system mail name to your domain name. So land chat.net, okay? So that's gonna take a little bit to set up. That is installing Dovcott. Dovcott is like what you connect to, to download your mail or whatever. Post fix is the thing that sends your mail. It installs both of them and mutually configures them. It installs spam assassin that can blocks, it blocks a lot of spam by default and you can also edit it to get more fine grain control. It also sets up DKIM and a lot of other things. What DKIM is, it's a service for basically validating your emails. If you send to like Google or these other enterprise accounts or something like that, they have higher standard, like they want more verification that the email is actually coming from who, it says it's coming from. So DKIM is a way of validating that kind of email and stuff. I will just say that, yeah, that's something you definitely want to configure if you have an email server. Otherwise it's just gonna be, your mail is gonna be considered spam. Now this is gonna finish in just a split second and the last thing you're gonna wanna do is you can go ahead and go to Epic. Oh, actually it's already pulled up, but on your domain name, landchad.net, go to your text records and we're gonna put in some text records. It's gonna give us some in just a moment. I think, I don't wanna have to stop the video. I know that it's like, it's literally right. Okay, there it is, all right, great. All right, so this stuff in green, it tells you what you need to do. All this stuff in green, we're gonna add it to Epic site and then we'll basically be done setting up this email server. All this data is also stored in this little file if you wanna just open that file, but I'm just gonna copy it directly from here. Firstly I'll copy this thingy, okay? So notice that there are three records here. There's one, this really long one, there's this one here and then there's this one here, okay? So I'm gonna take this record here, copy that and it goes with at. So you're gonna say, the host is at. Text value is that. Add another record. That is gonna be, let's move my face. I'm gonna copy all of this junk, okay? And that is gonna be at underscore D mark. Underscore D mark. I don't think you need to include the dot and then the rest of it. I'm not quite sure, I'll double check that. I'm doing this live, I'll test it live, but last time I did it, I feel like Epic automatically fills in the rest of your domain. So for this other one, this one's a lot bigger, just make sure you copy it all and I'm gonna copy this. Gonna omit the domain as well. I'm pretty sure you don't need the domain itself on Epic. If you're putting this in, if you have your own DNS server, you gotta put these entries in as they appear. But okay, I'm pretty sure that's gonna work. Okay, so the last thing we wanna do, our email server should be up and running now, but we actually need accounts on our email server. So how I have this email server work is if you have a user account on your server and that user is a member of the mail group, then they have an email account. So let's create a user and add him to the mail group. So we can say user add, give it the capital G and that's gonna mean add it to the group mail. Give it the M option. The M option is super important. That just creates a directory, like a user directory for this email account and that's where the mail is gonna be stored. And then we'll name the account, let's say, I don't know, Chad, okay. So now there's a user called Chad that exists on the server. We need, in order to log in, we gotta give him a password. So let's give Chad a password. I'm just gonna type in whatever, type in some old password that I don't use anymore. Okay, so now we have a password for that. Now what I'm gonna do is I actually install, just for this purpose, I installed Thunderbird. So I'm gonna pull Thunderbird up. Now you can use whatever email client you want. Thunderbird is nice if you want a graphical user interface. You can check out my MUT wizard, I will put links to that below. That if you want something on the command line, if you're using Android, I recommend K9. But really, any email client should work. So your name, we'll say the guy's name is Chad. Email address is gonna be Chad at landchad.net and my password, what was it about? Yeah, this one. Wait, no. You know, I really take a lot of pride in the passwords I create. Like I wish I could share my algorithm for creating passwords, cause they're very memorable, but I think they're also like, no one would guess them, all right? So you're also, you're probably gonna want to, actually let's just press continue and see what happens. We'll probably have to configure it manually. Cause it won't be able to guess. Yeah, I don't think it is. I'm not gonna, wait, let's see. Let's configure it manually. Okay, so here's what you're gonna wanna do. You are gonna want for the SSL, pick SSL and it should be 993 here. And for this, I think I have start TLS, don't I? Yeah, I have start TLS on this. So, okay, so the IMAP, that means basically downloading your mail, have that be SSL and the port should be 993, that should be automatic. And then for the SMTP, that means sending mail, that should stay as start TLS. And let's see the, yeah, the port should be 587. That's the normal one. Let's retest that. Thunderbird, oh, stupid me. Sorry, I forgot about the most important part. The server is not IMAP and SMTPs, change that to mail. Yeah, sorry, I forgot about that one too. Okay, yeah. So that should work. We'll say done, okay. Now what I'm gonna do is, let's get this, okay. So firstly, let's, you'll see actually it's successful because it's loading all of our mailboxes here. I am going to send, I'm gonna send a mail to my main address. Okay, so just to see that we can send mail and stuff, this is an email from Chad, your bud, okay, lol. I just put lol because the spam assassin is actually more likely to counter the spam if there's only one line. So I'm gonna send that. And I'm also going to send a message. Let's send a message to, shoot, who should I, yeah. Yeah, I'm gonna send it to a Gmail account too because I wanna see if Gmail is gonna work right off the bat. Now here's one fact of life. A lot of times if you just start, if you just order a domain name, a lot of times it will be automatically listed as a spam address. So I don't know, will this go to Gmail? Will this go to Gmail? Let's find out, let's find out. Best Chad, okay. So I am going to go check both of these email addresses and we'll see what goes through. All right, so now I've pulled up my email. I did successfully get this email from, in my main account. But I went to Gmail and actually this email went straight to spam. And in fact, I sent another email that was a little longer just to see if it wasn't just the length. And again, as I said, sometimes Gmail or other accounts, they'll automatically, if they see a new domain, they'll probably mark it as spam. As time goes on, that won't happen. Like if the domain has been registered for more than a week or so, it'll get better basically. But there are a couple other things you can do to test your mail service. I'm gonna put links to these below. Again, the script that I have called email whiz in its readme, I linked to a couple things like this thing, a DKIM test. Now we put in those DKIM entries a second ago. Let's actually make sure that that's not our problem, just in case. So what it's gonna ask us to do is it's gonna give us a little mail address here. I'm gonna copy that email address. And I'm gonna go to our Thunderbird where we have our email account. And I'm gonna send it to that exact address. It doesn't matter what you send. But it is gonna test your email. It's gonna test your email. It'll come up here in just one second. And it'll tell you if something's wrong with the DKIM signature. Let's see what happens. Okay, pass, pass, pass, that's great. Okay, everything is actually perfect. We've put pretty much everything in here. We do have this thing down here, RBL. So what this means is we might be on some kind of list. This domain might be your IP address has been put on one of these lists or something like that as maybe the person who used to own your IP was sending out spam or something like that. So we can actually look at this list. Let's see what this site is actually like. Drone, BL. See, these sites are basically monitors of who's sending out spam or stuff like that. Let's see, are you listed in? I don't know. In your case, if you have problems, it looks like here you can submit your IP address and get it removed from the list or something like that. But it might be a little different in each case. Either way, this little tool will sort of tell you what might have gone wrong with your email, but looks like all of the stuff setting in our settings is good. I don't know, I might just submit my IP address to that in a bit. Additionally, there are some other links that again will be below if you wanna check your email or your domain name to see if it's gonna be on a spam list or a black list. I'm gonna go ahead and put it in here. It's gonna take us, let's see. Yeah, see, look, same thing came up, drone, BL. Yeah, it looks like we just got unlucky when I got an IP address. I guess I'll have to get it removed by them or something like that. I'm gonna put lanshed.net in here just as well. This is DNS tester, just to make sure we put in all of our entries right. Oh yeah, I haven't actually received mail. Have I? Let me, let's see. It's a reply to this mail actually. Here is a mail in reply. I'm gonna send that. Okay, so that's gonna send, oh, look at that. So I can receive mail as well. Right, so our SMTP server and our Dovcott server are working out. Okay, let's see if there's anything wrong with our DNS. I don't see any scary red Xs, so that looks good. So it looks like I put in everything right in the DNS records. So yes, apparently you don't have to put in the full domain. So that's, I think we did a whole lot in that video, but when it comes down to it, you now should have a website and you should have an email address. Again, there are little hurdles you will run over. I might just go ahead and do this in a second. But I will say, let's talk about if you wanna have other subdomains, okay? That's one thing that I think, we'll go ahead and put this in. I could do this as another video, but I think it's worth doing now. Let's say hypothetically, you wanna have another subdomain, let's say you want blog.lanchad.net or something like that. All right, so what we can do for that is, so again, if we look at InginX, we have these available sites. Well, we can make a new one. Let's make a new one. Let's take the old Lanchad configuration and we'll copy that. Let's say we wanna have the Lanchad blog, okay? So I'm gonna copy that there and we're going to go to that and oh, actually, we might not want this InginX stuff. That might interfere when we redo. Well, we'll find out what happens. We'll just find out. Or not Ingin, or the assert bot stuff. So I'm gonna give it a blog. I'm just gonna say change its main domain to blog.lanchad.net, put in blog there and I'm gonna put the directory in blog right here. Now, I'm not quite sure if we can just run assert bot. Well, oh yeah, I gotta link it. Sites available, blog to sites enabled. Okay, and I'm gonna reload InginX. Again, s stands for system CTL. Okay, there's an error. Oh, it's probably because I put all those. Yeah, it's because I shoot. Hold on, I'm gonna delete some stuff off. Actually, no, I'll just do it on camera because why not? I don't know, let me see if my mic is actually working. Okay, yeah, we'll do it on camera because why not? It's the end of the video we already got through most of the content. So we'll do more active troubleshooting. So the issue is, I'll tell you what the issue is as I'm doing this. Yeah, when you use the assert bot thing to refresh certificates, things are gonna be messed up if we don't have a certificate for if, because the certificate that is in this file, the blog file that we just copied over, that does not have an entry for the actual blog subdomain. So that's why it's given an error. What I'm gonna do, I'm just gonna delete that. I'm gonna delete that and I'm gonna copy. Actually, no, here's what I'm gonna, well, no. We'll copy the default one to blog and then I'm gonna go to the default because I think at the bottom, yes, at the bottom they just have, if you don't wanna just delete all the comments or something like that, you can just do it this way. Okay, so now let's redo, let's say server name, blog.landchad.net, www, blog.landchad.net, end it with a semicolon, yeah, I always talk out all the things that I, I don't just do it for videos, I always talk out the things that I type and we're gonna have our root as the var www, wblog, okay. Now, now we'll retry that. Now we should be able to, we didn't have an error that time, now we should be able to do our certbot command again and you'll see that both the blogs are showing up, I'm just gonna press enter to do, get a certificate for everything, say expand your old certificate. Basically, we already had a certificate for the main domain and the mail domain, now we're expanding it to include that blog domain, okay. So that should take just one second and it's gonna ask us to redirect in just a moment. Yep, redirect. So now, let's, we made the directory for that var www, blog. So I am going to, you know, I'm sure there's someone who's upset at the fact that I'm doing all this as root. Cause, well, okay, I'm not gonna think about that. Hey, I do it, whatever, it works. So this is a blog, this is the landchad blog test. So let's see if that actually is working. Where is it? Okay, bloglandchad.net. Look at that, works perfectly. So that's how you set up a subdomain, you basically just make a new entry and link it and restart it and you gotta, you know, watch out for the certificate errors and stuff. And you can also, mind you, I did this, so I did that with the subdomain. Theoretically, of course, you can have multiple websites on the same server. There's no problem with that whatsoever, okay. I do that in fact, my not, luke smith.xyz and larbs.xyz and not related.xyz, I'm pretty sure I have them all on the same server. If you wanted to do that, hypothetically, let's go to the blog as an example. This site's available blog. If you wanted to do, do that, wait, that is not, is that the one that I just, whatever. Okay, I was confused for a minute, I just did something stupid where, I didn't notice it a minute ago. I made the default file, the one I was actually using for the blog and I used the blog file that is retaining the stuff into the default file. It doesn't actually matter what they're named, but either way I was gonna say, so hypothetically, if, we can go back in that one, if you wanted to do something like have some other domain name, you can very easily, instead of having a server name that is like a subdomain, you could have like, let's say I have landshad.com as well, which is probably already, I think that was already taken, I looked for that. I wonder what's there. But yeah, you can do any kind of, it doesn't have to be a subdomain of your particular website, but yeah, you can do pretty much anything within Ginex and setup, however many servers and stuff like that. All right, this has gone on long enough. I did get a little rambly at the end, but that's setting up an email server and a web server and now you're your own internet landshad in case you weren't already, so see you guys next time.