Android

Как развернуть rocket.chat на centos 7

How to install rocketchat on centos 7.8

How to install rocketchat on centos 7.8

Оглавление:

Anonim

Rocket.Chat - это полноценная коммуникационная платформа для команд, альтернатива Slack. Он построен на основе Meteor и предоставляет различные функции, включая чат службы поддержки, видеоконференции, обмен файлами, голосовые сообщения, API и многое другое.

В этом руководстве мы покажем вам, как установить и развернуть Rocket.Chat на сервере CentOS 7 с Nginx в качестве обратного прокси-сервера SSL.

Предпосылки

Убедитесь, что вы выполнили следующие предварительные условия, прежде чем продолжить этот урок:

  • Сервер CentOS 7, в соответствии с официальными системными требованиями Rocket.Chat, вам нужно как минимум 1 ГБ ОЗУ. Вы вошли в систему как пользователь с привилегиями sudo. У вас есть доменное имя, указывающее на IP-адрес вашего сервера., мы будем использовать example.com . У вас установлен Nginx, если вы не можете установить его, следуя этому руководству. Сертификат SSL. Вы можете создать бесплатную версию в Let's Encrypt или купить ее у другого провайдера.

Установить зависимости

Установите следующие пакеты, необходимые для сборки необходимых модулей npm :

sudo yum install epel-release curl GraphicsMagick gcc-c++

Затем установите Node.js и npm , набрав:

sudo yum install -y nodejs npm

На момент написания этой статьи рекомендуемой версией Node.js для Rocket.Chat является Node.js v8.11.3.

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

sudo npm install -g inherits n sudo n 8.11.3

MongoDB - это документно-ориентированная база данных NoSQL, и она используется Rocket.Chat в качестве хранилища данных. Rocket.Chat рекомендует MongoDB версии 3.6.

Мы установим MongoDB, используя yum из официальных репозиториев MongoDB.

Откройте выбранный вами редактор и создайте следующий файл репозитория:

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

Вставьте следующее содержимое в файл:

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

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

Сохраните файл и закройте текстовый редактор.

Чтобы установить MongoDB, выполните следующую команду:

sudo yum install mongodb-org

После завершения установки включите и запустите службу MongoDB:

sudo systemctl start mongod sudo systemctl enable mongod

Создать нового пользователя системы

Создайте нового пользователя и группу, которые будут запускать наш экземпляр Rocket.Chat. Для простоты назовем пользовательскую rocket :

sudo useradd -m -U -r -d /opt/rocket rocket

Добавьте пользователя nginx в новую группу пользователей и измените разрешения для каталога /opt/rocket чтобы Nginx мог получить к нему доступ:

sudo usermod -a -G rocket nginx sudo chmod 750 /opt/rocket

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

Переключитесь на пользовательскую rocket , набрав:

sudo su - rocket

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

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

После завершения загрузки распакуйте архив и переименуйте каталог в Rocket.Chat :

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

Перейдите в каталог Rocket.Chat/programs/server и установите все необходимые пакеты npm :

cd Rocket.Chat/programs/server npm install

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

Для этого начните с установки необходимых переменных среды:

export PORT=3000 export ROOT_URL=http://example.com:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat

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

cd../../ node main.js

Если ошибок нет, вы должны увидеть следующий вывод:

➔ +---------------------------------------------+ ➔ | SERVER RUNNING | ➔ +---------------------------------------------+ ➔ | | ➔ | Rocket.Chat Version: 0.71.1 | ➔ | NodeJS Version: 8.11.3 - x64 | ➔ | Platform: linux | ➔ | Process Port: 3000 | ➔ | Site URL: http://0.0.0.0:3000/ | ➔ | ReplicaSet OpLog: Disabled | ➔ | Commit Hash: e73dc78ffd | ➔ | Commit Branch: HEAD | ➔ | | ➔ +---------------------------------------------+

На данный момент Rocket.Chat установлен на вашем компьютере CentOS 7. Остановите сервер Rocket.Chat с помощью сочетания CTRL+C и перейдите к следующим шагам.

Создать системный модуль

Чтобы запустить Rocket.Chat как сервис, создайте rocketchat.service модуля rocketchat.service каталоге /etc/systemd/system/ :

sudo nano /etc/systemd/system/rocketchat.service Вставьте следующее содержимое в файл: /etc/systemd/system/rocketchat.service

Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://example.com:3000/ PORT=3000 ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js WantedBy=multi-user.target

Сохраните и закройте файл.

Уведомите systemd о создании нового файла модуля и запустите службу Rocket.Chat, выполнив:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Проверьте статус службы с помощью следующей команды:

sudo systemctl status rocketchat

Вывод должен выглядеть примерно так:

● rocketchat.service - Rocket.Chat server Loaded: loaded (/etc/systemd/system/rocketchat.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-04-10 20:30:56 UTC; 8s ago Main PID: 32356 (node) CGroup: /system.slice/rocketchat.service └─32356 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

Если ошибок нет, вы можете включить автоматический запуск службы Rocket.Chat во время загрузки:

sudo systemctl enable rocketchat

Установите обратный прокси с Nginx

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

sudo nano /etc/nginx/conf.d/example.com.conf

Вставьте следующее содержимое в файл:

/etc/nginx/conf.d/example.com.conf

upstream rocketchat_backend { server 127.0.0.1:3000; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; 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 reload nginx

Настройка Rocket.Chat

Откройте браузер и введите: http://chat.example.com .

При условии, что установка прошла успешно, вам будет представлен мастер установки Rocket.Chat, который поможет вам настроить первого пользователя-администратора, настроить организацию и зарегистрировать сервер для получения бесплатных push-уведомлений и многое другое.

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

Нажмите кнопку « Go to your workspace , и вы будете перенаправлены на панель инструментов Rocket.Chat, в которой вы зарегистрированы как администратор.

Вывод

Вы успешно установили Rocket.Chat на вашем сервере CentOS 7. Теперь вы можете начать использовать Rocket.Chat для совместной работы с вашей командой, обмена файлами и общения в реальном времени.

rocketchat nodejs centos mongodb