Подготовлен скрипт [[http://togusak.ddnss.de/server/adc_install.sh adc_install.sh]] ([[https://www.opennet.dev/soft/adc_install.sh.txt копия]]) для упрощения миграции с продуктов Microsoft на Linux с контроллером домена на основе Samba. Скрипт автоматизирует установку Samba AD+DDNS+DHCPD, почтового сервера на основе Postfix+Dovecot и FTP-сервера vstfpd в openSuSE Leap 15.5, что может оказаться полезным когда нужно быстро развернуть рабочую систему, а уже потом заниматься экспериментами и тонкой настройкой.
Cкрипт запускается командой:./adc_install.sh (-OPTION)
Поддерживаемые параметры:
-ad_install - Установить Samba_AD NAMED DHCPD.
-ad_uninstall - Удалить конфигурацию Samba_AD.
-ad_restart - Restart Samba_AD NAMED DHCPD.
-ad_status - Status Samba_AD NAMED DHCPD.
-ad_test - Прoверка работы Samba_AD.
-uadd - Создать пользователя домена.
-udel - Удалить пользователя домена.
-gadd - Создать группу домена.
-ugadd - Ввести пользователя в группу домена.
-upass - Задать пароль пользователю домена
-dhcp - Установить DHCPD.
-dhcp_on - Включить DHCPD demon. Вводит IP-адрес и имя компьютера ( принтера, смартфона и пр.) в прямую и обратную зону DNS.-dhcp_off - Выключить DHCPD demon.
-bind - Установить NAMED.
-c_add - Ввеcти компьютер в DNS.
-c_del - Удалить компьютер из DNS.
-cname_add - Присвоить новое имя компьютеру - CNAME в DNS.
-cname_del - Удалить имя компьютера - CNAME из DNS.
-ns_add - Ввеcти NS запись для компьютера в обратную зону DNS.
-mx_add - Ввеcти MX запись для компьютера в DNS.
-ftp - Установить FTP Сервер VSTPD.
-http - Установить HTTP Сервер Apache2.
-mail_inst - Установить почтовый сервер.
-mail_uninst - Удалить конфигурацию почтового серверa.
-mail_restart - перезапуск почтового серверa.
-mail_status - состояние почтового серверa.
-mail_stop - остановка почтового серверa.
-mail_test - тестирование почтового серверa.
-padmin - Установить PostfixAdmin
-madmin - Установить phpMyAdmin
-rcube - Установить Roundcubemail
-bsys - Бэкап внесённых изменений в систему
Устанавливаем свежую версию OpenSUSE Leap 15.5 с официального сайта openSuSE Leap 15.5 - https://get.opensuse.org/leap/15.5/
Приступим к установке Samba Active Directory Domain Controller, сопровождая этот процесс скриншотамиСтартуем Yast2 и устанавливаем:
1. Название сервера --> adc.dyhap.net
2. Название домена --> dyhap.net
3. IP адрес сервера --> 192.168.3.4
4. Шлюз --> 192.168.3.2
5. IP адрес внешнего DNS --> 192.168.1.1 и 1.1.1.1[[IMG /soft/adc/ad/0.jpg]]
[[IMG /soft/adc/ad/1.jpg]]
[[IMG /soft/adc/ad/2.jpg]]Мы видим - сервер получил нужные параметры.
Теперь выполним команду:
# ./adc_install.sh -ad_install
[[IMG /soft/adc/ad/3.jpg]]
[[IMG /soft/adc/ad/4.jpg]]Зададим пароль администратору Samba AD... ну скажем --> "OpenSUSE15".
Зададим IP DNS --> 192.168.1.1
[[IMG /soft/adc/ad/5.jpg]]
[[IMG /soft/adc/ad/6.jpg]]Установка Samba AD+DDNS+DHCPD закончена.
Осталось только сделать "reboot" сервера, чтобы наши установки вступили в силу.
После старта проверим статус Samba AD, DNS и DHCP-Сервера.
Выполним команду:
# ./adc_install.sh -ad_restart
... и проверим статус сервера выполнив команду:
# ./adc_install.sh -ad_status
[[IMG /soft/adc/ad/7.jpg]]
[[IMG /soft/adc/ad/8.jpg]]
Сделаем тест системы.И выполним команду:
# ./adc_install.sh -ad_test
[[IMG /soft/adc/ad/9.jpg]]
[[IMG /soft/adc/ad/10.jpg]]
Теперь можем создать пользователя домена... ну скажем --> Wasja Pupkin.Выполним команду:
# ./adc_install.sh -uadd
[[IMG /soft/adc/ad/11.jpg]]
[[IMG /soft/adc/ad/12.jpg]]Wasja Pupkin получил login для машины Windows в домене DYHAP: --> w.pupkin
Так же netlogon скрипт: --> w.pupkin.bat
И email-адрес: --> w.pupkin@dyhap.netВыполним команду:
# ./adc_install.sh -mail_test
А вот email-адреса "test_user@dyhap.net" как и пользователя домена "test_user" в системе нет.
Создадим пользователя домена --> test_user.
[[IMG /soft/adc/mail/36.jpg]]
[[IMG /soft/adc/mail/37.jpg]]
Установка Samba Active Directory Domain Controller закончена.
++ Теперь приступим к установке почтового сервера.Выполнив команду:
# ./adc_install.sh -mail_inst
мы установим:
1. service postfix
2. service dovecot
3. service amavis
4. service spamd
5. service clamd
6. service clamav-milter
7. service fail2ban
8. service freshclamДля этого необходимо создать:
1. ssl-сертификаты
2. администратора почтового сервера... --> mailadmin
3. пароль администратору mailadmin .. ну скажем --> "OpenSUSE15"
[[IMG /soft/adc/mail/24.jpg]]
[[IMG /soft/adc/mail/26.jpg]]
[[IMG /soft/adc/mail/29.jpg]]
Установка почтового Сервера закончена.
++ Теперь можно добавить компьютер Windows по имени "win12" в домен Active Directory.1. Стартуем компьютер в локальной сети
--> параметры сетевого адаптера получены от DHCP сервера
2. "test_user" в домене --> DYHAP\test_user
3. IP адрес win12.dyhap.net --> 192.168.3.50
4. DHCP-Сервер ввёл win12.dyhap.net в DNS
[[IMG /soft/adc/win/0.jpg]]
[[IMG /soft/adc/win/1.jpg]]Стандартный процесс --> администратор "win12" вводит его в домен.
[[IMG /soft/adc/win/2.jpg]]
[[IMG /soft/adc/win/4.jpg]]
[[IMG /soft/adc/win/6.jpg]]
[[IMG /soft/adc/win/18.jpg]]В окне авторизации test_user указывает свои учетные данные и получает права на ввод в рабочей станции win12 в домен.
[[IMG /soft/adc/win/7.jpg]]
[[IMG /soft/adc/win/11.jpg]]Теперь test_user получил доступ к таким ресурсам в Active Directory,
как электронная почта, приложения и сеть.При входе стартует скрипт "test_user.bat" и test_user получил доступ
к таким ресурсам "Users" и "public" в сети Active Directory[[IMG /soft/adc/win/5.jpg]]
[[IMG /soft/adc/win/3.jpg]]
[[IMG /soft/adc/win/24.jpg]]Домашний каталог test_user на сервере.
1. Перемещаемый профиль --> test_user.V6
2. Почтовый каталог --> Maildir
[[IMG /soft/adc/win/9.jpg]]
[[IMG /soft/adc/win/12.jpg]]
++ Теперь протестируем работу почтового Сервера .Выполним команду:
# ./adc_install.sh -mail_status
[[IMG /soft/adc/mail/30.jpg]]
[[IMG /soft/adc/mail/31.jpg]]
[[IMG /soft/adc/mail/[33.jpg]]
[[IMG /soft/adc/mail/34.jpg]]...всё работает
Стартуем на сервере почтовый клиент Thunderbird.
1. Cоздадим учетную запись почты пользователя --> "mailadmin"
2. "mailadmin" отправил письмо пользователю --> "gennadi@dyhap.net"
3. Сообщение об ошибке можно проигнорировать и повторить
4. Это информация о том, что ssl-сертификаты самодельные.
[[IMG /soft/adc/mail/38.jpg]]
[[IMG /soft/adc/mail/39.jpg]]
[[IMG /soft/adc/mail/40.jpg]]
[[IMG /soft/adc/mail/41.jpg]]
[[IMG /soft/adc/mail/42.jpg]]
[[IMG /soft/adc/mail/43.jpg]]
[[IMG /soft/adc/mail/45.jpg]]
Пользователь "gennadi" принимает письмо от "mailadmin" почтовым клиентом KMail OpenSUSE 15.5 .Стартуем на сервере почтовый клиент Kmail.
1. Cоздадим учетную запись почты пользователя --> "gennadi"
4. И принимаем информацию о том, что ssl-сертификаты самодельные.
[[IMG /soft/adc/mail/46.jpg]]
[[IMG /soft/adc/mail/47.jpg]]
[[IMG /soft/adc/mail/48.jpg]]
[[IMG /soft/adc/mail/49.jpg]]
[[IMG /soft/adc/mail/50.jpg]]
[[IMG /soft/adc/mail/51.jpg]]
[[IMG /soft/adc/mail/52.jpg]]
[[IMG /soft/adc/mail/53.jpg]]
[[IMG /soft/adc/mail/54.jpg]]
[[IMG /soft/adc/mail/55.jpg]]Пользователь "gennadi" получил письмо от "mailadmin" и отправляет ответ.
Пользователь "mailadmin" отправляет письмо с тест-вирусом:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
--> на имя "gennadi". НО антивирус "clamd" заблокировал его.
[[IMG /soft/adc/mail/58.jpg]]
[[IMG /soft/adc/mail/56.jpg]]
[[IMG /soft/adc/mail/59.jpg]]Пользователь "gennadi" отправляет письмо с ANTI-SPAM-TEST:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
--> на имя "mailadmin". НО антиспам "amavis" отправляет его в карантин.
[[IMG /soft/adc/mail/60.jpg]]
[[IMG /soft/adc/mail/61.jpg]]
[[IMG /soft/adc/mail/62.jpg]]
[[IMG /soft/adc/mail/63.jpg]]ANTI-SPAM и ANTIVIRUS работают
Cоздадим учетную запись почты пользователя "test_user" на компьютере "win12"
[[IMG /soft/adc/win/13.jpg]]
[[IMG /soft/adc/win/15.jpg]]
[[IMG /soft/adc/win/17.jpg]]
[[IMG /soft/adc/win/21.jpg]]Пользователь "test_user" получил письмо от "mailadmin" и отправляет ответ.
[[IMG /soft/adc/win/19.jpg]]
[[IMG /soft/adc/win/23.jpg]]Почтовый Сервер прекрасно работает. НО для работы в интернете нужны настоящие SSL-сертификаты.
++ Установка Apache2+PHP8+SSL.Выполним команду:
# ./adc_install.sh -http
[[IMG /soft/adc/http/20.jpg]]
[[IMG /soft/adc/http/22.jpg]]
[[IMG /soft/adc/http/21.jpg]]Установка phpMyAdmin.
Выполним команду:
# ./adc_install.sh -madmin
login: root
Password: OpenSUSE15[[IMG /soft/adc/madmin/23.jpg]]
[[IMG /soft/adc/madmin/24.jpg]]Установка PostfixAdmin.
Выполним команду:
# ./adc_install.sh -padmin
Setup password: OpenSUSE15
[[IMG /soft/adc/padmin/67.jpg]]
[[IMG /soft/adc/padmin/72.jpg]]
[[IMG /soft/adc/padmin/71.jpg]]
[[IMG /soft/adc/padmin/73.jpg]]
[[IMG /soft/adc/padmin/68.jpg]]
[[IMG /soft/adc/padmin/69.jpg]]Установка Roundcubemail.
Выполним команду:
# ./adc_install.sh -rcube
imap_host = ssl://webmail.dyhap.net:993
smtp_host = ssl://webmail.dyhap.net:465Любой пользователь домена получает права на пользование Roundcubemail.
[[IMG /soft/adc/rcube/74.jpg]]
[[IMG /soft/adc/rcube/75.jpg]]
[[IMG /soft/adc/rcube/77.jpg]]
[[IMG /soft/adc/rcube/78.jpg]]
[[IMG /soft/adc/rcube/79.jpg]]
[[IMG /soft/adc/rcube/80.jpg]]
[[IMG /soft/adc/rcube/81.jpg]]Установка VSFTPd Сервера.
Выполним команду:
# ./adc_install.sh -ftp
[[IMG /soft/adc/ftp/11.jpg]]
[[IMG /soft/adc/ftp/12.jpg]]VSFTPd Сервер прекрасно работает.
Пользователь "test_user" получил права на пользование VSFTPd Сервером.
[[IMG /soft/adc/ftp/13.jpg]]
[[IMG /soft/adc/ftp/14.jpg]]
[[IMG /soft/adc/ftp/15.jpg]]
[[IMG /soft/adc/ftp/16.jpg]]
[[IMG /soft/adc/ftp/17.jpg]]
[[IMG /soft/adc/ftp/18.jpg]]
[[IMG /soft/adc/ftp/19.jpg]]
[[IMG /soft/adc/ftp/20.jpg]][[https://directory.apache.org/studio/downloads.html Apache Directory Studio]] - это бесплатный инструмент среды разработки,
предназначенный для создания и управления LDAP-серверами.
LDAP (Lightweight Directory Access Protocol) - это протокол,
используемый для доступа к каталогам, которые хранят
информацию об объектах в системе.[[IMG /soft/adc/0.jpg]]
[[IMG /soft/adc/2.jpg]]
[[IMG /soft/adc/3.jpg]]
[[IMG /soft/adc/4.jpg]]
[[IMG /soft/adc/5.jpg]]Это базовая установка Сервера.
Ну вот...и всё, конфигурационные файлы известны и теперь вы можете точнее настроить сервер под свои нужды.
Уточнение: в статье используются самоподписанные сертификаты, при необходимости их следует заменить на настоящие SSL-сертификаты.URL: http://togusak.ddnss.de/server/
Обсуждается: http://www.opennet.dev/tips/info/3240.shtml
фух, еле долистал
оно каждый сервис в докере поднимает, или прям нативно ставит?
каждый сервис поднимает, как говорят "из коробки"...все RPM-Пакеты стандартные, сгружаются с сервера openSuSE репозитория Leap 15.5
все конфигурационные файлы на своих стандартных местах.
Можно было бы вместо портянок, сделать человеческими ansible ролями
Можно было... а зачем?Всего нужно-то, ...если коротко - три команды:
./adc_install.sh -ad_install
reboot
./adc_install.sh -mail_inst
... и получили рабочий Samba Active Directory и почтовый сервер.
остальное - это тесты и настройка под свои нужды...
>> Можно было... а зачем?За идемпотентностью.
а главное где? "автоматизация" в смысле
ну какие-то самбиные конфиги оно как-то генерить пытается.
Правда, неудачно - команда echo отклеилась и прилипла не в той строке.Отдельно интересно зачем автору понадобилась васяносборка сасамбы вместо штатной.
В целом для первого года уроков информатики в школе - достойное произведение.
> ну какие-то самбиные конфиги оно как-то генерить пытается.
> Правда, неудачно - команда echo отклеилась и прилипла не в той строке.может скрипт криво сгрузился?...
новый положил на сайт!
> Отдельно интересно зачем автору понадобилась васяносборка сасамбы вместо штатной.Штатная старая и кривая...
> В целом для первого года уроков информатики в школе - достойное произведение.
... вот и я о том же! ... на чём-то надо учиться линукс изучать и применять на практике!
Первые две строчки:
OS=`hostnamectl | grep "Operating System" | awk -F" " {'print $5'}` - что тут должно быть? у меня получилось Server. А Вы что ожидали?
server=`hostname | awk -F"." {'print $1'} ` - hostname -sИ проверьте через shellchecker
----- что тут должно быть? ----
15.4 или 15.5В зависимости от установленой OpenSuse 15.4 или OpenSuse 15.5 - соответственно и репозиторий...
> ----- что тут должно быть? ----
> 15.4 или 15.5
> В зависимости от установленой OpenSuse 15.4 или OpenSuse 15.5 - соответственно и
> репозиторий...gennadi, на будущее, чтобы иметь уникальные имена машин следует использовать префикс+некую комбинацию. Я предпочитаю использовать префикс PC-, а дальше беру последние 3 октета из мак адреса сетевухи, естественно удаляя двоеточие. Чтобы ассоциировать комп с юзером в dns использую cname, это избавит в будущем от мороки с переименование компа и повторной процедурой по выводу и вводу тачки в домен.
> --- префикс PC-... логично.
как назовёте машину (PC.ххххх), таким именем DHCP автоматически внесёт её в DNS зону....в этом скрипте есть такая опция:
./adc_install.sh -dhcp_on - Включить DHCPD demon. --Вводит IP-адрес и имя компьютера ( принтера, смартфона и пр.) в прямую и обратную зону ДНС.
... но можно и командой:
./adc_install.sh -cname_add - Присвоить новое имя компьютеру - CNAME в ДНС.
:-)
Автор, если у тебя всё на немецком, попробуй univention и не надо изобретать велосипед
1. мне не надо ничего пробовать. не об этом речь!2. на немецком... ну установить на русском не проблема выбор языка у openSUSE Leap 15.5 большой...
3. Univention Corporate Server основан на дистрибутиве Debian Linux и там внесли много изменений в стандартные конфиги... и установка займёт какое-то время.
4. ... а это просто помощь тому, кто захочет простеньким скриптом за 10 минут установить на openSUSE Leap 15.5 сервер...
... для Debian скрипт не подойдёт.
Теперь надо исправить все ошибки, которые найдёт shellcheck
shellcheck adc_install.shошибок не нашёл...
:-)))
PS:
Проверку на ошибки можно контролировать во время установки командой:sh -x adc_install.sh -ad_install
А _почтовый_ сервер ставится какой? Их в природе не один, и разной распространенности. Здесь по всему тексту просто "почтовый сервер". Словно бы автор его баше накропал )
См.-- " почтового сервера на основе Postfix+Dovecot "
Убрал пару косяков в скрипте и добавил Бэкап сервера.добавил опции:
-b_set - Установить Бэкап сервера.
-b_ex - Выполнить Бэкап сервера.
-b_smb - Выполнить Бэкап Samba_AD.
-b_db - Выполнить Бэкап MySQL ДБ.
Надо сконнектиться и скинуть тебе штук 10-15 доп-опций :)))))
Дело в том, что я аналогичную портянку сочиняю уже месяцев 8
Нет еще совсем-совсем фукционала почтовика (зато есть рдп-сервер,
воркстанция и вторичные DC), и это на альте-или-убунте (деби не тестил).
> Надо сконнектиться и скинуть тебе штук 10-15 доп-опций :)))))
> Дело в том, что я аналогичную портянку сочиняю уже месяцев 8
> Нет еще совсем-совсем фукционала почтовика (зато есть рдп-сервер,
> воркстанция и вторичные DC), и это на альте-или-убунте (деби не тестил).привет... я как-то к openSUSE привык :)))
для альта-или-убунта скрипт не подойдёт.
можешь скинуть свои скрипты на мой ftp-server... может что-то и в этот скрипт для openSUSE прикрутить получится :)
togusak.ddnss.de
user: pupkin
passwd: opensuse
Адрес резольвится, но коннекта нет.
(Да простит и не накажет меня модератор!!!)
странно...
спасибо!!!посмотрю... поковыряюсь... очень интересно!!!
> Адрес резольвится, но коннекта нет.
> (Да простит и не накажет меня модератор!!!)... посмотрел.
А что... круто! намного упрощает установку и администрирование сервера!
возьму на заметку.
Уффф, как назад в нулевые вернулся xD
А на скринах необходимо замазывать имена реальных хостов вашей инфры, даже если из дикого инторнета к ним не пробиться.
> Уффф, как назад в нулевые вернулся xD
> А на скринах необходимо замазывать имена реальных хостов вашей инфры, даже если
> из дикого инторнета к ним не пробиться.Эти хосты в виртуальной сети, в которой я протестировать скрипт и всё удалил...
:-)))
Скрипты лежащие на личном сервере, и регулярные новости об их обновлении. Как будто на 20 лет назад вернулся.
Уже давно есть GitHub и его аналоги.
так вам шашечки... или ехать?:-)))