Написать bash скрипт под Ubuntu
2000 UAHНеобходимо написать bash скрипт под Ubuntu 22.04, который должен запускаться на чистой ОС и выполнять следующие задачи без участия юзера:
Начальные условия: юзер закачивает в /root текстовые файлы с данными по доменам, почтовым ящикам и IP:
- domains.txt - список доменных имен, которые нужно прописать на сервере, а также IP для каждого домена.
- mailbox.txt - список почтовых ящиков, которые необходимо создать для каждого домена.
- mailpass.txt - пароль для создаваемых ящиков.
- site.zip - архив, содержимое которого нужно распаковать в корень каждого домена.
Задача скрипта:
- Прописать домены на сервере со своими IP. В корень каждого домена распаковать zip архив.
- Для каждого домена сгенерировать SSL сертификаты для работы доменов через HTTPS протокол.
- Создать от имени каждого домена нужные почтовые ящики из списка mailbox.txt и паролем из mailpass.txt
- Сгенерировать приватные и публичные DKIM ключи для каждого домена (для этой задачи уже есть пример отдельного bash скрипта, который генерирует ключи и создает под каждый приватный и публичный ключ в отдельныех txt файлах для каждого домена). Можно использовать этот готовый bash, или интегрируйте его в единый bash скрипт, или напишите сами отдельно.
- Установить и настроить почтовый smtp сервер на базе exim (или любой другой), который сможет отправлять почту.
- Установить почтовый клиент для доступа к любому почтовому ящику (например Roundcube, или любой другой, который позволит из браузера через авторизацию заходить в ящики для проверки входящей почты).
- Установить сервер баз данных MySql.
P.S> Для создания и внесения необходимых записей в DNS уже есть отдельный bash скрипт для работы с DNSmanager от ISPsystem.
Конечный результат отработки: в браузере открывается по https каждый домен и отображается содержимое распакованного zip архива. По отдельному адресу возможно авторизоваться в почтовом клиенте и проверить содержимое выбранного почтового ящика. Возможность отправить почту от имени любого ящика при подключении к smtp через внешнюю программу работы с почтой.
ВАЖНО: после запуска скрипт должен выполняться автоматически без дальнейшего участия юзера. Т.е. не должно быть каких-то диалогов "Желаете это - нажмите сюда". Т.е. если выполняется установка какого-то модуля, то она происходит автоматически без дополнительного вмешательства юзера.
Работа через "сейф" и только с непосредственным исполнителем без посредников (компаний, команд и т.п.)
Прошу в ваших предложениях сразу указывать бюджет и сроки работы.
-
mailbox.txt Тут список емейлів (логінів?).
Коли створюється один користувач, то який йому пароль з іншого файлу вибирати: такий же по послідовності чи рандомний з файлу?
ЯКщо рандомний, то як вам тоді повідомляти повинна система, який саме пароль був встановлений?
-