Проверьте требования к системе в разделе Планирование All-In-One
Получите дистрибутивы у команды Dion:
Ниже описан способ развертывания Dion All-In-One на примере операционной системы Ubuntu Server 22.04.4.
Способы развертывания на другие операционные системы могут отличаться.
Смонтируйте образ операционной системы в CD привод сервера или виртуальной машины.
Установите загрузку с CD привода в настройках BIOS или в настройках конфигурации виртуальной машины.
Запустите сервер/виртуальную машину.
При первом запуске нажмите Try or Install Ubuntu Server:
Выберите язык операционной системы:
Выберите язык раскладку клавиатуры:
Выберите минимальный набор компонентов для установки:
Сконфигурируйте настройки сетевого адаптера:
Если в организации используется proxy, укажите адрес proxy сервера:
Укажите адрес зеркала операционной системы или оставьте значения по умолчанию.
Выберите способ конфигурации разделов диска:
Все свободное пространство диска следует отдать для точки монтирования “/”:
Укажите имя сервера и учетные данные вашего профиля:
Пропустите раздел Upgrade to Ubuntu Pro:
Добавьте опцию установки SSH сервера:
Пропустите выбор установки дополнительных компонентов:
Дождитесь окончания установки, размонтируйте образ из CD привода и перезагрузите сервер.
Для установки и администрирования Dion All-In-One необходимо создать пользователя с определенными правами в системе.
Подключитесь к серверу с помощью SSH клиента с указанными учетными данными при установке.
Создайте пользователя “dion”:
sudo adduser dion
Добавьте пользователя dion в группу sudo:
sudo usermod -aG sudo dion
Установите текстовый редактор nano:
sudo apt-get update -y
sudo apt-get install -y nano
Для корректной работы Ansible необходимо отключить запрос пароля при повышении привелегий участникам группы sudo.
Для этого необходимо отредактировать файл /etc/sudoers.
Наберите команду:
sudo visudo
Найдите в редакторе строку “%sudo ALL=(ALL:ALL) ALL” и замените ее на “%sudo ALL=(ALL:ALL) NOPASSWD: ALL”
Сохраните изменения с помощью сочетания клавиш “Ctrl + o”.
Закройте редактор с помощью сочетания клавиш “Ctrl + x”
Проверьте, что в файле /etc/sudoers применились правильные значения:
sudo cat /etc/sudoers
Завершите сеанс пользователя командой exit.
ВНИМАНИЕ! Все последующие операции необходимо производить от имени пользователя dion.
Для корректной работы Ansible требуется настройка безопасного доступа по SSH без запроса пароля для локального хоста на самого себя.
Подключитесь к серверу с помощью SSH клиента с указанными учетными данными пользователя dion.
Создайте новую пару SSH ключей:
ssh-keygen -t rsa
Оставьте пустыми ответы на вопросы, нажмите “Enter” 4 раза.
Скопируйте открытый SSH ключ на этот же сервер с помощью команды “ssh-copy-id dion@ip_адрессервера_dion”:
ssh-copy-id dion@192.168.14.70
Проверьте, что пользователь dion может подключиться к этому же серверу с помощью SSH без ввода пароля:
ssh dion@192.168.14.70
exit
Для удобства установки и администрирования Dion рекомендуется установить дополнительное ПО:
sudo apt-get update
sudo apt-get install -y mc
sudo apt-get install -y bzip2
sudo apt-get install -y iputils-ping
sudo apt-get install -y dnsutils
sudo apt-get install -y htop
sudo apt-get install -y netcat
sudo apt-get install -y tcpdump
sudo apt-get install -y iperf
Установите Ansible:
sudo apt update -y
sudo apt install -y software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install -y ansible
Проверьте, что установлены дополнительные пакеты для Ansible:
ansible-galaxy collection install ansible.posix
ansible-galaxy collection install community.general
ansible-galaxy collection install community.docker
Способы установки Ansible на другие операционные системы можно посмотреть по ссылке:
https://docs.ansible.com/ansible/latest/installation_guide/installation_distros.html
Для выполнения данного шага потребуется:
Эти данные необходимо запросить у команды Dion.
ВНИМАНИЕ! Не распаковывайте архивы в ОС Windows. В этом случае потеряются символьные ссылки, а установка будет завершаться с ошибкой.
Перейдите в домашнюю папку пользователя “dion”:
cd /home/dion
Скачайте файлы, полученные у команды Dion (архив с Playbook, а также опционально уникальные и универсальные образы), используя полученные ссылки и учетную запись.
Для этого можно использовать утилиту wget:
wget --user=имя_пользователя --password=пароль https://registry.onprem.dion.vc/универсальные_образы
wget --user=имя_пользователя --password=пароль https://registry.onprem.dion.vc/уникальные_образы
wget --user=имя_пользователя --password=пароль https://registry.onprem.dion.vc/архив_playbook
Распакуйте файлы с помощью команды tar -xf имя_файла:
tar -xf common_images_onprem-2024.01-1.tar.gz
tar -xf dion.your_domain.com_images_2024.01.tar.gz
tar -xf on_dion-dion.example.ru-2024.01-2.tar.bz2
Если в вашем дистрибутиве образы скачиваются автоматически, то следующие шаги можно пропустить.
Создайте папку /home/dion/images:
mkdir /home/dion/images
Переместите универсальные и уникальные образы в папку /home/dion/images:
mv /home/dion/common_images_4.9/* /home/dion/images/
mv /home/dion/dion.your_domain.com_images_2024.01/* /home/dion/images/
Убедитесь, что в папке /home/dion/images находятся все 68 образов:
ls /home/dion/images/*.tar.gz | wc -l
Переименуйте папку с Playbook в “on_dion”:
mv on_dion-dion.example.ru-4.9.0/ on_dion
Создайте A-записи на DNS сервере внутренней зоны согласно требованиям на странице Планирование All-In-One.
Сервер Dion должен разрешать все имена через DNS сервер и попадать на свой внутренний ip.
Перейдите в директорию “/home/dion/on_dion”:
cd /home/dion/on_dion
Запустите скрипт проверки DNS записей, указав адрес предпологаемой главной страницы dion:
./dns_check_defis.sh dion.your_domain.com
Убедитесь, что скрипт не выдал ошибок, а адрес dion.yourdomain.ru разрешается во внутренний ip сервера Dion.
При необходимости исправьте DNS записи.
Перейдите в директорию “/home/dion/on_dion”:
cd /home/dion/on_dion
Запустите скрипт конфигурации и ответьте на его вопросы:
./configurator.sh
При запросе пароля для тестового сертификата введите “12345678” три раза.
Проверьте получившуюся конфигурацию настроек установки:
cat /home/dion/on_dion/inventories/dion/hosts
Убедитесь, что флаги media_separate и turn_separate установлены в значение “false”:
grep -r _separate_flag:
Скрипт ./configurator.sh создает самоподписный сертификат. Для тестового развертывания этого достаточно.
Если вы хотите использовать собственный сертификат вместо самоподписного:
Создайте директорию certs:
mkdir /home/dion/on_dion/certs
Скопируйте в данную директорию ваш сертификат в формате:
Скопируйте сертификат, заменив “dion.YourDomain.com” на имя вашей директории :
cd /home/dion/on_dion/certs/
cp rootCA.crt /home/dion/on_dion/files/dion.YourDomain.com/certs/web/rootCA.crt
cp rootCA.crt /home/dion/on_dion/files/dion.YourDomain.com/certs/service/rootCA.crt
cp server.crt /home/dion/on_dion/files/dion.YourDomain.com/certs/web/server.crt
cp server.crt /home/dion/on_dion/files/dion.YourDomain.com/certs/service/server.crt
cp server.crt /home/dion/on_dion/files/dion.YourDomain.com/certs/ad/sso.crt
cp server.key /home/dion/on_dion/files/dion.YourDomain.com/certs/web/server.key
cp server.key /home/dion/on_dion/files/dion.YourDomain.com/certs/service/server.key
cp server.key /home/dion/on_dion/files/dion.YourDomain.com/certs/ad/sso.key
Перейдите в директорию “on_dion”:
cd /home/dion/on_dion
Запустите установку компонентов dion при помощи команды:
ansible-playbook -i inventories/dion/hosts playbook.yml --become
Дождитесь окончания установки. Время выполнения данной команды может занять до 30 минут, в зависимости от скорости дисковой подсистемы.
Проверьте, что во время установки не было ошибок (failed=0):
Перезагрузите сервер командой:
sudo reboot
Подключитесь к серверу с помощью SSH клиента снова и проверьте, что отсутствуют docker контейнеры в состоянии “Restarting”:
docker ps -a | grep Restarting
Откройте браузер и зайдите на домашнюю страницу Dion: https://dion.YourDomain.com
Аутентифицируйтесь под тестовым пользователем “admin_onprem@diongo.ru”
Пароль пользователя генерируется во время установки, его можно посмотреть командой:
cat /home/dion/on_dion/inventories/dion/group_vars/all/vault.yml | grep -i user_password: