Rocket.Chat 6.0 is our most secure and scalable version yet. It includes 10 security patches, 9 brand-new features, and 25+ overall platform enhancements. Visit our
website
to learn more about what’s new in this latest version.
Update now
!
Введение
В этой статье мы расскажем, что такое Rocket Chat, установим и настроим его. Также выпустим бесплатный TLS-сертификат от Let’s Encrypt и немного опробуем Rocket Chat в действии.
Что такое Rocket Chat
Rocket Chat — это мессенджер с открытым исходным кодом. Пользователи могут создавать свои каналы и группы, обмениваться файлами, создавать видеоконференции. В отличие от Slack, Microsoft Teams и прочих корпоративных чатов, Rocket Chat можно установить на свой собственный сервер. Rocket Chat может интегрироваться с Active Directory, Twitter, GitHub, Trello и многими другими сервисами, есть поддержка разных языков.
Пользоваться чатом можно в браузере, также есть клиенты для всех популярных операционных систем: Windows, Linux, MacOS, Android, iOS.
Создание виртуальной машины
Мы будем устанавливать Rocket.Chat на виртуальную машину с Ubuntu 22.04. В консоли облачной платформы Selectel заходим в раздел Облачная платформа, далее Серверы и создаем новый сервер.
В разделе Источник выберем образ Ubuntu 22.04 LTS. Выбираем конфигурацию с 2 vCPU и 8 ГБ оперативной памяти, этого вполне хватит для небольшого сервера. Также выберем HDD-диск, достаточно будет объема 20 ГБ. Обязательно подключим внешний IP-адрес, чтобы сервер был доступен из интернета. Также выберите ваш SSH-ключ, чтобы вы смогли подключиться к серверу по SSH.
Ждем несколько минут и виртуальная машина будет готова. Подключаемся к машине по SSH и мы готовы к установке и настройке Rocket Chat.
Виртуальные машины в Москве, Санкт-Петербурге, Новосибирске и Ташкенте с оплатой по потреблению и готовностью меньше минуты.
Установка и настройка MongoDB
Rocket Chat использует MongoDB для хранения данных. Поэтому прежде чем приступить к установке чата, нужно установить и запустить MongoDB.
Мы будем использовать пакет mongodb-org, который предоставляют разработчики MongoDB. Если у вас в системе уже установлен пакет mongodb, предоставляемый стандартными репозиториями Ubuntu, его придется удалить, т.к. эти пакеты конфликтуют.
Добавим официальный репозиторий MongoDB и затем обновим список доступных пакетов:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
Теперь можно установить MongoDB командой:
sudo apt-get install -y mongodb-org
Теперь нам нужно внести изменения в конфигурационный файл /etc/mongod.conf. Для начала, добавим в раздел storage параметр engine: wiredTiger, чтобы в итоге получилось вот так:
storage:
engine: wiredTiger
Затем включим репликацию, добавив такую запись:
replication:
replSetName: rs01
Установка и настройка MongoDB завершена. Для начала запустим сам кластер:
sudo systemctl enable --now mongod
Далее инициализируем replicaset:
mongosh --eval "printjson(rs.initiate())"
Установка Node.js
В зависимости от используемой версии Rocket Chat, нужно установить ту или иную версию NodeJS. Для этого перейдите на страницу релизов Rocket Chat и посмотрите, какая нужна версия NodeJS. На момент написания этой статьи нужна версия 14, поэтому мы установим NodeJS командой:
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash - && sudo apt-get install -y nodejs
Если вам нужна другая версия, просто замените число 14 в команде выше на нужное вам.
Установка и настройка сервера Rocket Chat
Есть несколько способов установки Rocket Chat на Ubuntu: через контейнер docker compose, snap-пакет или классическая установка. Мы рассмотрим классическую установку через пакеты Ubuntu.
Для начала установим пакеты, которые необходимы для скачивания, распаковки и установки Rocket Chat:
sudo apt install -y curl build-essential graphicsmagick
Скачиваем самую последнюю версию Rocket Chat и распаковываем архив:
curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp
Переходим в каталог с распакованными файлами и устанавливаем необходимые NodeJS-пакеты:
cd /tmp/bundle/programs/server
npm install --production
Если вы выполняете установку от root-аккаунта (хотя так делать не рекомендуется), вместо последней команды используйте вот эту:
sudo npm install --unsafe-perm --production.
Перемещаем готовый дистрибутив Rocket Chat в каталог opt:
sudo mv /tmp/bundle /opt/Rocket.Chat
Теперь нужно создать в системе пользователя, из под которого будет запускаться сервер, и выдать ему необходимые полномочия на нужные каталоги:
sudo useradd -M rocketchat && sudo usermod -L rocketchat
sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
Теперь создадим файл службы для systemd. Обратите внимание, что для примера мы используем домен chat.my-domain.com — именно на нем будет работать сервер. Вам необходимо подставить свое имя домена.
cat << EOF | sudo tee -a /lib/systemd/system/rocketchat.service
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
[Service]
Environment=ROOT_URL=https://chat.my-domain.com
Environment=PORT=3000
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01
Environment=MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01
ExecStart=node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
[Install]
WantedBy=multi-user.target
EOF
Теперь запустим Rocket Chat и сразу же добавим его в автозагрузку:
sudo systemctl enable --now rocketchat
Rocket Chat готов к работе, но пока он работает на протоколе http и не шифрует трафик. Далее мы получим бесплатный сертификат от сервиса Let’s Encrypt и добавим поддержку TLS в наш сервер.
Настройка SSL и обратного прокси nginx
Для получения TLS-сертификата мы будем использовать центр сертификации Let’s Encrypt.
Напоминаем, что мы для примера используем домен chat.my-domain.com, а вам нужно указывать свой.
Для начала установим утилиту certbot, которая автоматически выпускает и обновляет TLS-сертификаты.
sudo apt install -y certbot
Запросим сертификат с помощью команды:
sudo certbot --nginx -d chat.my-domain.com
Далее соглашаемся с условиями использования сервиса и указываем адрес электронной почты, на которой будут приходить уведомления об истечении срока действия сертификата. На следующем шаге certbot предложит автоматически добавить в конфигурационный файл nginx правила для перенаправления трафика с HTTP на HTTPS – согласитесь.
После этого certbot выпустит и скачает TLS-сертификат. Он будет находиться в каталоге /etc/letsencrypt/live/. Также certbot запланирует задачу по автоматическому обновлению истекающих сертификатов. Так что вам даже не нужно следить за сроком действия сертификатов, certbot сделает все сам.
Теперь настроим nginx в качестве обратного прокси, чтобы он перенаправлял трафик с порта 443 на порт 3000, где у нас запущен Rocket Chat. Отредактируем файл /etc/nginx/nginx.conf — раскомментируем параметр server_names_hash_bucket_size 64.
Далее настроим виртуальный хост. Открываем на редактирование файл /etc/nginx/sites-enabled/default и полностью заменяем его содержимое следующей конфигурацией:
upstream backend {
server 127.0.0.1:3000;
}
server {
listen 443;
server_name chat.my-domain.com;
client_max_body_size 200M;
error_log /var/log/nginx/rocketchat.access.log;
ssl on;
ssl_certificate /etc/letsencrypt/live/chat.my-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chat.my-domain.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # don’t use SSLv3 ref: POODLE
location / {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
Перезапускаем nginx, чтобы применить новые настройки:
sudo systemctl restart nginx
Наш сервер Rocket Chat установлен и готов к работе.
Запишитесь на бесплатную консультацию по Rocket.Chat .
Установка клиента
Теперь попробуем подключиться к серверу и отправить сообщение. Скачиваем клиент для своей платформы с официального сайта Rocket Chat. Для подключения нужно указать адрес вашего сервера.
Обратите внимание, что мы уже не указываем порт 3000, на котором на самом деле запущен Rocket Chat. Мы лишь указываем протокол https, который по умолчанию адресуется на порт 443, где у нас запущен прокси. И уже затем nginx сам перенаправит трафик на порт 3000.
При первом запуске нам нужно создать администратора сервера. Указываем логин, пароль, адрес электронной почты и пароль. После этого мы попадаем в главное окно чата.
Теперь попробуем добавление нового пользователя и отправку сообщений в общий чат. Для этого зайдем в меню Administration -> Workspace -> Users, и нажмем кнопку New. Укажем данные нового пользователя и отметим галочку Require password change, чтобы при первом ходе пользователь обязательно сменил пароль. Также не забудьте присвоить ему роль user, которая должна быть у всех пользователей.
Теперь вернемся в главное окно чата. После создания сервера, по умолчанию создается канал general, куда автоматически добавляются все пользователи. Давайте напишем туда сообщение от текущего аккаунта администратора.
Теперь логинимся от имени вновь созданного пользователя. Для этого в браузере переходим в веб-версию чата по адресу https://chat.my-domain.com. Залогинимся с данными нового пользователя и мы увидим этот же самый канал, в котором есть наше сообщение от другого аккаунта.
Заключение
Мы установили и настроили Rocket Chat. Также выпустили бесплатный TLS-сертификат и настроили обратный прокси. Установили клиентское приложение и показали создание нового пользователя RocketChat.
Уровень сложности
Простой
Время на прочтение
4 мин
Количество просмотров 4.5K
Rocket.Chat — это открытая платформа для обмена сообщениями и видеоконференций с открытым исходным кодом. Rocket.Chat доступен для скачивания на GitHub, выпущен по лицензии MIT. Он позволяет обмениваться сообщениями в режиме реального времени, поддерживает голосовые и видеозвонки, обмен файлами и интеграцию с другими приложениями. Rocket.Chat работает на различных операционных системах и платформах, в том числе на Linux, Windows, macOS, Android и iOS, и может быть установлен как на собственном сервере, так и на облачных платформах.
HOSTKEY является официальным партнером Rocket.Chat и использует его в повседневной работе с 2015 года. Мы можем продавать корпоративные лицензии и обслуживать лицензированные установки.
Какие задачи может помочь решить арендованный виртуальный или выделенный сервер с предустановленным Rocket.Chat
Арендованный сервер с Rocket.Chat может помочь решить ряд задач, связанных с коммуникацией и совместной работой в команде:
-
Все данные команды хранятся только на этом сервере, никто, кроме вас, не имеет к ним доступ.
-
Если данные должны храниться на территории определенной страны, это можно реализовать через Rocket.Chat.
-
Данные можно удалить и быть уверенным, что они действительно стерты.
-
Данные можно перенести в другой чат мессенджера и хранить архив в защищенном месте.
-
Обеспечение безопасной и защищенной связи между членами команды. Rocket.Chat использует протокол WebSocket для передачи данных и поддерживает шифрование SSL/TLS для обеспечения безопасности передачи данных.
-
Повышение эффективности коммуникации и совместной работы. Платформа позволяет обмениваться сообщениями в режиме реального времени, файлами, вести голосовые и видеозвонки. Также он может быть интегрирован с другими приложениями.
-
Упрощение управления задачами и проектами. Мессенджер позволяет создавать каналы для обсуждения конкретных задач и проектов.
-
Гибкая интеграция с внешними приложениями через веб-хуки и API.
-
Улучшение доступности и мобильности. Rocket.Chat работает на различных операционных системах и платформах, в том числе на Linux, Windows, macOS, Android и iOS, имеет десктопную и web-версию.
-
Снижение затрат на обеспечение связи и совместной работы. Аренда сервера с Rocket.Chat может быть выгоднее использования коммерческих сервисов связи и совместной работы, особенно для небольших команд или стартапов.
В чем преимущества сервера с предустановленным Rocket.Chat
Cервер с Rocket.Chat имеет ряд преимуществ перед его установкой на собственном сервере или использованием коммерческих сервисов связи и совместной работы:
-
Быстрый и простой запуск. Сервер готов к работе сразу после оплаты, что позволяет быстро начать работу и не тратить время на установку и надлежащую настройку сервера. Качественная настройка сервера Rocket.Chat не самая простая процедура.
-
Гарантированная доступность. Сервер с Rocket.Chat работает на выделенных ресурсах, что обеспечивает высокую надежность и отказоустойчивость.
-
Высокий уровень безопасности. Можно осуществить настройки для обеспечения более высокого уровня безопасности: различные права доступа, установка обновлений и управление настройками брандмауэра.
-
Высокая производительность. Сервер работает на выделенных ресурсах, что обеспечивает более высокую производительность и скорость работы, чем при использовании общих ресурсов.
-
Гибкость и масштабируемость. VPS просто и удобно настраивать и масштабировать в соответствии с потребностями команды — например добавляя дополнительные ресурсы или настраивая специальные функции.
Какие специальные функции можно настроить на сервере с Rocket.Chat
Rocket.Chat позволяет использовать различные приложения и позволяет пользователю осуществить кастомизацию сервиса в соответствии со своими потребностями. Вот несколько специальных функций, которые можно настроить на сервере:
-
Интеграция с другими сервисами: Rocket.Chat имеет множество интеграций с другими сервисами, такими как Jira, Trello, GitHub, Telegram и т. д. Настройка этих интеграций может помочь автоматизировать рабочие процессы и упростить коммуникацию между различными приложениями.
-
Настройка уведомлений: уведомления для различных событий, таких как новые сообщения, упоминания и т. д. Вы можете настроить уведомления по электронной почте, SMS или другим способам уведомления.
-
Настройка безопасности: авторизация, шифрование и другие функции. Эти функции могут помочь защитить данные и предотвратить несанкционированный доступ к серверу.
-
Настройка тем: Rocket.Chat имеет несколько тем оформления, которые можно настроить в соответствии с вашим брендингом или предпочтениями.
-
Настройка прав доступа: Rocket.Chat позволяет настраивать права доступа для различных пользователей и групп пользователей. Настройка этих прав доступа может помочь управлять доступом к конфиденциальным данным и обеспечить безопасность сервера.
Как заказать услугу?
Для заказа сервера необходимо зарегистрироваться на сайте hostkey.ru. Зайдите на главную страницу и кликните на «Личный кабинет» в правом верхнем углу страницы. Подробная инструкция по регистрации и заказу нашего оборудования расположена здесь.
Настраивая параметры сервера, выберите в списке операционных систем Rocketchat и нажмите кнопку Order:
Как начать пользоваться Rocket.Chat
После оплаты заказа на указанную при регистрации электронную почту придет уведомление о готовности сервера к работе. В нем указан IP вашего VPS, а также логин и пароль для подключения. Управление оборудованием и финансами осуществляется в панели управления — Invapi.
Авторизация в Rocket.Chat
Авторизуйтесь в личном кабинете Invapi.:
-
В списке своих серверов нажмите на сервер с установленным Rocket.Chat.
-
Откройте вкладку Tags.
-
URL на RocketChat: в теге webpanel.
-
Логин: в теге user_name.
-
Пароль: в теге password.
После перехода в панель управления Rocket.Chat необходимо пройти настройку рабочего пространства, указав данные администратора:
И указать информацию об организации и электронный адрес:
После успешного завершения процедуры начальной настройки будет совершен переход в стартовое меню Rocket.Chat:
Подробная информация по основным настройкам Rocket.Chat содержится в документации разработчиков.
Примечание: Для заказа сервера с Rocket.Chat следует выбирать сервер в соответствии с рекомендациями разработчиков.
Когда дело доходит до командного чата, большинство людей думают о Slack. Это позволяет членам команды легко взаимодействовать друг с другом и сотрудничать. Slack имеет множество преимуществ, таких как боты, видеочат, стикеры и простота использования. Тем не менее, это инструмент с закрытым исходным кодом и стоит денег. В результате это не всеобщее любимое приложение.
К счастью, есть отличные альтернативы, в том числе Rocket Chat, автономная альтернатива Slack с открытым исходным кодом и сопоставимыми функциями. В этом руководстве мы рассмотрим, как заставить Rocket Chat работать на вашем сервере Linux, как подключиться к нему, создать новые каналы и т. Д.
Требования к оборудованию
- Дистрибутив сервера Linux, позволяющий запускать и устанавливать
snapd
- любой умеренно мощный старый настольный ПК (эпоха DDR-2 или выше), который может оставаться включенным в любое время и выступать в качестве сервера
- VPS или любой другой тип сервера корпоративного уровня
Rocket Chat распространяется только в виде пакета snap. На сегодняшний день все основные дистрибутивы Linux имеют возможность запускать snapd на сервере и на рабочем столе (инструментарий пакета snap). В этом руководстве основное внимание будет уделено серверу Ubuntu, так как он имеет пакеты snapd и snap прямо из коробки. На официальной странице загрузки Rocket Chat есть ссылка, которая инструктирует пользователей, как заставить Snaps работать с несколькими дистрибутивами. Кроме того, может помочь это руководство.
Установите сервер Rocket Chat с помощью оснастки:
sudo snap установить rocketchat-сервер
После установки «rocketchat-server» пора приступить к настройке. Начните с использования ifconfig
, а затем найдите локальный IP-адрес. Зная адрес, откройте его в веб-браузере на планшете, смартфоне или компьютере.
Например: ip-адрес: 3000
.
Использование Rocket Chat
Как и серверное приложение Rocket Chat, клиент рабочего стола чата имеет клиент Linux, распространяемый через оснастку. Для тех, кто работает на других платформах, доступны приложения. Поддерживаются Android, iOS, Windows и Mac, а также веб-интерфейс через IP-адрес сервера.
sudo snap установить rocketchat-рабочий стол
Чтобы начать работу с Rocket Chat, посетите локальный IP-адрес и зарегистрируйте новую учетную запись. Первая учетная запись, созданная на сервере Rocket Chat, будет автоматически помечена как учетная запись администратора.
По умолчанию Rocket Chat настраивать не нужно. Однако пользователи могут бесконечно настраивать его, чтобы сделать сервис уникальным. Чтобы получить доступ к огромному количеству параметров настройки, нажмите кнопку со стрелкой рядом с пользователем. На открывшейся панели выберите «Администрирование». Это показывает множество настроек. Давайте рассмотрим некоторые из наиболее важных настроек, которые можно изменить.
Импорт данных
У вас есть сервер Hipchat? Ваша команда сейчас работает в Slack? Те, кто переходит на Rocket Chat, могут легко импортировать данные через раздел Импорт. В настоящее время программное обеспечение поддерживает импорт данных из файлов Slack, Hipchat, Hipchat Enterprise и CSV.
Чтобы начать процесс, нажмите «Пуск». Затем пользователя попросят указать исходный файл, и начнется импорт данных. Когда закончите, все данные будут представлены в Rocket Chat.
IRC
Пожалуй, одна из самых интересных особенностей Rocket Chat — это возможность интеграции IRC. Хотя многие в конечном итоге будут использовать Rocket Chat для сотрудничества с командами, эта функция может оказаться полезной, особенно для разработчиков с общедоступными IRC-каналами, к которым пользователи присоединяются, чтобы задавать вопросы.
Включите IRC, найдя опцию IRC в Администрировании, и нажмите кнопку включения.
Видео чат
Как и Slack, Rocket Chat поддерживает видеоконференцсвязь. Чтобы включить эту функцию на своем сервере, перейдите в раздел «Администрирование» и прокрутите вниз до «видеоконференцсвязи».
Оказавшись там, нажмите «True». Отсюда начните видеоконференцию через личное сообщение. Просто выберите пользователя, затем щелкните значок видео.
Создание разных комнат
Как и в Slack, можно создавать разные комнаты. Щелкните значок «+», затем заполните информацию, чтобы создать новый канал. Сделайте новый канал общедоступным или частным, щелкнув ползунок и только для чтения.
Другие настройки
В Rocket Chat так много административных настроек и настроек конфигурации, что было бы утомительно просматривать каждый из них. Некоторые настройки включают CSS, макет, эмодзи, ботов, аналитику, журналы, настройки Oauth, настройки LDAP и т. Д. Пользователи могут настраивать и изменять каждую индивидуальную настройку по своему вкусу, вплоть до кода. Найдите их все в настройках администрирования.
Заключение
Slack может показаться лучшим выбором при настройке системы чата для совместной работы, но это не так. Часто пользователи обнаруживают, что платят все больше и больше денег по мере того, как их потребности расширяются. Правильный выбор — Rocket Chat. Это серверный инструмент с сопоставимыми, если не идентичными, функциями при нулевой стоимости. Поскольку Rocket Chat имеет открытый исходный код, новые функции добавляются постоянно, бесплатно для пользователя.
Если вы ищете хорошую платформу для совместной работы, сделайте себе и своей команде одолжение и не используйте Slack. Вместо этого используйте собственное решение. Бросьте Rocket Chat на запасной сервер и сэкономьте при этом деньги!
Обновлено 4 августа 2020
Содержание
- Введение
- Подготовка LXC-контейнера
- Установка и настройка MongoDB
- Получение сертификата Let’s Encrypt
- Установка и настройка Nginx
- Установка и настройка Rocket.Chat
- Установка сервера
- Использование собранного релизного сервера
- Сборка сервера из исходного кода
- Запуск Rocket.Chat
- Обновление Rocket.Chat
Введение
Rocket.Chat — это мессенджер с открытым исходным кодом, который поддерживает групповые чаты, обмен файлами, видеоконференции, ботов и многое другое.
Подготовка LXC-контейнера
Мы рекомендуем выполнить установку Rocket.Chat в отдельном контейнере, настроив его согласно инструкции.
Установка и настройка MongoDB
Установите пакет MongoDB:
emerge -a dev-db/mongodb
Настройте MongoDB для работы с Rocket.Chat:
storage: dbPath: "/var/lib/mongodb" engine: mmapv1 replication: replSetName: rs01
Запустите MongoDB:
/etc/init.d/mongodb start
Добавьте MongoDB в автозагрузку:
rc-update add mongodb
Выполните инициализацию базы данных:
mongo —eval «printjson(rs.initiate())»
Получение сертификата Let’s Encrypt
Получите сертификат домена rocketchat.example.org для Nginx согласно руководству.
Установка и настройка Nginx
Установите и настройте веб-сервер Nginx в качестве обратного прокси согласно руководству. Добавьте следующую настройку для rocketchat.example.org:
server { listen 443 ssl; server_name rocketchat.example.org; include ssl.conf; ssl_certificate /etc/nginx/ssl/rocketchat.example.org/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/rocketchat.example.org/privkey.pem; client_max_body_size 200M; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } }
Установка и настройка Rocket.Chat
Установите вспомогательное программное обеспечение:
emerge -a dev-python/nodeenv media-gfx/graphicsmagick
Создайте пользователя rocketchat в системе:
useradd -m -d /var/calculate/www/rocketchat -s /bin/bash rocketchat
Установите Node.js в директорию пользователя:
su — rocketchat
nodeenv —node=12.18.0 .node-12
ln -sfT .node-12 .node-live
source .node-live/bin/activate
echo ‘source ~/.node-live/bin/activate’ >> ~/.bash_profile
Установка сервера
Использование собранного релизного сервера
Скачайте и распакуйте сервер Rocket.Chat:
curl -L https://releases.rocket.chat/latest/download -o Rocket.Chat.tar.gz
tar xf Rocket.Chat.tar.gz
Установите необходимые библиотеки для NodeJS и завершите сеанс пользователя rocketchat:
cd ~/bundle/programs/server
npm install && exit
Сборка сервера из исходного кода
Установите для пользователя web фреймворк Meteor:
curl https://install.meteor.com/ | sh
echo ‘PATH=»${PATH}:${HOME}/.meteor»‘ >>.bash_profile
PATH=»${PATH}:${HOME}/.meteor»
Скачайте исходный код сервера Rocket.Chat:
git clone https://github.com/RocketChat/Rocket.Chat.git Rocket.Chat.Source
Перейдите в каталог с исходным кодом и выполните сборку архива:
cd Rocket.Chat.Source
meteor npm install
meteor build —directory ~
Установите необходимые библиотеки для NodeJS и завершите сеанс пользователя rocketchat:
cd ~/bundle/programs/server
npm install && exit
Запуск Rocket.Chat
Сделайте ранее полученный каталог серевером Rocket.Chat текущим:
mv /var/calculate/www/rocketchat/{bundle,Rocket.Chat}
Создайте сценарий OpenRC для управления демоном Rocket.Chat, указав https://rocketchat.example.org в качестве ROOT_URL:
#!/sbin/openrc-run # Copyright 2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 name="Rocketchat daemon" description="" pidfile=/run/rocketchat.pid command_user=rocketchat output_log=/var/log/rocketchat.log error_log=/var/log/rocketchat.log directory=/var/calculate/www/rocketchat/Rocket.Chat ROOT_URL="https://rocketchat.example.org" start_stop_daemon_args="-e ROOT_URL=$ROOT_URL -e MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 -e PORT=3000 -e MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 -e PATH=/var/calculate/www/rocketchat/.node-live/lib/node_modules/.bin:/var/calculate/www/rocketchat/.node-live/bin:\"$PATH\"" command="/var/calculate/www/rocketchat/.node-live/bin/node" command_args="main.js" command_background=true depend() { need nginx mongodb } start_pre() { checkpath -f -o rocketchat -m 0600 /var/log/rocketchat.log }
Установите права на запуск:
chmod 755 /etc/init.d/rocketchat
Запустите демон Rocket.Chat:
/etc/init.d/rocketchat start
Добавьте Rocket.Chat в автозагрузку:
rc-update add rocketchat
Откройте в браузере сайт https://rocketchat.example.org и выполните заключительную настройку Rocket.Chat.
Обновление Rocket.Chat
Выполните вход в сеанс пользователя rocketchat:
su — rocketchat
Получите каталог bundle Rocket.Chat сервера одиним из способов, описанных выше в главе Установка сервера.
Остановите старый сервер Rocket.Chat:
/etc/init.d/rocketchat stop
Замените старый сервер на новый:
mv /var/calculate/www/rocketchat/Rocket.Chat{,.$(date +%Y%m%d%H%M)}
mv /var/calculate/www/rocketchat/{bundle,Rocket.Chat}
Запустите новый сервер Rocket.Chat:
/etc/init.d/rocketchat start