Как установить Rocket.Chat на CentOS 8

Как установить Rocket.Chat на CentOS 8

 

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

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку программы чата с открытым исходным кодом Rocket.Chat на CentOS 8.

 

Установка Rocket.Chat на CentOS 8

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

sudo dnf install epel-release
sudo dnf update
sudo dnf groupinstall 'Development Tools'
sudo dnf install curl GraphicsMagick gcc-c++

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

Rocket.Chat Nodejs будет установлен в вашей системе. Выполните следующую команду, чтобы установить Node.js:

curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash -
sudo dnf install nodejs

Шаг 3. Установка веб-сервера Nginx на CentOS 8.

Nginx — это высокопроизводительный веб-сервер, очень популярный в наши дни. Первый шаг — установить Nginx. Итак, откройте сеанс терминала или подключитесь к своему серверу с помощью SSH:

sudo dnf install nginx

После успешной установки запустите Nginx и включите его при загрузке системы:

systemctl enable --now nginx

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

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Шаг 4. Установка MongoDB на CentOS 8.

Откройте сеанс терминала, и нам нужно настроить репозиторий MongoDB. Для этого откройте новый файл:

nano /etc/yum.repos.d/mongodb-org-4.2.repo

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

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/development/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

Теперь установить MongoDB так же просто, как запустить всего одну команду:

dnf install mongodb-org

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

sudo systemctl enable mongodb
sudo systemctl start mongodb

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

nano /etc/mongod.conf

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

replication:
replSetName: "myreplica01"

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

sudo systemctl restart mongod

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

mongo

> rs.initiate()

Вы должны получить следующие результаты:

{
    "info2" : "no configuration specified. Using a default configuration for the set",
    "me" : "127.0.0.1:27017",
    "ok" : 1,
    "operationTime" : Timestamp(160666164, 1),
    "$clusterTime" : {
        "clusterTime" : Timestamp(160666164, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    }
}

Шаг 5. Установка Rocket.Chat на CentOS 8.

Во-первых, вам нужно будет создать отдельного пользователя для запуска Rocket.Chat:

useradd -m -U -r -d /opt/rocket rocket
usermod -a -G rocket nginx
chmod 750 /opt/rocket

Теперь мы загружаем последнюю версию Rocket Chat с помощью следующей команды:

su - rocket
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz

Затем распакуйте загруженный файл:

tar zxf rocket.chat.tgz
mv bundle Rocket.Chat

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

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://chat.example.com:3000/ PORT=3000
ExecStart=/usr/local/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 с помощью следующей команды:

nano /etc/nginx/conf.d/rocket.conf

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

upstream rocketchat_backend {
  server 127.0.0.1:3000;
}

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

    location / {
        proxy_pass http://rocketchat_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-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. Доступ к веб-интерфейсу Rocket.Chat.

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

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