Skip to content
Sander Rõuk edited this page Oct 2, 2016 · 26 revisions

Welcome to the Ubuntu 16.04 ADDC Builder Wiki. Here you can find how to download the program, what is needed to run it and how to use the program.

The program in a nutshell: The program takes an Ubuntu 16.04 server and turns it into an Active Directory Domain Controller running on Samba 4.

In detail explanations

Download

The program can be downloaded from the releases page. To run the program you must have JRE 1.8 or later installed on the computer which is going to be running it. If you have all the dependencies then it should work if you double click the file or you can run it from the command line with:

$ java -jar ADDCBuilder-1.0-RELEASE.jar

Server set-up

NB! Any time you wish to build an Active Directory Domain Controller using Samba and Ubuntu Server I highly recommend starting with a blank Ubuntu 16.04 server. This program only works with Ubuntu Server 16.04.

  • Download a server image from http://www.ubuntu.com/server .
  • Install the server on the machine or virtual machine you wish to use as an ADDC.
    • SSH server can be installed during the initial Ubuntu Server install however getting an updated version post install is recommended.
  • Install the krb5-user package. Enter anything as a realm as long as you keep using it with the server in the next prompts.
    • Enter the same server.realm for both server prompts.
  • Install additional configurations to your own pleasing.

Note: It is recommended to update packages and run upgrades prior to running the automated program as it does not post console messages in real time.

$ sudo apt update && sudo apt upgrade -y

Creating an ADDC with the program.

  • Configure server according to the previous step.
  • Run program and enter the appropriate details, if you are confused about what to enter where hover over the fields with your cursor.
  • Press Create ADDC and wait, the set-up can take up to 30 min or even longer depending on your internet (Some packages might get updated and some need to be installed).

NOTE The program will look like it is stuck at some points, if you don't see any errors in the console or the UI remains responsive then this is not the case, usually after it has started to download or upgrade packages, that's why it is recommended to run upgrades prior to running the program. Common places where the script will get stuck are (console outputs):

  • Updating packages and running upgrades.
  • Installing new packages.
  • Rebooting (This should not take too long)
  • Installing samba and provisioning domain (Since it is installing new packages again, it might take a while)

How do I know the program succeeded.

The final output of the program is a DNS test. Take a look at what the program outputs, if it says that there are SRV records for ldap, kerberos and A record for the server.domain then the program worked.

You can run additional tests by running the following commands:

# Replace DOMAIN.NET with your fully qualified domain, needs to be in CAPS
$ kinit administrator@DOMAIN.NET

$ klist

# Replace hostname with the name of the machine and domain.net with your FQD, can be lower case.
$ sudo smbclient -L hostname.domain.net -U 'administrator'

$ sudo smbclient //localhost/netlogon -U 'administrator'

How does the program work.

Essentially the program works on the algorithm provided by Jim Shaver in his blog, if you wish to understand why something is done the way it is done then consult his blog or his VOD at: https://jimshaver.net/2016/05/30/setting-up-an-active-directory-domain-controller-using-samba-4-on-ubuntu-16-04/