How To Set Up A New Windows Domain – Server 2016 Essentials

I had some extra hardware lying around, and my trusty backup drive got full so, I decide it was time to build a lab environment so I could develop stuff easier. This involves, to start with a Windows Server 2016 Essentials server. Hopefully everyone out there will find the process I’m going through to set this all up useful.

One of the first steps is creating a Windows Domain. There’s a pretty good TechNet article on this that gives some really good advice for people new to the industry. There are a few things you don’t get to do often in IT, and creating a domain from scratch, unless you routinely install Windows systems for customers is one of them.

The process for creating a Windows domain is pretty simple and basically the same on newer versions of Server. You set up the server, give it a static IP, promote it to a domain controller, and follow the wizard. It reboots a couple of times, and you have your very own Windows domain.

Once you do this you pretty much can’t go back, so you have to make some decisions and give it some thought beforehand.

Now, like the TechNet article this is mainly for relative beginners with a network requiring one domain controller (possibly two), small to medium size business owners, and technicians just starting to dip their toes into these waters. This is not for Enterprise IT guys with a huge domain forest. You guys already know what you’re doing. If you’re starting out and you feel your network is big enough for ten domain controllers, three sub-domains and has five thousand users, consider hitting that contact form up there. Also I’m using the Essentials version of 2016. The processes I’ll be describing in this and future articles are similar but not exactly the same as what you’ll find in  Standard and Datacenter versions.

Considerations For Naming Your Windows Domain

This is where I’ve seen the biggest mistakes made. You need to answer a few questions and do this very deliberately. Now fortunately, Microsoft has some very good defaults that make this a little easier, but it probably wasn’t always this way.

Questions

  • Do I have a website and email that’s hosted somewhere outside my premises?
  • Will I ALWAYS have that website/email domain or could it be changed it in the future? (Less important)
  • Do I like making really creative changes to my DNS to make things work because I named my internal domain the same as my external hosted domain?
  • Is anyone actually going to care that the internal domain doesn’t match our external website? (The answer is likely not).

The reason is, and let’s use this website as an example. Say, GoDaddy hosts WorkendTech.com and its email. I then name my internal domain “WorkEndTech.com” as I’ve seen many people do. When I pull up a website on any computers attached to that domain, using my domain controller as a DNS server, I won’t able to reach my website, or get e-mail. This is because internally “WorkEndTech.com” is now referring to my domain controller(s), not GoDaddy’s hosting. Also my email will  not magically start going to my email server because I set up an Exchange server to start accepting email for that domain.

This should seem obvious but, you have to tell everything on the Internet where you want that stuff to go. You will then also have to tell your own internal DNS servers that you want “http://WorkEndTech.com” to point to something on the internet, and if your host doesn’t have a static IP assigned to your website, or if they change name servers sometimes, which they may, this can get super annoying. Also, remember once you set the domain up it can’t be changed without wiping the domain controller and starting over.

Now if you host your own website, email, and all that other fun stuff on the very server you’re setting up, this is irrelevant and you might actually consider naming your website and internal domain the same thing for convenience. You can name it something else and point your internal stuff to an internal server a lot easier than the situation above.

Consider using the .local extension for your domain heavily. That way you can differentiate it from your external domain. By default Microsoft will assign it this way.

Setting Up Your First Domain Server 2016 Essentials (And other versions of Server)

So you’ll need a few things before you start.

  • A Static IP for your server.
  • A name for your domain (See considerations above).
  • A hostname for your server.
  • Internet Access for your Server (OK this is breaking some security rules, but it makes time synchronization easier. If your router has an NTP server on it, just network access will do).
  • About 30 minutes.

Step 1 – Install Server 2016 Essentials on your machine. Just get the DVD or use a Bootable USB drive.

Step 2 – Give your server a static IP.  Reboot the server. Ignore the “Configure your Server” wizard that pops up. It’ll pop  up on reboot. You can even close it. I’m not sure how to make it pop back  up manually, but rebooting seems to work fine.

Step 3 – A wizard for “Configuring Your Server” should pop up automatically. Read it, click Next.

Step 4 – Make sure your Time Zone and Date/Time are correct.

If the time and date and time zone aren’t correct hit the “Change System Time and Date Settings” and you need to change the time zone here. Usually it’s just the time zone that’s wrong as it is always set to US Pacific time by default. Click Next once that’s all set up.

Step 5 – Enter your company name. The wizard will suggest a domain name and host name for your machine. With mine, I put in WorkEndTech. It suggested WORKENDTECH as the domain and WorkEndTeServer. Obviously I changed it.

I changed my server name to just WorkEndTechServer and made sure my domain was WorkEndTech.local. You can make doubly sure or change the full domain name by clicking the “Change Full DNS Name”. I highly suggest doing this just to make sure.

You can also go with a different naming scheme for your servers, changing the host name will in no way affect the domain name. Click Next.

Step 6 – Create a network admin username and password. I’d suggest against “administrator”. You can use your own name. I went with WorkEndAdm. Click next.

Step 7 – Choose whether you want to use the recommended security settings or do that all later. I just went with the recommended and clicked next. You can tweak those security settings later if you’d like.  Click Next.

Step 8 – The wizard will then start setting up your server as a domain controller for you. This process can take up to half an hour depending on your hardware. I’ve seen some take as little as three or four minutes. It will reboot, continue to set up, and possibly reboot again.

That’s it. You’re pretty much done. The server is now a domain controller. You can now start joining client PC’s to it, making group policy stuff, adding users into to Active Directory, and adding roles and features.

 

 

Clear OS – SugarCRM Removal

How To Remove SugarCRM from ClearOS

I’m not going to show how to put SugarCRM on ClearOS because there are a lot of guides out there how to do that. I’m going to show how to take it off. Here’s how to do that. This is more of a theory guide than a step by step how to.

Theoretical Step 1 – Putty/SSH into the Clear OS and remove the SugarCRM files. Mine were under /var/www/html/sugarcrm/CRM. You may have put them under a Virtual directory or something. Here are a few commands to keep in mind:

Remove a directory – rm or rmdir

Remove a directory that isn’t empty – rm -rf [directory]
(Careful with this command)

Theoretical Step 2 – Remove the database. I show in the video how to do this with whatever version of phpMyAdmin comes prepackaged. It may vary on your version a little, I know most versions I’ve used don’t look exactly like what is on this server. You could also log into the server with Putty and fire up mysql. Since you’re probably using a root user and hopefully your root password is different in mysql you’ll need to do this:

Log into MySQL – mysql -u root -p
(It will ask for the MySQL root password when you hit enter)

Drop the sugarCRM database – DROP DATABASE sugarcrm;

Show databases  – SHOW databases;

That should remove SugarCRM pretty easily. To put it on was basically the reverse of that. Create a blank database called “sugarcrm”. Unzip the SugarCRM files into the /www/html/sugarcrm folder. Then follow the instructions for the initial setup.

 

ClearOS – Initial Configuration – Video

Recorded my initial configuration of ClearOS. Here’s the video with my commentary.

I do make a few mistakes in the video. One is the OS is really Centos, and while I did add SugarCRM, it wasn’t what I needed. I’ll be linking instructions for that soon though.

Clear OS – Initial Thoughts

Spent a good part of my weekend building a box out of parts cobbled together in my garage for a ClearOS server. Thought I’d post some first thoughts on the process and why.

What’s it for?

I’d been thinking I needed a small business server for a while to help me manage some projects and as a testing and development platform. I need to be able to develop web applications locally, invoice some consulting projects and other uses.

Why ClearOS

Normally I’d use Ubuntu Server or Windows Server for projects like this. Ubuntu is my preferred Linux flavor, and it’s rare to find something that doesn’t work with it. A friend of mine pointed me to ClearOS, however. I really like the idea of a web-based interface for interacting with the server. For rolling out features quickly, I think this is the way to go for most deployments assuming your security is tight enough. So I thought I’d give it a try.

Pros and Cons

I am looking at the Community Edition. They have paid Home and Business editions as well as pre-built appliances you can order. It’s a subscription model and pricing is fairly reasonable at every level.

First the bad.

  • Their website and documentation is good but either lacking or not updated often. I was trying to install MySQL from the Marketplace. I could not find it no matter what I did. Everything I found indicated you should just be able to search for “MySQL” and click install. It did not show up. Eventually I figured out, as far as I can tell you install “MariaDB” and that installs MySQL and phpMyAdmin. At least for the Community Edition this seems to be a recurring problem.
  • Manually installing apps is confusing. It’s basically just the yum app in CentOS/Redhat, so no big deal. However, because of the documentation issue when I tried to just install MySQL manually I wasn’t even sure it worked. The manual installation instructions were confusing and had screenshots of things that just didn’t seem to exist. This could just be because I am using the Community Edition and some things are turned off. This is one of those things that would make it sort of hard to consider upgrading.
  • The setup process makes you register the server even if you are just using the Community Edition. Not a huge deal, as you get some Dynamic DNS stuff and a few other things. This is likely why their apps are so easy to work with. If you care about your privacy, this might be an issue. Installing these for clients, this is actually a pro, in my opinion.
  • It seemed like it turned on its DHCP server for some reason. I’m not sure if it was really on or if the GUI was just indicating it was on. I set it up as a private server and didn’t have it act as a DNS server. This could be bad if it turns a DHCP server on by default.

The Good

  • It was incredibly easy to install. The entire install process took no more than about twenty minutes. Initial configuration made sense and it didn’t need too many unnecessary steps.
  • The Marketplace makes it very easy to set your server up to do whatever you need. Do you want to build a firewall? You can choose the apps you need for that really easily. Do you need just a basic web server and nothing else? Easy to do that. A couple of clicks and you have it done.
  • There are templates for Public, Private and Gateway servers as well as other functions. This lets you deploy things much more quickly than setting up a server entirely from scratch.

Overall I’m pleased and look forward to using it. There are bugs for sure but I think that something like this could potentially shave off significant amounts of time in deployment. It is not good for all situations but for small to mid-size businesses it has a lot of potential.

 

CMOS Batteries – Most Common Type

Quick post for something to add to your toolkits. Occasionally a CMOS battery will go out, especially on an old machine that’s been sitting around a while. They last several years but not forever. I’ve seen some ancient machines that use some weird battery packs but most motherboards use plain old ‘CR2032’ lithium batteries. You can be a sucker and go buy them locally for way more than what they’re worth or get a few dozen of them now for about fifty cents each if you need one.

KEYKO 10pc C2032 Lithium Coin Cell Battery

The above link has ten packs, twenty packs, and fifty packs. If you look around you can find them in hundred piece blister packs. Personally I wouldn’t buy that many unless you work with a lot of old computers. They do go bad, not quickly but they do.

They’re also handy to have around for other things. Small kitchen scales, alarm clocks and other devices use them either as their power source or as a memory backup. You can also replace old gameboy game cartridge batteries with them.

Just had to use one for a computer I ‘refurbished’ for a ClearOS server build I just did. Don’t get caught unprepared!