Как установить Rocket.Chat в Ubuntu 20.04 LTS

Как установить Rocket.Chat в Ubuntu 20.04 LTS

 

В этом руководстве мы покажем вам, как установить Rocket.Chat в Ubuntu 20.04 LTS. Для тех из вас, кто не знал, Rocket.Chat — одно из самых популярных программ чата с открытым исходным кодом. Фантастическая альтернатива Slack и платному программному обеспечению для чата. Это бесплатно, без ограничений и множество интересных функций, таких как видеочат, совместное использование экрана, мобильные приложения и многое другое.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку программного обеспечения для чата с открытым исходным кодом Rocket.Chat на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, такого как Linux Mint.

Установите Rocket.Chat на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие aptкоманды в терминале.

sudo apt update
sudo apt upgrade
sudo apt install nginx gnupg2 git unzip build-essential software-properties-common graphicsmagick

Шаг 2. Установка Node.js.

Теперь добавьте официальный репозиторий Node.js в вашу систему Ubuntu:

curl -sL https://deb.nodesource.com/setup_12.x | bash -

После добавления репозитория установите Node.js с помощью следующей команды:

sudo apt install nodejs

http://ad.admitad.com/g/hvh8161t5fd1986c089dbb0f07f63d/?ulp=http%3A%2F%2Fad.admitad.com%2Fg%2Fhvh8161t5fd1986c089dbb0f07f63d

Шаг 3. Установка веб-сервера Nginx в системе Ubuntu.

Nginx доступен в репозиториях Ubuntu по умолчанию. Чтобы установить его, выполните следующую команду:

sudo apt install nginx

После завершения установки запустите команды, чтобы Nginx автоматически запускался при запуске вашего сервера:

sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Между тем вам необходимо убедиться, что ваш брандмауэр настроен на разрешение трафика на портах HTTP (80) и HTTPS (443). Nginx регистрируется как сервис в ufw:

sudo ufw allow in "Nginx Full"

Шаг 4. Установите MongoDB в Ubuntu 20.04.

По умолчанию последняя версия MongoDB недоступна в репозитории Ubuntu 20.04 по умолчанию. Поэтому вам нужно будет добавить официальный репозиторий MongoDB в вашу систему:

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -

Затем добавьте репозиторий MongoDB с помощью следующей команды:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list

После этого обновите свою систему и обновите существующие репозитории, выполнив следующие команды:

sudo apt update
sudo apt install mongodb-org

После завершения установки запустите службу MongoDB и включите ее запуск при перезагрузке с помощью следующей команды:

sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod

Затем вам нужно будет определить набор реплик в MongoDB. Вы можете определить его с помощью следующей команды:

nano /etc/mongod.conf

Добавьте следующие строки:

replication:
replSetName: "myreplica"

Сохраните и закройте файл, затем перезапустите службу MongoDB:

sudo systemctl restart mongod

Шаг 5. Установка Rocket.Chat в Ubuntu 20.04.

Сначала создайте нового пользователя для Rocket.Chat и добавьте его в группу. Вы можете сделать это с помощью следующей команды:www-data

useradd -m -U -r -d /opt/rocket rocket --shell /bin/bash
usermod -a -G rocket www-data
chmod 750 /opt/rocket

Затем переключите пользователя на Rocket.Chat и загрузите последнюю версию Rocket.Chat с официальной страницы:

su - rocket
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
tar -xvzf rocket.chat.tgz
mv bundle Rocket.Chat

Затем измените каталог на сервер Rocket.Chat и установите все зависимости Node.js, используя следующую команду:

cd Rocket.Chat/programs/server
npm install

Шаг 6. Создайте сервис Systemd для Rocket.Chat.

Теперь создадим systemdслужебный файл для управления службой Rocket.Chat:

nano /etc/systemd/system/rocketchat.service

Добавьте следующие строки:

[Unit]
Description=Rocket.Chat server
After=network.target nss-lookup.target mongod.target

[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocket
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://rocket.yourdomain.com PORT=3000
ExecStart=/usr/bin/node /opt/rocket/Rocket.Chat/main.js

[Install]
WantedBy=multi-user.target

Сохраните и закройте файл, затем запустите службу Rocket.Chat, которая также может запускаться при перезагрузке системы с помощью следующей команды:

sudo systemctl daemon-reload
sudo systemctl start rocketchat
sudo systemctl enable rocketchat

Шаг 7. Настройте Nginx как обратный прокси.

Создайте новый серверный блок Nginx для доступа к Rocket.Chat через прокси:

nano /etc/nginx/sites-available/rocketchat.conf

Добавьте следующие строки:

upstream myrocketchat {
  server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name chat.mydomain.com;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    location / {
        proxy_pass http://my-rocketchat/;
        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;

        proxy_redirect off;
    }
}

Сохраните и закройте файл, затем перезапустите службу Nginx, чтобы изменения вступили в силу:

sudo systemctl restart nginx

Шаг 8. Настройте Let’s Encrypt SSL.

Теперь мы загружаем и настраиваем Let’s Encrypt для SSL-сертификата:

sudo apt install certbot python3-certbot-nginx

Перезагрузите и включите службу Nginx:

nginx -tsudo systemctl restart nginx

Шаг 9. Доступ к Rocket.Chat в системе Ubuntu.

По умолчанию Rocket.Chat будет доступен через HTTP-порт 80. Откройте свой любимый браузер, перейдите к нужным шагам и выполните необходимые действия, чтобы завершить установку.https://chat.mydomain.com

Поздравляю! Вы успешно установили Rocket.Chat . Благодарим вас за использование этого руководства для установки программного обеспечения чата с открытым исходным кодом Rocket.Chat в вашей системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Rocket.Chat .