RocketChat – это полностью настраиваемая коммуникационная платформа с открытым исходным кодом, написанная на Javascript. RocketChat предлагает множество возможностей, таких как общение в реальном времени, гибкость и масштабируемость решений, а также имеет высокие стандарты защиты данных. В этом руководстве мы расскажем вам, как установить RocketChat на Ubuntu 22.04.
Мы будем использовать Nginx в качестве обратного прокси для нашего приложения RocketChat.
Установка RocketChat с Nginx в качестве обратного прокси – это несложный процесс, который может занять до 25 минут в зависимости от вашего знакомства с Linux. Давайте начнем!
Шаг 1. Обновление системы
Прежде чем приступить к установке RocketChat, необходимо обновить системные пакеты до последних доступных версий.
sudo apt-get update -y && sudo apt-get upgrade -y
Шаг 2. Установка Nginx
Для установки веб-сервера Nginx выполните следующую команду:
sudo apt install nginx -y
После завершения установки запустите и включите службу Nginx:
sudo systemctl start nginx && sudo systemctl enable nginx
Для проверки состояния службы Nginx выполните следующую команду:
systemctl status nginx
Вы должны получить следующий результат:
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2023-10-10 03:47:12 CDT; 7s ago Docs: man:nginx(8) Main PID: 2401 (nginx) Tasks: 4 (limit: 4558) Memory: 4.0M CPU: 84ms CGroup: /system.slice/nginx.service ├─2401 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ├─2402 "nginx: worker process" ├─2403 "nginx: worker process" └─2404 "nginx: worker process" Oct 10 03:47:12 host.test.vps systemd[1]: Starting A high performance web server and a reverse proxy server... Oct 10 03:47:12 host.test.vps systemd[1]: Started A high performance web server and a reverse proxy server.
Шаг 3. Установите MongoDB
RocketChat для функционирования и хранения информации необходим сервис баз данных. Нам необходимо установить службу базы данных MongoDB. Сначала добавим репозиторий MongoDB и GPG-ключ:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | gpg --dearmor | sudo tee /usr/share/keyrings/mongodb.gpg >/dev/null echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
После этого обновим систему и установим MongoDB:
sudo apt update sudo apt install mongodb-org
После установки запустим и включим службу:
sudo systemctl start mongod && sudo systemctl enable mongod
Для проверки состояния службы MongoDB можно выполнить следующую команду:
sudo systemctl status mongod
Вы должны получить следующий результат:
● mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2022-10-11 07:36:21 UTC; 2s ago Docs: https://docs.mongodb.org/manual Main PID: 81644 (mongod) Memory: 57.1M CGroup: /system.slice/mongod.service └─81644 /usr/bin/mongod --config /etc/mongod.conf
Шаг 4. Установка RocketChat на Ubuntu 22.04
Скачайте и распакуйте последнюю версию RocketChat:
curl -L https://releases.rocket.chat/latest/download -o /opt/rocket.chat.tgz tar -xzf /opt/rocket.chat.tgz -C /opt
Затем перейдите в каталог, куда распакован RocketChat, и выполните следующие команды для установки:
mv /opt/bundle/ /opt/RocketChat cd /opt/RocketChat/programs/server npm install
Шаг 5. Создание службы RocketChat
Перед созданием службы необходимо создать системного пользователя, от имени которого будет работать RocketChat:
sudo useradd -M rocketchat && sudo usermod -L rocketchat sudo chown -R rocketchat:rocketchat /opt/RocketChat
После создания пользователя настройте хранилище для MongoDB:
sudo sed -i "s/^# engine:/ engine: wiredTiger/" /etc/mongod.conf sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
После его добавления необходимо создать файл службы:
touch /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] ExecStart=/usr/bin/node /opt/RocketChat/main.js StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocketchat Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000 [Install] WantedBy=multi-user.target
Отключите Daemon и запустите службу RocketChat. Также необходимо включить запуск службы при старте:
sudo systemctl daemon-reload sudo systemctl start rocketchat sudo systemctl enable rocketchat
Вот и все, ваш экземпляр RocketChat запущен! Доступ к нему можно получить по адресу http://
Шаг 6. Настройка RocketChat с помощью обратного прокси-сервера Nginx
Создайте конфигурационный файл Nginx.
touch /etc/nginx/sites-enabled/rocketchat.conf
После создания откройте его в любимом текстовом редакторе и вставьте следующие строки кода:
server { listen 80; server_name YourDomainNameHere; access_log /var/log/nginx/rocket_access.log; error_log /var/log/nginx/rocket_error.log; location / { proxy_pass http://127.0.0.1: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-Forward-For $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; } }
Сохраните файл, закройте его и проверьте конфигурацию Nginx на наличие синтаксических ошибок следующей командой:
nginx -t
Если все в порядке, вы должны получить следующий результат:
root@host:~# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Перезапустите службу Nginx и зайдите в свою установку RocketChat по адресу http://YourDomainName
Интерфейс очень интуитивен, вам потребуется создать имя организации, установить учетную запись администратора и, конечно же, надежный пароль.
Комментарии (0)