A Linux-based Domain Controller for a vSphere lab – part 2

This is a four-part series of posts explaining how to install and configure a Linux-based appliance in your vSphere lab environment to take the role as a Windows Domain Controller.

Update: Fernando Pimenta has been kind enough to translate this series into Portuguese. You can find the translated copies here.

An existing domain

First off, I’m assuming you’re creating a new lab domain. You can join a Zentyal instance to your existing lab domain, promote it to act as a Domain Controller, handover the FSMO roles, then retire your Windows-based Domain Controller. Any existing GPOs will be available in the transferred domain. However that’s more than I want to get into for this series of posts. I like to rebuild my lab from scratch on occasion, to clear up the cruft that appears in a setup that lacks disciplined change management. But if you’ve built a complex setup, and the thought of rebuilding it all seems like too much work, then we’d love to hear your battle stories in the comments section below.  Here are a couple of pointers to the online documentation that might help you.

Joining Zentyal server to an existing domain:
http://doc.zentyal.org/en/filesharing.html#joining-zentyal-server-to-an-existing-domain

Total Migration (transferring FSMO roles):
http://doc.zentyal.org/en/filesharing.html#total-migration

An existing server

If you already have an existing Ubuntu (or Debian) server, you can install the Zentyal package. Again, this is out of the scope of these posts, but here’s a couple of pointers if that’s what you want to do.

Zentyal 3.3 is developed and tested with Ubuntu 12.04.3 (Precise) Server Edition, and hasn’t been tested with other versions – YMMV.

  • Add their repository to your /etc/apt/sources.list:
  deb http://archive.zentyal.org/zentyal 3.3 main extra
  • To authenticate the packages in the Zentyal repository you can import its public key with the following command:
  wget -q http://keys.zentyal.org/zentyal-3.3-archive.asc -O- | sudo apt-key add -
  • The base package is called “zentyal” – suprise! So this will get you started:
  sudo apt-get update
  sudo apt-get install -y zentyal

A new server

Zentyal does provide pre-built VMDK images here, but I’d recommend just rolling your own. It’s simple and that way you can choose the modules you need from the outset. Go here to grab the latest release: http://www.zentyal.org/server/

I created a VM shell with these specs:

Guest OS: Ubuntu 64-bit
vCPU: 1
vRAM: 1GB
Disk: 10 GB (thinly provisioned)
Disk Controller: LSI Logic

I suspect you could run this off 512MB of memory for a lab if you’re in tight squeeze but I haven’t tested it.

Deploying the appliance

  • Boot up the VM (with the downloaded ISO image attached)
  • Keep English as the highlighted language and press enter
  • Select the default option of “Install Zentyal 3.3 (delete all disk)”

1 boot screen

  • Select your location

2 install language

  • Detect keyboard layout – I selected the default of No and moved on to select my keyboard from the list in the subsequent 2 screens (English US)
  • The installer then started to copy base packages to the disk
  • Then the installer asked what the hostname should be – I was happy to keep it as zentyal for my lab.

3 install hostname

  • Next, you’re asked for an administrator’s username – I was happy to keep it simple, avoid any pesky security best practises, and used zentyal for my lab

4 install username - zentyal

  • Stick in the password when requested
  • Set the time zone
  • The installer then copies the remainder of the base packages to the disk
  • Once the base install is complete, disconnect the CD ISO image and reboot
  • Upon reboot the Zentyal core packages get installed
  • It then boots to a Ubuntu desktop (XFCE or LXDE desktop?) with Firefox open at a login screen

5 initial login blank

At this point in the proceedings I increased the size of the desktop resolution beyond the default 800 x 600. To do this click in the bottom left desktop icon > Preferences > Monitor Settings – Make sure you “Apply” the setting, not just “Save”.

All of this hard work make the Zentyal panda very happy. You should be too. We’re half way to building a Linux-based Domain Controller.

12 Panda

Part 3 of this series explains how to configure the Zentyal instance.

5 thoughts on “A Linux-based Domain Controller for a vSphere lab – part 2

  1. These are great articles..! I was wondering if you installed VMWare tools in the appliance? (or did you end up using e1000 network card.?)

    1. I just left it with the E1000 NIC that is standard for the guest OS I based it on. I haven’t had any issues in my lab environment, but I guess if I was running this in a more Production-type setting, I’d install VMware tools.

Leave a Reply to AlphenIT Cancel reply