Меню Рубрики

Linux turnkey domain controller

Domain Controller

free Active Directory server

A Samba4-based Active Directory-compatible domain controller that supports printing services and centralized Netlogon authentication for Windows systems, without requiring Windows Server. Since 1992, Samba has provided a secure and stable free software re-implementation of standard Windows services and protocols (SMB/CIFS).

Run from browser



This appliance includes all the standard features in TurnKey Core, and on top of that:

  • SSL support out of the box.
  • Webmin modules for configuring Samba.
  • Domain controller (Samba) configurations:
    • Preconfigured NetBIOS name: PDC
    • Sets domain/realm names on first boot
    • Created administrator account is pre-set as Domain User/Admin
    • Domain Admins have full permissions on the domain.
      • Default permissions: owner full permissions.
    • Configured plug-and-play printing support:
      • Installed PDF printer (drops printed docs to $HOME/PDF).
      • Configured cups web interface to bind to all interfaces and support SSL.
  • Includes flip to convert text file endings between UNIX and DOS formats.
  • Includes TurnKey web control panel (convenience).


Usage details & Logging in for Administration

No default passwords: For security reasons there are no default passwords. All passwords are set at system initialization time.

Ignore SSL browser warning: browsers don’t like self-signed SSL certificates, but this is the only kind that can be generated automatically without paying a commercial Certificate Authority.

Username for samba:

Login as username administrator

Web – point your browser at either:

  1. – not encrypted so no browser warning
  2. – encrypted with self-signed SSL certificate

Username for database administration:

Login as MySQL username root at

  1. – Adminer database management web app
  2. MySQL command line tool:

Username for OS system administration:

Login as root except on AWS marketplace which uses username admin.

  1. Point your browser to:
    • – System control panel
    • – Web based command line terminal
  2. Login with SSH client:

Special case for AWS marketplace:

* Replace with a valid IP or hostname.


Domain Controller

Recent versions of TurnKey’s Domain-Controller (DC) appliance uses Samba4 to provide a Microsoft Active Directory domain.

However, it should be noted that the current appliance is a fairly bare-bones AD server. It is provided as a “better starting point” for those that wish to use Samba4 as an AD DC but is far from being feature complete.

Steps that need to be taken when first launched:

  • Set a static IP on your domain-controller
    • If running on AWS (e.g. TurnKey Hub) then connect an “Elastic IP” (AWS equivalent of a static IP).
    • Otherwise; easiest via confconsole
    • if not using the DHCP assigned IP please re-run the domain provision inithook – copy/paste the following into commandline:
  • (optional) Create the DNS reverse lookup zone and PTR records.
    example details:
    hostname: dc1
    domain/realm: domain.lan
    ip address:
  • (optional) Adjust DNS forwarder in /etc/samba/smb.conf
    • currently hardcoded to Google DNS (
      edit /etc/samba/smb.conf and adjust the field that is currently “dns forwarder =”

To join a Windows Desktop to a Samba AD domain see the Samba Wiki: https://wiki.samba.org/index.php/Joining_a_Windows_client_to_a_domain

Administer your AD: install RSAT

To administer your AD please install Microsoft RSAT (Remote Server Administration Tools) onto a Windows member of your Domain. Note RSAT should already be pre-installed in the latest versions of Windows 10.

Some simple administration tasks, such as adding new AD/Samba users; can be completed via samba-tool from your TurnKey Domain-Controller commandline. For more info please see the Samba Wiki – Add Users to Samba AD.

Features to be added in the future:

  • Option to provision a fileserver AD member server
    • not yet sure on how this will be implemented.
    • see “Best Practice” notes below
  • Support for Roaming Profiles(?)
    • will require AD member fileserver
  • Configuration of PTR records for domain controller
    • strictly speaking they’re not required but would be good
  • documentation on including a DHCP server


Currently TKLBAM won’t properly backup a domain. If you wish to use TKLBAM hooks to script it there is info on the Samba Wiki: https://wiki.samba.org/index.php/Backup_and_restore_an_Samba_AD_DC

Note: if you have multiple AD DCs then rather than restore from backup; just rejoin the server to the domain. Restoring a backup to a server that is already a member of a domain will likely cause DB corruption and/or multiple identical domain objects.

General best practice recommendations

Running AD DC in a container

For best experience it is recommended that TurnKey Domain Controller is run within a “proper” VM (or bare metal; rather than within a LXC or Docker container). However, Samba4 should generally function ok within a “privileged” container (although no guarantees that there will be no issues). Some functionality may work within a “unprivileged” container, but strange unexpected issues will likely occur, including (but not limited to) failures when running ‘samba-tool’.

General DC Notes

In production it is recommended that you have a minimum of 2 domain controllers in an AD domain.

File storage/fileserver

Samba advise against using a (Samba4) domain controller as a fileserver as well. Instead it is recommended that you create a dedicated fileserver (as a domain member server). The current TurnKey fileserver appliance is NOT useful for this with it’s default config. See notes on the Samba wiki on setting up a member server: https://wiki.samba.org/index.php/Setup_a_Samba_AD_Member_Server

Please note, that the TurnKey Fileserver appliance includes the same version of Sambas as the DC appliance, but is configured as “stand-alone” by default. You are welcome to reconfigure it to join an existing domain and that should work fine. Please post on the forums if you do that and would like to share your experience and/or need a hand.

Further domain configuration e.g. DNS

As noted above, Samba recommend using Microsoft RSAT (from within a Windows workstation) to do additional AD (Samba4) configuration.


For production usage it is recommended to use a domain name that you have registered with a domain registrar as the realm. If you plan to use a domain that you already own (e.g. “example.com”) as your realm then add a unique subdomain to avoid potential problems (e.g. “ad.example.com”)

Do not use “.local” realms/tlds as they can conflict with Apple (bonjour) and zeroconf type networked devices.

Integration with LDAP

Samba4 includes it’s own custom AD user database. As a general rule, you should just use this built-in service. However, there is some limited support for integration with LDAP. For more info, please see these Samba Wiki links:


TurnKey Linux — сервер для разработчика под ключ

Сегодня мне бы хотелось поделиться с уважаемым хабрасообществом проектом под названием TurnKey Linux, который однажды мне очень помог.

Что это и зачем нам это?

Как нам ясно из перевода turnkey linux — это линукс под ключ, т.е. в нашем случае дистрибутив с интегрированным в него каким-либо сервисом или приложением, которое можно развернуть и начать работать за считанные минуты.
Вариантов применения такого дистрибутива великое множество: начиная от простого желания посмотреть то или иное приложение в живую перед развертыванием на боевом сервере и заканчивая использованием его в качестве сервера разработки, обкатки или даже как локального боевого сервера для небольшой компании.
Идея такого продукта не нова и TurnKey Linux не является монополистом на рынке, на хабре уже писали про довольно схожий проект BitNami. Поэтому мне бы хотелось рассказать подробнее про преимущества и возможности TurnKey Linux, так как в своей работе я выбрал именно его.

Что нам предлагают?

TurnKey Linux предлагает нам 40 ready-to-use решений, которые условно делятся на 8 категорий:

  1. Specials: File Server, Domain Controller;
  2. Web development: LAMP, Django, Ruby, Tomcat, etc;
  3. Content management: Drupal, Joomla!, Wiki, etc;
  4. Messaging: phpBB, etc;
  5. Issue tracking: Bugzilla, etc;
  6. Datese: MySQL, PostgreSQL;
  7. SDK: Google App Engine, etc.

Все эти так называемые virtual appliances доступны нам в виде iso-образов совершенно бесплатно на условиях GPL. В этом как мне кажется и заключается основное отличие и преимущество против BitNami, который предоставляет либо нативные установщики либо уже готовые vmware-образы для работы под OpenSUSE и Ubuntu. Несмотря на примерно одинаковое количество готовых решений у BitNami, TurnKey вырывается вперед в плане удобства использования и развертывания, а так же по оснащенности дистрибутивов.

Как это работает?

Как я уже сказал выше, нам предлагают для скачивания iso-образ, который мы можем использовать на любой виртуальной машине, под любой ОС и даже записать на диск или флешку. Мне кажется это очень удобным.
Рассмотрим типовую установку системы на виртуальной машине, но перед этим пару слов о том что входит дистрибутив системы. Все virtual appliances от TurnKey построены на базе Ubuntu Server 10.04.1, включают в себя web-панель для администрирования системы Webmin, подключенный SSH и AJAX web shell.

Сейчас немного картинок.

Приятная особенность, можно сэкономить свое время и попробовать продукт перед установкой.

Дальше идет обычный текстовый debian установщик.

Нам предлагают установить пароль root

Небольшое графическое меню уже работающей системы, которое так же позволяет настроить сеть и перезагрузить\выключить систему.

Так выглядит пустой сайт.

Небольшое резюме

Мне нравится TurnKey Linux по многим причинам, например за их политику «100% Open Source», а так же постоянное расширение «ассортимента», обновление и тестирование своих продуктов. Их дистрибутивы действительно удобны, быстро развертываются, легко кастомизируются.

everything that can be easy, should be easy (с) TurnKey Linux

Спасибо за внимание!

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.