Как установить RocketChat на Ubuntu 22.04

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://:3000.

Шаг 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

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

Зарубин Иван Эксперт по Linux и Windows

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

Вдохновлен www.rosehosting.com

Комментарии (0)