Предполагается, что у вас уже установлен docker, docker-compose и ansible.
Шаг 1. Настройка сервера
Назначаем имя серверу:
1
|
sudo hostnamectl set-hostname freeipa.domain.local
|
Далее скачиваем ansible-role с официального сайта:
1
|
sudo ansible-galaxy role install ipaclient
|
Если получаем ошибку «ERROR! Unexpected Exception, this is probably a bug: No module named ‘gssapi’
Надо доустановить:
1
|
sudo apt install krb5-config libkrb5-dev
|
И запустить установку через pip:
1
|
/usr/bin/pip install gssapi –pre
|
Шаг 2. Запускаем freeipa в контейнере
Создаем директорию freeipa в /opt и docker-compose файл в opt/freeipa:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
---
version: "3.8"
services:
freeipa:
image: freeipa/freeipa-server:rocky-8
hostname: freeipa
domainname: domain.local
container_name: freeipa
ports:
- 80:80
- 443:443
- 389:389
- 636:636
- 88:88
- 464:464
- 88:88/udp
- 464:464/udp
- 123:123/udp
dns:
- 192.168.10.190
restart: unless-stopped
tty: true
stdin_open: true
environment:
IPA_SERVER_HOSTNAME: freeipa.domain.local
IPA_SERVER_IP: 192.168.10.188
TZ: "Europe/Moscow"
command:
- ipa-server-install
- --domain= domain.local
- --realm=DOMAIN.LOCAL
- --admin-password=changeME
- --http-pin=mypass
- --dirsrv-pin=mypass
- --ds-password=changeME
- --no-host-dns
- --setup-dns
- --auto-forwarders
- --allow-zone-overlap
- --no-dnssec-validation
- --unattended
cap_add:
- SYS_TIME
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup
- ./data:/data
- ./logs:/var/logs
sysctls:
- net.ipv6.conf.all.disable_ipv6=0
...
|
Запускаем:
Далее переходим в веб-консоль по нашему адресу:
Здесь нажимаем “Отмена”
Авторизуемся:
1
2
|
Логин: admin
Пароль: changeME (Указали в docker-compose файле, параметр --admin-password)
|
Наш домен FreeIPA создан.
Дальнейшее конфигурирование выполняется в панели администратора веб-интерфейса.