Як встановити сервер Rocket.Chat з Nginx на Ubuntu 16.04

Як встановити сервер Rocket.Chat з Nginx на Ubuntu 16.04

Rocket.Chat - це безкоштовне та відкрите джерело Інтернет-чатів для спілкування в команді, це дозволяє створити власну слабку, як онлайн-чат. Rocket.Chat грунтується на Javascript, розробленому за допомогою метеорної структури повного степу. Rocket.Chat - відмінне рішення для компаній, які хочуть створити власну приватну чат-платформу.

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

Необхідна умова

  • Ubuntu 16.04
  • Привілеї root

Крок 1 - встановіть залежність Rocket.Chat

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

SSH [Електронна пошта захищена]
Sudo су

Оновлення репозиторію Ubuntu:

apt-get поновлення

Потім встановіть нові пакети, необхідні 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 поновлення
apt-get install mongodb-org

Додати MongoDB для запуску при завантаженні і запустити його:

systemctl enable mongod
systemctl почати mongod

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

Встановіть MongoDB і запустіть його.

Крок 3 - налаштування MongoDB ReplicaSet

Щоб підвищити ефективність, Rocket.Chat використовує MongoDB ReplicaSet. На цьому кроці ми налаштуємо простий MongoDB ReplicaSet, відредагувавши файл конфігурації MongoDB.

Редагувати файл mongod.conf за допомогою vim:

vim /etc/mongod.conf

Додайте "#" в початок рядка 24, щоб вимкнути MongoDB, який працює лише на локальному IP-адресі.

нетто:
порт: 27017
# bindIp: 127.0.0.1

Додайте конфігурацію ReplicaSet нижче в рядку 34.

#replication:
реплікація:
oplogSizeMB: 1
replSetName: rs0

Зберегти та вийти.

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

systemctl перезапустити mongod

Потім запустіть оболонку MongoDB і запустіть ReplicaSet:

експорт LC_ALL = C
манго
rs.initiate ()

Ініціювати результати:

{
"Info2": "конфігурація не вказана. Використання стандартної конфігурації для набору ",
"Я": "ньянько-сенсея: 27017",
"Добре": 1
}

Переконайтеся, що "ok'значення є 1. Якщо результат є іншим числом, це означає, що щось не так.

Налаштувати MongoDB ReplicaSet

Крок 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 -gn

Використовуйте команду n для завантаження та встановлення nodejs версії 4.5.

судо n 4.5

Нарешті, перевірте версію nodejs:

вершина вузла
npm -v

Керуйте версією NodeJS за допомогою команди n

Крок 5 - встановіть Rocket.Chat Server

Ми встановимо Rocket.Chat (останню версію) у каталозі / var / www /.

Завантажте останню версію Rocket.Chat і витягніть її:

curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
тар-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-програми / сервер /
npm встановити
cd ../../
експорт ROOT_URL = http: // 192.168.1.110: 3000 /
експорт MONGO_URL = mongodb: // nyanko-sensei: 27017 / rocketchat? replicaSet = rs0
експорт PORT = 3000
вузол main.js

Встановіть сервер Rocket.Chat на Ubuntu 16.10

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

Rocket Chat встановлений і працює добре.

Крок 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 -says 365 -nodes -out /etc/nginx/ssl/rocket-chat.crt -keyout /etc/nginx/ssl/rocket-chat.key
chmod 400 rocket-chat.key

Далі створіть новий файл віртуального хоста ракетного чату в доступному каталозі сайтів.

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

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

# Upstream потокового сервера (сервер 127.0.0.1: 3000; } # Сервер параметрів перенаправлення {слухати 80; server_name rocket-chat.co; # enforce https повернути 301 https: // $ server_name $ request_uri; } Сервер серверу HTTPS {слухати 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; # не використовуйте SSLv3 ref: розташування POODLE / / proxy_pass http: // 192.168.1.110: 3000 /; proxy_http_version 1.1; proxy_set_header Оновити $ http_upgrade; proxy_set_header З'єднання "оновлення"; proxy_set_header Хост $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forward-Для $ proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; }}

Зберегти та вийти.

Я буду запускати Rocket.Chat з новим доменним ім'ям 'ракета-chat.co'. Будь ласка, використовуйте своє власне доменне ім'я та замініть його в файлах конфігурації, де б він не з'явився.

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

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

Переконайтеся, що немає повідомлень про помилки.

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

systemctl перезапустити nginx

Крок 7 - тестування Rocket.Chat

Nginx налаштовано як зворотний проксі для сервера Rocket.Chat, і нам потрібно оновити змінні середовища, щоб запустити Rocket.Chat зараз.

Запустити Rocket.Chat з новими змінними нижче:

cd /var/www/Rocket.Chat/
експорт ROOT_URL = https: // rocket-chat.co
експорт MONGO_URL = mongodb: // nyanko-sensei: 27017 / rocketchat? replicaSet = rs0
експорт PORT = 3000
вузол main.js

Rocket.Chat з веб-сервером Nginx

У своєму веб-переглядачі відкрийте URL: rocketchat.co (або ваш власний домен -мен) - ви будете перенаправлені до https-з'єднання.

Створіть свій перший обліковий запис адміністратора, натиснувши "Зареєструйте новий акаунт зв'язок.

Rocket.Chat над SSL

Введіть своє ім'я, електронну адресу та пароль, а потім натисніть кнопку "РЕЄСТРА НОВИЙ ОБЛІК».

Створіть обліковий запис адміністратора

Підтвердьте використання нового "SITE-URL" з ім'ям домену. Натисніть "да».

Підтвердьте використання нової URL-адреси

Зареєструйте ім'я користувача, натисніть "ВИКОРИСТОВУЄТЕ ЦИЙ КОРИСТУВАЧ».

Зареєструйте ім'я користувача

Адміністратор був створений, і тут знаходиться інформаційна панель Rocket.Chat. Ви можете почати спілкуватися і створювати власний канал для своєї команди.

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

Ракета.Кат Інформаційна панель

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

Змінні оновлення

Посилання

джерело

Залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.