Как установить 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 .