Установку будем проводить на системе с последними обновлениями. Хочу заметить что следует четко придерживаться последовательности вводимых команд для обеспечения успешной установки и конфигурирования. Кроме того очень рекомендуется перед установкой провести обновление системы:

sudo apt-get update && sudo apt-get upgrade

Если у вас Ubuntu 10.04 LTS, то нужно установить необходимые пакеты samba4 из репозитория maverick, т.к. пакеты, находящиеся в репозитории lucid, очень устаревшие и имеют некоторые проблемы:

sudo sed -i 's/lucid/maverick/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get install samba4 samba4-clients bind9 -y
sudo sed -i 's/maverick/lucid/g' /etc/apt/sources.list 
sudo apt-get update
Если у вас Ubuntu Maverick и старше, то вместо всех предыдущих команд достаточно выполнить:
sudo apt-get install samba4 samba4-clients bind9 -y

Сохраним оригинальный smb.conf:

sudo mv /etc/samba/smb.conf{,.old}

Создадим конфиг и базу данных.

Перед выполнением следующей команды следует убедится что samba не запущена
ps -e | grep samba

и, если увидите что samba запущена, ОБЯЗАТЕЛЬНО остановите ее

sudo service samba4 stop
Замените значение realm на DNS имя вашего сервера, domain на название домена, adminpass на желаемый пароль администратора PDC!
sudo LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /usr/share/samba/setup/provision --realm=samdom.example.com \
  --domain=SAMDOM --adminpass=SOMEPASSWORD --server-role='domain controller'
На данном этапе возможны сообщения типа «ERROR» и «… not found» , это нормально, кроме сообщения:
_ldb.LdbError: (19, '0000052D: Constraint violation - check_password_restrictions: the password does not meet the complexity criterias!')

Оно говорит о созданном пароле, не отвечающим критериям. В этом случае надо удалить smb.conf:

sudo rm /etc/samba/smb.conf

и переконфигурировать предыдущей командой.

Подправим скрипт запуска samba4 /etc/init.d/samba4. Ищем строки начинающиеся на

log_daemon_msg "Starting Samba 4 daemon" "samba"

и вписываем ниже

if [ ! -d $(dirname $SAMBAPID) ]; then
   mkdir -p $(dirname $SAMBAPID)
fi

Создадим скрипт запуска необходимых библиотек /usr/local/sbin/samba с таким содержанием:

#!/bin/sh
LD_PRELOAD=/usr/lib/libdcerpc.so.0.0.1 /usr/sbin/$(basename $0)

Сделаем его исполняемым

sudo chmod +x /usr/local/sbin/samba

Создадим симлинки samba_dnsupdate и samba_spnupdate к этому скрипту

sudo ln -s /usr/local/sbin/samba{,_dnsupdate}
sudo ln -s /usr/local/sbin/samba{,_spnupdate}

Загрузим samba4

sudo /etc/init.d/samba4 start

На этом этапе не должно быть ошибок. Если же они появились, проверяем правильность правки /etc/init.d/samba4 и работоспособность скрипта.

Поправим конфигурацию Bind9. Дописываем в конец файла /etc/bind/named.conf.local строчку

include "/var/lib/samba/private/named.conf";

Разрешим AppArmor'ом читать Bind9'у читать конфиги Samba4. Для этого в конец файла /etc/apparmor.d/usr.sbin.named, до знака } вписываем

/var/lib/samba/private/* rw,
/var/lib/samba/private/dns/* rw,

Это должно выглядеть примерно так:

...
  /var/lib/samba/private/* rw,
  /var/lib/samba/private/dns/* rw,
}

Перегрузим AppArmor и Bind9:

sudo /etc/init.d/apparmor reload
sudo /etc/init.d/bind9 restart

Добавляем в /etc/resolv.conf:

nameserver 127.0.0.1

Копируем конфиг Kerberos

sudo cp /var/lib/samba/private/krb5.conf /etc/

Проверяем работоспособность

smbclient -UAdministrator -Llocalhost

Ответом должно быть вроде этого

Sharename       Type       Comment
 ---------       ----       -------
 netlogon        Disk       
 sysvol          Disk       
 IPC$            IPC        IPC Service (Samba 4.0.0alpha12-GIT-UNKNOWN)
 ADMIN$          Disk       DISK Service (Samba 4.0.0alpha12-GIT-UNKNOWN)
REWRITE: list servers not implemented

На этом начальная установка и настройка PDC завершена. На виндовом клиенте прописываем адрес нашего PDC в качестве первичного DNS-сервера, пингуем PDC по имени и вводим в домен(администратор домена - administrator)

Для управления доменом воспользуемся пакетом Adminpak.msi: для Windows7, для Vista + RSAT, для Windows XP Pro + вторая часть.

Устанавливаем, в Меню выбираем пункт Выполнить, вбиваем dsa.msc, наслаждаемся :)

Ссылки