Перейти к содержанию

Чистая установка дистрибутива воркспейса на клиентский сервер

Info

Установка дистрибутива выполняется от учетной записи имеющей root права. Перед установкой требуется проверить маску режима создания пользовательских файлов командой umask. Если она отличается от стандартной 0022 требуется задать ее командой:

umask 0022

Сначала устанавливаем всё необходимое ПО для работы Optimacros, согласно инструкции по предварительной установке ПО. Так же установка воркспейса предполагает, что уже установлен для данного воркспейса Логин Центр. Либо на текущем сервере, либо на отдельном выделенном под Логин Центр. Так же предполагается, что на сервере уже скачан дистрибутив воркспейса installer-версия.tar.

Структура каталога WS

  • /om - базовый каталог (данный каталог может быть любым)
  • /om/workspace-installer - директория различных версий дистрибутива
  • /om/workspace-installer/current - директория текущего инсталлятора WS
  • /om/workspace1 - директория WS
  • /om/cert - директория SSL сертификата

Команда для создания директории:

mkdir -p /om/{cert,workspace-installer/current,workspace1}

Переходим в директорию cert c помощью команды cd cert и создаем ssl сертификат:

openssl req -newkey rsa:2048 -nodes -keyout crt.key -x509 -days 1095 -out bundle.crt

Затем перемещаемся в директорию workspace1 с помощью команды cd /om/workspace1 и создаём в ней файл manifest.json При помощи команды nano manifest.json. После выполнения, которой попадаем в режим редактирования данного файла. Стандартный вид файла manifest.json выглядит следующим образом:

{
  "container": {
    "ip": "10.0.3.15",
    "cpu": 6,
    "memory": 33685016576,
    "ports": {
      "0.0.0.0:80": 80,
      "0.0.0.0:443": 443
    },
    "hosts": {}
  },
  "workspace": {
    "id": "8522aedecc6b4219ee87ee28",
    "name": "TEST",
    "web": {
      "url": "https://om.test.workspace.ru",
      "ssl": {
        "cert": "/om/cert/bundle.crt",
        "key": "/om/cert/crt.key"
      }
    },
    "loginCenter": {
      "url": "https://lc.company.ru/",
      "token": "4aed337a0ac34dd13716c476a4c7",
      "apiUrl": "wss://lc.company.ru/api/ws/v1/"
    },
    "admin": {
      "email": "admin@optimacros.com"
    }
  }
}

Далее сохраняем документ со стандартным содержимым, и приступаем к сбору информации для корректного заполнения свойств для текущего сервера. Пройдёмся по свойствам объекта container, ip всегда остаётся неизменным и равен "10.0.3.15". cpu соответствует количеству ядер процессора на текущем сервере, это мы можем узнать например воспользовавшись утилитой htop введя команду htop.

install_ws_1

В случае, если htop не установлен воспользуйтесь командой lscpu.

Считаем ядра и видим, что их 6 на данном сервере значит в cpu вводим значение 6. Теперь мы должны запомнить значение свойства memory которое соответствует количеству оперативной памяти сервера в байтах. Для того чтобы это узнать воспользуемся командой free

install_ws_2

Где в выводе 32895524 это значение количества памяти в килобайтах. Умножаем это на 1024, чтобы узнать в байтах и получаем: 33685016576. Водим это значение в memory в нашем манифесте. Если ввести команду free -b, то можно сразу получить число в байтах.

⚠ Как рассчитать размер воркспейса (зелёное значение ОЗУ на счётчике в Drive Landing):

install_ws_3

  1. черта Зелёной Зоны Воркспейса (9.17GB - объём в гигабайтах),
  2. текущий объём, занимаемый Воркспейсом на машине (10.4GB - объём в гигабайтах).

Посмотреть формулу расчёта можно здесь:

Далее нам нужно узнать workspace.id его мы получаем, открыв Логин Центр и перейдя в раздел Workspaces и выбираем нужный нам воркспейс.

Затем в адресной строке браузера копируем всё после последнего слэша отмеченным зелёной линией (1) на скриншоте ниже. Вводим это в workspace.id. Затем в workspace.name вводим название воркспейса который мы создаём, допустим workspace1 для тестового воркспейса или PROD для продакшн. В workspace.web.url вводим URL нашего воркспейса.

Переходим к заполнению настроек Логин Центра в файле манифеста:

workspace.loginCenter.url вводим URL нашего Логин Центра. В workspace.loginCenter.token берём токен в месте отмеченным зелёной линией (2) на скриншоте ниже:

install_ws_4

Затем в workspace.loginCenter.apiUrl изменяем только домен оставляя протокол и путь:

wss://нашДоменЛогинЦентра/api/ws/v1/

Так же вводим admin.email где в качестве значение указываем строку с мэйлом учётной записи администратора воркспейса.

Шпаргалка с краткими комментариями по свойствам файла манифест:

{
  "container": {
    "ip": "10.0.3.15", // данный IP остаётся неизменным
    "cpu": 6, // количество ядер на сервере
    "memory": 33685016576, //количество оперативной памяти
    "ports": {
      "0.0.0.0:80": 80,
      "0.0.0.0:443": 443
    },
    "hosts": {},
  },
  "workspace": {
    "id": "8522aedecc6b4219ee87ee28", // берётся в адресной строке прямо в Логин Центре при переходе к воркспейсу
    "name": "workspace1", // название воркспейса
    "web": {
      "url": "https://temp-ws.om.local", // URL создаваемого воркспейса
      "ssl": {
        "cert": "/om/cert/bundle.crt",  // Путь до сертификату ssl
        "key": "/om/cert/crt.key" // Путь до ключа сертификата ssl
      }
    },
    "loginCenter": {
      "url": "https://lc.company.local/", // URL относящегося к воркспейсу Логин Центра
      "token": "4aed337a0ac34dd13716c476a4c7", // id относящегося к воркспейсу Логин Центра
      "apiUrl": "wss://lc.company.local/api/ws/v1/" // изменяем только домен на свой, оставляя протокол и путь
    },
    "admin": {
      "email": "admin@optimacros.com" // почтовый ящик пользователя администратора воркспейса
    },
    "console": {
      "commands": {
        "frontend-build": {
          "appConfig": {
            "flags": [
                "fun_loader_message_off", // отключает "веселые" сообщения при первичной загрузке
                "interface_theme_optimacros", // по умолчанию фиолетовая тема с заголовком Optimacros и своим фавиконом
                "color_scheme_advexcel", // цветовая схема advexcel доступна для выбора в настройках
                "color_scheme_optimacros", // цветовая схема optimacros доступна для выбора в настройках
                "color_scheme_corplan", // цветовая схема corplan доступна для выбора в настройках
                "color_scheme_orange", // цветовая схема orange доступна для выбора в настройках
                "interface_language_RU", // русский язык доступен для выбора в настройках
                "interface_language_EN", // английский язык доступен для выбора в настройках
                "support_email_support@optimacros.com", // email для связи support@optimacros.com
            ]
          }
        }
      }
    }
  }
}

Более подробно с цветовыми темами и интерфейсами, можно ознакомиться здесь

Переходим в директорию с установщиком cd /om/workspace-installer и вводим последовательно команды:

Создаем директорию current для распаковки в неё установочных файлов из архива с дистрибутивом.

mkdir current

Распаковываем архив с дистрибутивом в директорию current где /home/user/ это путь где скачан наш архив.

tar -xf /home/user/installer-версия.tar -C current

Затем запускаем команду поднятия воркспейса:

current/install workspace --path /om/workspace1/manifest.json up

Ожидаемый вывод терминала начало запуска WS:

install_ws_5

И наблюдаем чтобы весь процесс поднятия прошёл успешно, по окончанию процесса видим такой вывод:

install_ws_6

Установка воркспейса завершена!

Проверяем в браузере что воркспейс доступен:

install_ws_7