Android

Jak wdrożyć rocket.chat na Centos 7

How to install rocketchat on centos 7.8

How to install rocketchat on centos 7.8

Spisu treści:

Anonim

Rocket.Chat to kompletna platforma komunikacji zespołowej, będąca samodzielną alternatywą dla Slacka. Jest zbudowany z Meteor i zapewnia różne funkcje, w tym czat pomocy technicznej, wideokonferencje, udostępnianie plików, wiadomości głosowe, API i wiele innych.

W tym samouczku pokażemy, jak zainstalować i wdrożyć Rocket.Chat na serwerze CentOS 7 z Nginx jako odwrotnym proxy SSL.

Wymagania wstępne

Przed kontynuowaniem tego samouczka upewnij się, że zostały spełnione następujące wymagania wstępne:

  • Serwer CentOS 7, zgodnie z oficjalnymi wymaganiami systemu Rocket.Chat, potrzebujesz co najmniej 1 GB pamięci RAM. Jesteś zalogowany jako użytkownik z uprawnieniami sudo. Nazwa domeny wskazuje adres IP twojego serwera., użyjemy example.com . Masz zainstalowanego Nginx, jeśli nie, możesz go zainstalować, postępując zgodnie z tym samouczkiem. Certyfikat SSL. Możesz wygenerować darmowy z Let's Encrypt lub kupić od innego dostawcy.

Zainstaluj zależności

Zainstaluj następujące pakiety, które są niezbędne do zbudowania wymaganych modułów npm :

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

Następnie zainstaluj Node.js i npm , wpisując:

sudo yum install -y nodejs npm

W chwili pisania tego artykułu zalecana wersja Node.js dla Rocket.Chat to Node.js v8.11.3.

Wydaj następujące polecenia, aby zainstalować narzędzie n i zalecaną wersję Node.js:

sudo npm install -g inherits n sudo n 8.11.3

MongoDB to zorientowana na dokumenty baza danych NoSQL, używana przez Rocket.Chat jako magazyn danych. Rocket.Chat zaleca MongoDB w wersji 3.6.

MongoDB zostanie zainstalowany przy użyciu yum z oficjalnych repozytoriów MongoDB.

Otwórz wybrany edytor i utwórz następujący plik repozytorium:

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

Wklej następującą treść do pliku:

/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

Zapisz plik i zamknij edytor tekstu.

Aby zainstalować MongoDB, uruchom następujące polecenie:

sudo yum install mongodb-org

Po zakończeniu instalacji włącz i uruchom usługę MongoDB:

sudo systemctl start mongod sudo systemctl enable mongod

Utwórz nowego użytkownika systemu

Utwórz nowego użytkownika i grupę, która uruchomi naszą instancję Rocket.Chat. Dla uproszczenia nazwiemy rocket użytkownika:

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

Dodaj użytkownika nginx do nowej grupy użytkowników i zmień uprawnienia do katalogu /opt/rocket aby Nginx mógł uzyskać do niego dostęp:

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

Instalowanie Rocket.Chat

Przejdź do rocket użytkownika, wpisując:

sudo su - rocket

Pobierz najnowszą stabilną wersję Rocket.Chat z curl:

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

Po zakończeniu pobierania rozpakuj archiwum i zmień nazwę katalogu na Rocket.Chat :

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

Przejdź do katalogu Rocket.Chat/programs/server i zainstaluj wszystkie wymagane pakiety npm :

cd Rocket.Chat/programs/server npm install

Przed utworzeniem jednostki systemowej i skonfigurowaniem odwrotnego proxy za pomocą Nginx dobrze jest sprawdzić, czy instalacja zakończyła się powodzeniem.

Aby to zrobić, zacznij od ustawienia wymaganych zmiennych środowiskowych:

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

Następnie wróć do katalogu Rocket.Chat i uruchom serwer Rocket.Chat , wydając następujące polecenia:

cd../../ node main.js

Jeśli nie ma błędów, powinieneś zobaczyć następujące dane wyjściowe:

➔ +---------------------------------------------+ ➔ | 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 | ➔ | | ➔ +---------------------------------------------+

W tym momencie Rocket.Chat jest zainstalowany na twoim komputerze CentOS 7. Zatrzymaj serwer Rocket.Chat za pomocą CTRL+C i przejdź do następnych kroków.

Utwórz jednostkę systemową

Aby uruchomić Rocket.Chat jako usługę, utwórz plik jednostki rocketchat.service w katalogu /etc/systemd/system/ :

sudo nano /etc/systemd/system/rocketchat.service Wklej następującą zawartość do pliku: /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

Zapisz i zamknij plik.

Powiadom systemd, że utworzono nowy plik jednostki i uruchom usługę Rocket.Chat, wykonując:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Sprawdź status usługi za pomocą następującego polecenia:

sudo systemctl status rocketchat

Dane wyjściowe powinny wyglądać mniej więcej tak:

● 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

Jeśli nie ma żadnych błędów, możesz włączyć automatyczne uruchamianie usługi Rocket.Chat podczas uruchamiania:

sudo systemctl enable rocketchat

Skonfiguruj zwrotny serwer proxy za pomocą Nginx

Teraz musimy utworzyć nowy blok serwera dla naszej instalacji Rocket.Chat:

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

Wklej następującą treść do pliku:

/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; } }

Ponownie załaduj usługę Nginx, aby zmiany odniosły skutek:

sudo systemctl reload nginx

Konfigurowanie Rocket.Chat

Otwórz przeglądarkę i wpisz: http://chat.example.com .

Zakładając, że instalacja się powiedzie, zostanie wyświetlony Kreator instalacji Rocket.Chat, który poprowadzi Cię przez proces konfigurowania pierwszego użytkownika administratora, konfigurowania organizacji i rejestracji serwera, aby otrzymywać bezpłatne powiadomienia wypychane i wiele więcej.

Pierwsza sekcja kreatora wstępnej konfiguracji poprosi Cię o skonfigurowanie administratora:

Kliknij przycisk Go to your workspace , a zostaniesz przekierowany do pulpitu Rocket.Chat zalogowanego jako administrator.

Wniosek

Pomyślnie zainstalowałeś Rocket.Chat na serwerze CentOS 7. Możesz teraz zacząć korzystać z Rocket.Chat do współpracy ze swoim zespołem, udostępniania plików i czatowania w czasie rzeczywistym.

rocketchat nodejs centos mongodb