Написати bash скрипт під Ubuntu
Необхідно написати 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 Тут список емейлів (логінів?).
Коли створюється один користувач, то який йому пароль з іншого файлу вибирати: такий же по послідовності чи рандомний з файлу?
ЯКщо рандомний, то як вам тоді повідомляти повинна система, який саме пароль був встановлений?
-