Ubuntu rocketchat server что это
- Чат в реальном времени
- Аудиоконференции
- Видеоконференции
- Каналы
- Гостевой вход
- Трансляция экрана
- Передача файлов
- Полнофункциональный API
Для обеспечения безопасности используется:
- Групповая синхронизация LDAP
- Двухфакторная аутентификация 2FA
- Сквозное шифрование
- Единый вход SSO
- Несколько поставщиков Oauth аутентификации
Шаг 1. Установка Snap в Linux
Для простоты мы будем использовать систему управления пакетами Snaps . Первым делом надо установить пакет snapd c помощью диспетчера пакетов.
Далее необходимо включить модуль systemd, который управляет основным сокетом мгновенной связи. Эта команда запустит сокет и позволит ему запускаться при загрузке системы.
$ sudo systemctl enable --now snapd.socket
Для установки rocketchat-server выполните:
$ sudo snap install rocketchat-server
После загрузки мастера настройки укажите следующие параметры: полное имя администратора, имя пользователя, адрес электронной почты организации и пароль.
Далее надо указать информацию об организации: тип организации, название, отрасль, размер, страна и сайт.
Затем нужно указать информацию о сервере - имя сайта, язык, тип сервера, и включение или отключение двухфакторной аутентификации 2FA.
Настройка завершена, и ваше рабочее пространство готово, теперь надо нажать Go to your workspace (Перейти в рабочее пространство)
Вот так оно выглядит.
Сначала установите Nginx.
Далее запустите службу Nginx, включите ее автоматический запуск при загрузке системы и проверьте ее статус
$ sudo systemctl enable --now nginx
$ sudo systemctl status nginx
Далее вставьте конфигурацию в этот файл, заменив домен на свой и сохраните.
upstream backend server 127.0.0.1:3000;
>
Наконец проверьте синтаксис и перезапустите службу Nginx.
$ sudo nginx -t
$ sudo systemctl restart nginx
Установите пакет Apache2
Далее запустите и включите службу apache и проверьте, запущена ли она и работает.
----- В Ubuntu/Debian -----
$ sudo systemctl enable --now apache2
$ sudo systemctl status apache2
Далее вставьте конфигурацию в этот файл, заменив домен на свой и сохраните.
<Location />
Require all granted
</Location>
В Ubuntu и Debian включите необходимые модули apache2 и перезапустите службу.
В CentOS/RHEL и Fedora перезапустите службу apache.
Затем установите пакет с помощью диспетчера пакетов dpkg или rpm
$ sudo dpkg -i rocketchat_2.17.7_amd64.deb Ubuntu/Debian
$ sudo rpm -i rocketchat-2.17.7.x86_64.rpm CentOS/RedHat
Установка Node.js
Сначала обновите список системных пакетов:
sudo apt update
Установите Node.js , npm и все другие зависимости, необходимые для сборки пакетов npm из исходного кода:
sudo apt install nodejs npm build-essential curl software-properties-common graphicsmagick
Мы будем использовать n, пакет npm, который позволяет интерактивно управлять версиями Node.js. Выполните команды ниже, чтобы установить n и Node.js:
sudo npm install -g inherits n
sudo n 8.11.3
Установка MongoDB
Импортируйте открытый ключ MongoDB и включите официальный репозиторий MongoDB:
После включения репозитория apt обновите список пакетов и установите MongoDB, набрав:
Установка компонентов
Установка необходимых пакетов
apt-get install curl build-essential graphicsmagick nodejs
- curl — служебная программа для взаимодействия с сервисами по различным протоколам с синтаксисом URL. Нам понадобиться для скачивания файлов.
- build-essential — пакет, необходимый для сборки других пакетов.
- graphicsmagick — набор программ для чтения и редактирования файлов различных графических форматов.
- nodejs — программная платформа, которая делает код javascript в язык общего назначения.
Устанавливаем inherits и node версии 12.14.0:
npm install -g inherits n && sudo n 12.14.0
Установка MongoDB
Конфигурируем репозиторий для MongoDB:
Импортируем ключ из репозитория для проверки пакетов от подделки:
Обновляем список пакетов:
И устанавливаем mongodb-org:
apt-get install mongodb-org
Вносим изменения в конфигурационный файл:
Разрешаем автозапуск mongodb и стартуем его:
systemctl enable mongod
systemctl start mongod
Инициализируем базу данных:
mongo --eval "printjson(rs.initiate())"
Установка
Для установки скачиваем пакет:
* обязательно сохраняем архив в каталог /tmp.
Распаковываем скачанный пакет:
Переходим в распакованный каталог:
. и переносим его в каталог /opt:
Настройка
Создаем пользователя для rocketchat:
useradd -M rocketchat
usermod -L rocketchat
* где первая команда создаст пользователя rocketchat без домашнего каталога; вторая — блокирует пароль пользователя.
Задаем владельца для каталога с rocketchat:
Создаем файл для нового юнита в systemd:
* в данном примере сервис будет запущен на порту 3000.
Применяем изменения в systemd:
Разрешаем сервис для rocketchat и запускаем сервер для чата:
systemctl enable rocketchat
systemctl start rocketchat
Ждем около 20 секунд — запуск выполняется не сразу.
Если используется брандмауэр, открываем порт:
iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
. и сохраняем настройки:
apt-get install iptables-persistent
Установка и настройка клиента
* клиент может быть установлен на Windows, Mac OS, Linux. В данном примере скачиваем для Windows.
Устанавливаем и запускаем программу — откроется окно для подключения. Вводим IP-адрес и порт нашего сервера:
. система проверит подключение к серверу и предложит подключиться к серверу.
При первом входе клиент потребует зарегистрировать учетную запись администратора. Заполняем поля и регистрируемся.
Создание нового пользователя
Переходим к администрированию сервера. Кликаем по иконки меню (с тремя точками) и выбираем Administration:
Переходим в раздел Users:
Кликаем по «плюсику» для создания нового пользователя:
Заполняем поля и кликаем по Save.
Настройка языка
Выбор языка в клиенте
Открываем клиентскую программу - кликаем по значку пользователя - выбираем My Account:
Кликаем по Preferences:
Выбираем язык и сохраняем настройки:
Настройка языка по умолчанию
Переходим к администрированию сервера. Кликаем по иконки меню (с тремя точками) и выбираем Administration:
Выбираем пункт меню General:
Выбираем язык по умолчанию:
. и сохраняем настройки.
Установка NGINX и получение сертификата
В качестве веб-сервера удобнее всего использовать NGINX. Установим его командой:
apt-get install nginx
Сразу разрешим автозапуск nginx:
systemctl enable nginx
Игаче, создадим конфигурационный файл с настройками для домена:
systemctl restart nginx
Если мы используем брандмауэр, создаем правила:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
apt-get install certbot
Получаем сертификат командой:
Если все сделано правильно, мы увидим:
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
.
Создаем задание для автоматического обновления сертификата:
И добавляем строку:
0 0 * * 1,4 /usr/bin/certbot renew && systemctl reload nginx
Открываем наш конфигурационный файл для nginx:
Подготовка
Прежде чем приступить к изучению этого руководства, убедитесь, что у вас есть следующие предварительные условия.
Установка Node.js
Начните с обновления списка системных пакетов:
Установите Node.js, npm и все другие зависимости, необходимые для сборки пакетов npm из исходного кода:
Мы собираемся использовать n , пакет npm, который позволяет нам интерактивно управлять версиями Node.js.
Выполните следующие команды, чтобы установить n и рекомендуемую версию Node.js:
Установка MongoDB
Мы установим MongoDB из официальных репозиториев MongoDB.
Импортируйте открытый ключ MongoDB и включите официальный репозиторий MongoDB с помощью следующей команды:
После включения репозитория apt обновите список пакетов и установите MongoDB, набрав:
После завершения установки включите и запустите службу MongoDB:
Создать нового системного пользователя
Следующие команды предполагают, что вы в настоящее время работаете как пользователь rocket .
Если ошибок нет, вы должны увидеть следующий вывод:
Вернитесь к своему пользователю sudo, набрав exit и перейдите к следующим шагам.
Создайте модуль Systemd
Вставьте следующий контент:
Проверьте статус услуги, набрав:
Настройте обратный прокси с Nginx
Откройте текстовый редактор и создайте следующий файл:
Включите новый блок сервера, создав символьную ссылку из файла в каталог с поддержкой сайтов:
Перезагрузите службу Nginx, чтобы изменения вступили в силу:
В первом разделе мастера начальной настройки вам будет предложено настроить пользователя с правами администратора:
Когда вы закончите вводить информацию об администраторе, нажмите кнопку « Continue и на следующем шаге введите информацию о вашей организации:
В третьем разделе мастера начальной настройки вам будет предложено ввести информацию о сервере:
Сделайте свой выбор, нажмите кнопку « Continue , и вы будете перенаправлены на следующую страницу, указывающую, что ваше рабочее пространство готово к использованию:
Выводы
Если у вас возникли проблемы с установкой, не стесняйтесь оставлять комментарии.
Требования
1: Установка зависимостей
Чтобы установить MongoDB, нужно сначала добавить сервер ключей:
Затеем нужно задать репозиторий:
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
Обновите список пакетов:
sudo apt-get update
sudo apt-get install -y npm mongodb-org curl graphicsmagick
Примечание: Аргумент –y автоматически подтверждает установку.
Теперь установите пакет при помощи NPM:
sudo npm install -g n
Измените версию NodeJS:
Эта команда извлечет архив в каталог bundle. Переместите содержимое этого каталога в каталог с более описательным названием:
В переменной ROOT_URL нужно указать свой URL-адрес:
Затем нужно задать URL-адрес MongoDB в переменной MONGO_URL:
Задайте порт 3000:
3: Настройка обратного прокси-сервера Nginx
sudo apt-get install -y nginx
Переместите закрытый ключ сертификата в /etc/nginx/certificate.key:
sudo cp /path/to/your/key /etc/nginx/certificate.key
sudo cp /etc/letsencrypt/live/your_domain_name/privkey.pem /etc/nginx/certificate.key
Измените права на ключ, чтобы заблокировать доступ несанкционированных пользователей.
sudo chmod 400 /etc/nginx/certificate.key
Теперь скопируйте сертификат в /etc/nginx/certificate.crt:
sudo cp /path/to/your/cert /etc/nginx/certificate.crt
sudo cp /etc/letsencrypt/live/your_domain_name/cert.pem /etc/nginx/certificate.crt
sudo rm /etc/nginx/sites-enabled/default
Если в дальнейшем вам понадобится этот файл, его можно найти в каталоге /etc/nginx/sites-available/default.
Создайте /etc/nginx/sites-enabled/default в nano:
sudo nano /etc/nginx/sites-enabled/default
Сначала добавьте блок upstream:
После этого создайте блок server. Первая его часть указывает имя хоста и порт, который прослушивает Nginx (в данном случае :443).
После этого нужно добавить блок location.
В результате /etc/nginx/sites-enabled/default выглядит так:
Сохраните и закройте файл.
sudo service nginx restart
Чтобы убедиться, что Nginx работает, проверьте состояние сервера:
sudo service nginx status
Команда должна вернуть:
* nginx is running
Если же команда вернула ошибку:
* nginx is not running
проверьте логи /var/log/nginx/rocketchat.access.log и /var/log/nginx/access.log или лог ошибок /var/log/nginx/error.log. Также можно проверить конфигурационный файл на наличие ошибок:
Сначала установите forever (зависимость forever-service):
sudo npm install -g forever
Теперь можно установить forever-service:
sudo npm install -g forever-service
Создайте сервис при помощи forever-service:
sudo forever-service install -s main.js -e "ROOT_URL=https://example.com/ MONGO_URL=mongodb://localhost:27017/rocketchat PORT=3000" rocketchat
Примечание: Чтобы получить справку по синтаксису forever-service, запустите команду:
sudo start rocketchat
Эта команда инициализирует сервис rocketchat, созданный модулем forever-service.
- Запустить:
sudo start rocketchat
- Остановить:
sudo stop rocketchat
- Проверить состояние:
sudo status rocketchat
- Перезапустить:
sudo restart rocketchat
Примечание: Проверьте лог-файл /var/log/rocketchat.log, чтобы узнать подробности запуска приложения.
Выберите Register a new account и введите данные о новом пользователе. Нажмите Submit, а затем выберите имя пользователя. Нажмите Use this username. На экране появится домашняя страница приложения.
- Чтобы выделить текст полужирным, поместите его между звёздочками: *this is bold!*
- Чтобы написать текст курсивом, используйте символы подчёркивания:
- Чтобы использовать блоки встроенного кода, введите обратные кавычки:
Теперь рассмотрим интерфейс приложения. Попробуйте создать новый канал. Для этого нажмите кнопку с плюсом возле Channels.
Выберите название канала. Нажмите Save. Приложение откроет новый канал.
Чтобы получить доступ к интерфейсу администратора, нажмите кнопку со стрелочкой рядом с именем пользователя. Это переведёт вас в новое меню. Выберите Administration. На экране появится меню администратора.
Общение продуктивно?
Все эти инструменты для совместной работы позволяют разделить беседы по тем категориям, которые имеют для вас значение, например, по командам, проектам или темам. Обычно их называют комнатами или каналами.
sudo snap установить rocketchat-server
sudo snap set rocketchat-server caddy = включить
И, наконец, мы можем инициализировать и запустить Caddy с предоставленными нами настройками:
sudo snap run rocketchat-server.initcaddy
sudo systemctl перезапустить snap.rocketchat-server.rocketchat-server.service
sudo systemctl перезапустить snap.rocketchat-server.rocketchat-caddy.service
Откройте ваш веб-браузер. Если вы находитесь на сервере чата, вы можете ввести «localhost: 3000» в качестве адреса. Если вы находитесь на другом компьютере в той же сети, используйте IP-адрес или сетевое имя сервера чата с последующим «: 3000» без пробелов.
На экране входа в систему щелкните ссылку «Зарегистрировать новую учетную запись».
Вам будет предложено ввести данные пользователя.
Заполните форму и нажмите синюю кнопку «Продолжить», чтобы продолжить.
Вы должны предоставить некоторую информацию о своей организации.
Нажмите синюю кнопку «Продолжить», чтобы продолжить.
Нажмите синюю кнопку «Продолжить», чтобы продолжить.
Нажмите синюю кнопку «Продолжить», чтобы продолжить.
Первая созданная учетная запись автоматически становится учетной записью администратора.
Чтобы получить доступ к параметрам администрирования, щелкните свой аватар в верхнем левом углу боковой панели. По умолчанию это цветной квадрат, содержащий первую букву вашего имени пользователя.
В раскрывающемся меню выберите «администрирование». На боковой панели перечислены все административные параметры. Мы создадим несколько пользователей. Нажмите на опцию «Пользователи» на боковой панели.
В представлении «Пользователи» нажмите кнопку «Создать».
Появится форма добавления пользователя.
Щелкните значок «Создать» в правом верхнем углу боковой панели.
Заполните форму нового канала.
Щелчок по значку «Увеличительное стекло» в поле «Добавить участников (необязательно)» открывает список пользователей, из которых вы можете выбирать. Эти пользователи автоматически добавляются на канал. Нажмите синюю кнопку «Создать», чтобы закрыть форму и создать канал.
Теперь, когда вы создали несколько каналов и пользователей, давайте установим клиент и войдем в систему.
sudo snap install rocketchat-desktop
Также доступны клиенты для Windows и macOS.
Запустите клиент и войдите в систему как один из пользователей, которых вы только что создали.
Вы можете войти в систему, используя их имя пользователя или адрес электронной почты.
Макет клиентского интерфейса соответствует текущему соглашению, в котором каналы перечислены и выбраны на боковой панели, а разговоры отображаются в основной части окна. Если вы использовали какой-либо из основных корпоративных клиентов чата, вы уже знакомы с этим макетом.
Вы можете отправлять файлы и документы, перетаскивая их в окно чата.
Немедленное общение
Платформы для корпоративного чата и совместной работы означают, что члены команды всегда готовы помочь друг другу. Благодаря мгновенному общению нет задержек по электронной почте. Если вы действительно хотите изолировать себя, чтобы сосредоточиться на чем-то, установите для себя статус «занят» или «невидимый» или полностью выйдите из системы.
Читайте также: