Поиск по сайту:

Как установить сервер Rocket.Chat с Nginx на Ubuntu 16.04


Это руководство существует для этих версий ОС

  • Ubuntu 20.04 (Focal Fossa)
  • Ubuntu 16.04 (Xenial Xerus)

На этой странице

  1. Шаг 1. Установите зависимости Rocket.Chat
  2. Шаг 2. Установите MongoDB
  3. Шаг 3. Настройка MongoDB ReplicaSet
  4. Шаг 4. Установите npm и nodejs
  5. Шаг 5. Установите сервер Rocket.Chat
  6. Шаг 6. Установите и настройте Nginx в качестве обратного прокси-сервера для Rocket.Chat
  7. Шаг 7. Тестирование Rocket.Chat
  8. Справочник

Rocket.Chat — это бесплатное решение для онлайн-чата с открытым исходным кодом для командного общения, которое позволяет вам создавать собственные чаты, такие как онлайн-чат. Rocket.Chat основан на Javascript, разработанном с использованием фреймворка полного стека Meteor. Rocket.Chat — отличное решение для компаний, которые хотят создать собственную платформу для приватного чата.

В этом уроке я покажу вам, как создать собственный чат-сервер с помощью Rocket.Chat. Я буду использовать последний сервер Ubuntu LTS 16.04 для установки и Nginx в качестве обратного прокси-сервера для приложения Rocket.Chat.

Предпосылка

  • Убунту 16.04
  • Привилегии root

Шаг 1 — Установите зависимости Rocket.Chat

Войдите на сервер с помощью ssh (или терминала) и введите sudo su, чтобы получить root-доступ:

ssh 
sudo su

Обновите репозиторий Ubuntu:

apt-get update

Затем установите новые пакеты, необходимые Rocket.Chat:

apt-get install curl graphicsmagick build-essential

Шаг 2 — Установите MongoDB

Для установки Rocket.Chat требуется MongoDB. На этом этапе мы установим MongoDB 3.2 из репозитория MongoDB.

Добавьте сервер ключей MongoDB, чтобы мы могли получить доступ к пакетам:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

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

echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

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

apt-get update
apt-get install mongodb-org

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

systemctl enable mongod
systemctl start mongod

MongoDB запущен на порту 27017.

Шаг 3. Настройте набор реплик MongoDB.

Для повышения производительности Rocket.Chat использует набор реплик MongoDB. На этом этапе мы настроим простой набор реплик MongoDB, отредактировав файл конфигурации MongoDB.

Отредактируйте файл mongod.conf с помощью vim:

vim /etc/mongod.conf

Добавьте \#\ в начале строки 24, чтобы отключить MongoDB, работающую только на локальном IP-адресе.

net:
    port: 27017
    #bindIp: 127.0.0.1

Добавьте конфигурацию ReplicaSet ниже в строке 34.

#replication:                                                               
replication:                                                               
   oplogSizeMB: 1                                                          
   replSetName: rs0

Сохранить и выйти.

Перезапустите службу MongoDB:

systemctl restart mongod

Затем запустите оболочку MongoDB и инициируйте ReplicaSet:

export LC_ALL=C
mongo
rs.initiate()

Начальные результаты:

{
  "info2" : "no configuration specified. Using a default configuration for the set",
  "me" : "nyanko-sensei:27017",
  "ok" : 1
}

Убедитесь, что значение ok равно 1. Если результатом является другое число, это означает, что что-то не так.

Шаг 4 — Установите npm и nodejs

На этом этапе мы установим nodejs и npm из репозитория Ubuntu. Затем мы установим пакет n с помощью команды npm, чтобы получить конкретную версию nodejs. Для последней версии Rocket.Chat требуется nodejs 4.5.

Установите nodejs и npm из репозитория Ubuntu:

apt-get install nodejs npm

Затем глобально установите пакет n в систему с помощью команды npm:

npm install -g n

Используйте команду n, чтобы загрузить и установить nodejs версии 4.5.

sudo n 4.5

Наконец, проверьте версию nodejs:

node --version
npm -v

Шаг 5 - Установите сервер Rocket.Chat

Мы установим Rocket.Chat (последнюю версию) в каталог /var/www/.

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

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

Создайте новый каталог /var/www/ и переименуйте каталог пакета в Rocket.Chat, а затем переместите его:

mkdir -p /var/www/
mv bundle Rocket.Chat
mv Rocket.Chat /var/www/

Перейдите в каталог Rocket.Chat, установите необходимые переменные среды и запустите сервер Rocket.Chat.

cd /var/www/Rocket.Chat/
cd programs/server/
npm install

cd ../../
export ROOT_URL=http://192.168.1.110:3000/
export MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
export PORT=3000
node main.js

Rocket.Chat установлен, откройте веб-браузер и посетите IP-адрес сервера на порту 3000. - 192.168.1.110:3000.

Шаг 6. Установите и настройте Nginx в качестве обратного прокси для Rocket.Chat

На шаге 5 мы установили Rocket.Chat как отдельное приложение. В этом руководстве мы запустим Rocket.Chat за веб-сервером Nginx на https-соединениях, чтобы получить безопасную и быструю настройку.

Установите Nginx с помощью команды apt:

apt-get install nginx

Создайте новый каталог SSL:

mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/

Сгенерируйте файл SSL-сертификата и измените права доступа к ключевому файлу:

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocket-chat.crt -keyout /etc/nginx/ssl/rocket-chat.key
chmod 400 rocket-chat.key

Затем создайте новый файл виртуального хоста Rocket-Chat в каталоге, доступном для сайтов.

cd /etc/nginx/sites-available/
vim rocket-chat

Вставьте новую конфигурацию виртуального хоста ниже:

# Upstreams
upstream backend {
    server 127.0.0.1:3000;
}

# Redirect Options
server {
  listen 80;
  server_name rocket-chat.co;
  # enforce https
  return 301 https://$server_name$request_uri;
}

# HTTPS Server
server {
    listen 443;
    server_name rocket-chat.co;

    error_log /var/log/nginx/rocketchat.access.log;

    ssl on;
    ssl_certificate /etc/nginx/ssl/rocket-chat.crt;
    ssl_certificate_key /etc/nginx/ssl/rocket-chat.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # dont use SSLv3 ref: POODLE

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

        proxy_redirect off;
    }
}

Сохранить и выйти.

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

Активируйте виртуальный хост Rocket.Chat и протестируйте файл конфигурации:

ln -s /etc/nginx/sites-available/rocket-chat /etc/nginx/sites-enabled/rocket-chat
nginx -t

Убедитесь, что нет сообщений об ошибках.

Перезапустите веб-сервер Nginx:

systemctl restart nginx

Шаг 7 — Тестирование Rocket.Chat

Nginx был настроен как обратный прокси-сервер для сервера Rocket.Chat, и нам нужно обновить переменные среды, чтобы запустить Rocket.Chat сейчас.

Запустите Rocket.Chat с новыми переменными ниже:

cd /var/www/Rocket.Chat/
export ROOT_URL=https://rocket-chat.co
export MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
export PORT=3000
node main.js

В веб-браузере откройте URL-адрес: Rocket-Chat.co (или имя вашего личного домена) — вы будете перенаправлены на https-соединение.

Создайте свою первую учетную запись администратора, нажав ссылку «Зарегистрировать новую учетную запись».

Введите свое имя, адрес электронной почты и пароль, а затем нажмите ЗАРЕГИСТРИРОВАТЬ НОВУЮ УЧЕТНУЮ ЗАПИСЬ.

Подтвердите использование нового SITE-URL с доменным именем. Нажмите Да.

Зарегистрируйте имя пользователя, нажмите ИСПОЛЬЗОВАТЬ ЭТО ИМЯ ПОЛЬЗОВАТЕЛЯ.

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

Rocket.Chat был установлен с веб-сервером Nginx на Ubuntu 16.04.

Результаты после того, как мы использовали новые переменные среды:

Ссылка

  • https://rocket.chat/docs/installation/manual-installation/ubuntu/