Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Рассказываем, что делать, если привычные офисные сервисы станут недоступны.

Так нейросеть midjourney видит серверную миграцию
Так нейросеть midjourney видит серверную миграцию

Материал подготовлен при поддержке NetAngels

По данным Infowatch, в первой половине 2022 года число утечек информации в мире выросло почти в два раза по сравнению с тем же периодом годом раньше. Сервисы, обеспечивающие привычную работу бизнеса, закрываются или перестают принимать оплату из России — доверять платформам данные становится сложнее. Справиться с ситуацией поможет, например, переход на open-source-решения. Они работают на серверах, к которым у вас есть полный доступ: так бизнес будет владеть своими данными.

Этот материал — инструкция о том, как и какие сервисы можно поднять в случае перехода. Повторить эти действия сможет любой разработчик или системный администратор, даже джун.

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

Важно: это не обзор всех open-source-решений для настройки корпоративной почты, чата и файл-шеринга, а только один из множества вариантов. Чтобы повторить шаги из инструкции, можно пользоваться любым удобным хостингом — нам с серверами согласился помочь NetAngels.

Регистрация

Для начала создадим аккаунт в панели управления NetAngels. Его можно сделать как для физического, так и для юридического лица: разницы не будет ни в работе хостинга, ни в видах оплаты — только в том, кому юридически будет принадлежать аккаунт и кому будут выставляться счета. Оплатить услуги можно картой (как российской, так и иностранной), банковским переводом по договору, переводом через Систему быстрых платежей или с помощью «ЮMoney».

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Домен

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Мы будем работать с DNS через панель управления NetAngels. У вас, скорее всего, уже есть домен для бизнеса и на нём настроен DNS для показа сайта и других сервисов.

Вы можете воспользоваться панелью вашего регистратора (у редакторов DNS часто схожий интерфейс) либо перенести DNS-хостинг в NetAngels, добавив домен в разделе DNS и указав у вашего регистратора такие NS-серверы:

ns1.netangels.ru ns2.netangels.ru ns3.netangels.ru ns4.netangels.ru
Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Если вы только открываете бизнес и домена пока нет, его надо купить. Мы приобрели домен у регистратора RU-CENTER через NetAngels, поэтому он уже делегирован на NS-серверы хостинга. Процесс автоматический: нужно выбрать и оплатить домен, а потом подождать, пока его зарегистрируют. У нас это заняло 50 минут, но лучше закладывать пару часов.

Почта

После покупки домена настроим корпоративный почтовый сервис. Для этого нам понадобится VDS — облачная виртуальная машина, к которой мы будем иметь полный доступ.

Подойдёт тариф с двумя ядрами CPU, 2 Гб RAM и SSD. Важно лишь определиться с размером диска — именно на нём будут храниться все письма и вложения. Например, Gmail предлагает 15 Гб каждому пользователю в виде объединённого хранилища для файлов и писем. Если ваши сотрудники пересылают много аттачей, можно ориентироваться на эту цифру и выделить 15 Гб диска для каждого сотрудника, добавив ещё около 10 Гб для операционной системы и почтового сервера — для трёх пользователей хватит 55 Гб.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

После того как вы определились с тарифом и размером диска, выберите Ubuntu 22.04 в качестве операционной системы и создайте сервер. По умолчанию в панели управления выбрана Ubuntu 22.04 + LAMP, но LAMP нам не понадобится (это набор софта для хостинга сайтов, а нам нужна только почта). Через несколько минут на почту, указанную при регистрации, придёт письмо с данными для входа на сервер и IP-адресом.

Укажите DNS-записи в редакторе:

  • A-запись для поддомена mail с адресом вашего сервера.
  • MX-запись для основного домена с именем mail.example.com (замените example.com на свой домен), IP-адресом вашего сервера и приоритетом 10.
  • NS-записи для поддомена mail со значениями ns1.mail.example.com и ns2.mail.example.com (замените example.com на свой домен).
  • A-записи для поддоменов ns1.mail и ns2.mail, указывающую на IP-адрес вашего сервера.
Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

После создания записей обратитесь в техподдержку (в чате в углу экрана или создав тикет) и попросите изменить PTR-запись для VDS vm_12345, чтобы IP 111.111.111.111 указывал на mail.example.com. В текст подставьте ID созданного VDS (можно посмотреть в списке серверов, это строка, которая начинается с vm_), его IP-адрес и выбранный вами поддомен. Пока вы будете продолжать настройку, сотрудники поддержки обновят запись и оповестят вас об этом, а пока можно двигаться дальше.

Теперь, чтобы начать установку почтового сервера, к серверу нужно подключиться по SSH из терминала на вашем компьютере или прямо из браузера в терминале, который доступен на вкладке «Управление доступом» на странице свежесозданного сервера (на неё можно попасть, выбрав пока что единственный сервер в списке).

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

После подключения обновите систему и установите пакет lsb-release. Для этого запустите в терминале следующие команды:

apt-get update apt-get upgrade apt-get install -y lsb-release

Если скорость скачивания у этих команд медленная, замените файл /etc/apt/sources.list на версию с зеркалами «Яндекса». Это ускорит процесс на серверах, находящихся в России.

Теперь установим Mail-in-a-box — открытый почтовый сервер с веб-интерфейсом, защитой от спама и синхронизацией контактов и календаря на мобильных устройствах. Для установки запустите команду:

curl -s https://mailinabox.email/setup.sh | sudo bash

Дождитесь псевдографического установщика — в его окошках введите адрес почты администратора (например, admin@example.com, если ваш домен — это example.com) и адрес вашего сервера в виде домена — в нашем примере это mail.example.com, где mail — это поддомен, созданный в DNS-редакторе, а example.com — ваш домен. После установщик должен скачать ещё немного нужных пакетов, уточнить локацию для выбора часового пояса, сгенерировать конфигурационные файлы, а затем попросить ввести пароль для учётной записи администратора. Придумайте надёжный пароль — при вводе его не будет видно, но когда нажмёте Enter, он отправится на сервер.

После установки появится ссылка на административную панель. Когда будете её открывать, браузер сообщит о неверном сертификате для домена. Игнорируйте предупреждение и перейдите на сайт — ниже расскажем, как выпустить верные сертификаты.

Войдите в панель управления с вашим новым адресом почты и придуманным до этого паролем. Перейдите на вкладку System → External DNS. Перенесите в панель управления DNS NetAngels все записи из таблицы, кроме А-записей для вашего домена и поддомена www, а также записей с типами SSHFP и TLSA.

Пример переноса записей типа SRV
Пример переноса записей типа SRV

Подождите, когда записи DNS обновятся — это займёт от 30 минут до часа. После перейдите на вкладку System → TLS (SSL) Certificates и нажмите на синюю кнопку Provision, чтобы сгенерировать сертификаты для всех доменов. Перед этим проверьте, что рядом со всеми доменами, кроме домена основного сайта и его www-поддомена, нет надписи «The domain name does not resolve to this machine: [Not Set] (A)». Если она есть, стоит ещё немного подождать или проверить, корректно ли заполнены DNS-записи.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Готово! Теперь можно добавить пользователей на вкладке Mail & Users → Users и создать списки пересылок в Mail & Users → Aliases. Теперь почта доступна через веб-интерфейс по адресу https://mail.example.com/mail (интерфейс администратора будет доступен по адресу https://mail.example.com/admin), а также через любой почтовый клиент — настройки можно найти на вкладке Mail & Users → Instructions.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Почта: альтернативное решение

Если установка Mail-in-a-box кажется долгой или неудобной, создать почтовый сервер для вашего домена можно в панели управления NetAngels: настройкой и хранением данных будет заниматься хостинг.

Создавать учётные записи и управлять ими можно через общую панель управления. Для всех пользователей доступен веб-клиент, а также подключение по IMAP и SMTP из любого почтового клиента.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Корпоративный чат

В качестве альтернативы Slack мы будем использовать Rocket.Chat — защищённый мессенджер для групп с открытыми исходниками. Кроме общения в группах по аналогии со Slack, Rocket.Chat предлагает виджеты чата поддержки на сайтах и приём сообщений клиентов из мессенджеров. Мы настроим только рабочие переписки. Рекомендуемые системные требования для работы Rocket.Chat — 2 ядра CPU, 2 Гб RAM и SSD от 40 Гб. Поэтому нам понадобится новый VDS с тарифом Small и дистрибутивом Docker.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Добавьте DNS-запись типа A для поддомена, например chat.example.com, указывающую на ваш сервер.

Затем подключитесь к серверу по SSH и создайте новый файл compose.yaml с таким содержанием. В 69-й, 104-й и 169-й строках обновите домен rocketchat.heyvaldemar.net на нужный вам. В 138-й строке укажите адрес электронной почты, а в 170-й строке подставьте свои логин и пароль, предварительно закодировав их в BCrypt (например, с помощью онлайн-сервиса). Они не пригодятся нам прямо сейчас, но их важно сохранить: они будут полезны в случае неполадок с traefik — обратным прокси-сервером, который маршрутизирует запросы между разными частями Rocket.Chat.

Выполните следующие команды:

docker-compose -f compose.yaml -p rocketchat up -d docker logs rocketchat-rocketchat-1
Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

В появившемся списке находим ссылку на наш домен и переходим по ней — дальше вас встретит мастер настройки. С его помощью создайте первую учётную запись для администратора. Добавить сотрудников и нужные каналы можно в разделе «Администрирование» в меню в левом верхнем углу.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Теперь чат доступен из браузера и через клиенты на iOS и Android.

Файлообменник

Чтобы сотрудники могли делиться файлами внутри и за пределами компании, установим SeaFile — файлообменник с открытым исходным кодом, функцией синхронизации и клиентами для популярных платформ. Мы рекомендуем использовать как минимум тариф Small (2 ядра CPU и 2 Гб RAM) и 120 Гб SSD (от размера зависит количество файлов, которые можно хранить на сервере). Мы снова будем использовать дистрибутив Docker.

Создав VDS, в редакторе DNS сделайте для поддомена новую А-запись (например, files), она поведёт на новый сервер. Подключившись к нему, создайте файл compose.yaml, на основе этого файла.

Придумайте или сгенерируйте два пароля. Укажите в 7-й и 31-й строке первый — для базы данных MySQL, в 33-й строке — свой email, а в 34-й строке — второй пароль: их мы будем использовать для входа в веб-интерфейс SeaFile. В 36-й напишите свой домен, который создали прежде: например, files.example.com, если ваш домен — example.com, а выбранный поддомен — files. Затем запустите Docker-контейнеры:

docker-compose -f compose.yaml up -d

Через несколько минут, когда контейнеры запустятся, откройте ваш домен в браузере и введите email и второй пароль из compose.yaml. Файлообменник готов к использованию, осталось лишь создать (или импортировать из Excel-таблицы) аккаунты для коллег (это можно сделать в разделе «Системный администратор» в меню в правом верхнем углу) и выдать им ссылку на клиенты.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Файлообменник: альтернативный вариант

NetAngels предоставляет хранилище данных с доступом по FTP, SFTP, SCP и RSYNC. В их файлообменнике нельзя создать отдельные аккаунты для коллег, но и настраивать ничего не нужно — достаточно создать хранилище в панели управления. Подключиться к нему можно с любых устройств, используя на Windows и MacOS, например, FileZilla, на Android — AndFTP, а на iOS — FTPManager.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Сервис видеоконференций

Для видеозвонков будем использовать BigBlueButton — сервис, который подойдёт для организации видеоконференций, вебинаров и онлайн-занятий.

В NetAngels можно установить BigBlueButton автоматически из панели управления, выбрав соответствующий дистрибутив при создании сервера. После вам придёт письмо со ссылкой на веб-интерфейс настройки. Введите в него подходящий вам поддомен и выберите установку полной версии. Пока идёт загрузка, укажите в редакторе DNS-записей A-запись для нужного поддомена, ведущую на созданный сервер, — IP-адрес будет в письме.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день
Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Когда установка закончится, вы увидите приветственный экран BigBlueButton — войдите с логином и паролем из письма, которое пришло ранее. В логин подставьте ваш поддомен. Теперь можно создать новые аккаунты в разделе «Организация» или начать звонок на главной странице.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Если вы хотите установить BigBlueButton на сервер у другого хостера, инструкция не будет сложнее. Подключитесь к серверу по SSH и выполните:

wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v bionic-24 -s example.com -e info@example.com -a -w -g turn.bigbluebutton.ru:Big8976 # замените example.com на выбранный вами домен cd greenlight/ docker exec greenlight-v2 bundle exec rake admin:create

Вы получите данные для входа в BigBlueButton от лица администратора.

Мониторинг

Чтобы постоянно не проверять, хватает ли места на жёстких дисках и не выросло ли неожиданно потребление ресурсов, настроим уведомления в Telegram — это можно сделать из панели управления.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Если место на диске закончится, его всегда можно добавить через раздел «Диски» на странице нужного сервера в панели управления — обновление произойдёт в течение пары минут, без перезагрузки сервера.

Как самостоятельно перенести на свои серверы альтернативы Google Workspace и Slack за один день

Ура! Теперь у нас есть пакет рабочих сервисов, которые запущены на серверах, принадлежащих вам, — никто не сможет ограничить к ним доступ (при условии своевременной оплаты аренды каждого сервера).

Что ещё можно установить на свой сервер

Прямо из панели управления вы можете установить GitLab для хранения репозиториев кода, если ваша компания занимается разработкой. А на VDS можно установить ещё огромное количество сервисов: например, канбан-доску для управления проектами или менеджер паролей. Больше сервисов можно найти в гитхаб-репозитории awesome-selfhosted.

Реклама, ООО «Интернет-Про», 12+

2828
18 комментариев

Ставьте некстклауд и не парьтесь

3

Он платный?

самый простой и не сложный вариант, не надо 3к лишних движений совершать

Комментарий недоступен

1

Любое место, где нужно вводить номер телефона, оставлять свои сканы паспорта, давно уже обхожу стороной. Практика показала, что никто не будет хранить эти данные в безопасности

1

А как же вы без мессенджеров и 90% лайфстайл сервисов живёте?

у вас в заголовке написано про альтернативы для Google Workspace, но я не увидел решения для Google Docs, Google Sheets и тд.
Вы имели в виду файлообменник? Тогда логичнее было бы написать альтернатива Google Drive. Если вы нашли для документов и таблиц тоже опенсорс альтернативы - напишите пожалуйста, буду очень благодарен