Kategorie: Linux

Instalacja Rocket.Chat Server na Ubuntu 20.04

Poniższy poradnik opisuje sposób instalacji Rocket.Chat W systemie Ubuntu 20.04
Zapraszam do lektury.

Na początek dokonujemy aktualizacji repozytoriów pakietów jak i samego systemu.

apt-get update -y
apt-get upgrade -y

Instalujemy niezbędne pakiety:

apt-get install nginx gnupg2 git unzip build-essential curl software-properties-common graphicsmagick -y

Kolejny krok to instalacja Node.js

curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install nodejs -y

Wersję nodejs możemy sprawdzić wydając polecenie:

node -v

Powinniśmy otrzymać wynik:

v12.19.0

Kolejny krok to instalacja MongoDB i jego konfiguracja.

Pobieramy klucz na serwer wydając polecenie:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

Dodajemy repozytorium do systemu:

add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

Instalujemy MongoDB

apt-get install mongodb-org -y

Uruchamiamy je w systemie:

systemctl start mongod
systemctl enable mongod

Następnie musisz edytować domyślny plik konfiguracyjny MongoDB i zdefiniować zestaw replik. Możesz to zrobić za pomocą następującego polecenia:

nano /etc/mongod.conf

Dodaj następujące wiersze:

replication:
  replSetName: "replica01"

Zapisz i zamknij plik, a następnie uruchom ponownie usługę MongoDB, aby zastosować konfigurację:

systemctl restart mongod

Następnie zaloguj się do powłoki MongoDB i włącz replikę za pomocą następującego polecenia:

mongo
rs.initiate()

Log powinien wyglądać następująco:

{
 "info2" : "no configuration specified. Using a default configuration for the set",
 "me" : "127.0.0.1:27017",
 "ok" : 1,
 "operationTime" : Timestamp(1605081439, 1),
 "$clusterTime" : {
  "clusterTime" : Timestamp(1605081439, 1),
  "signature" : {
   "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
   "keyId" : NumberLong(0)
  }
 }
}

Możemy wyjść z powłoki MongoDB za pomocą następującego polecenia:

exit

Instalacja Rocket.Chat

Dodajemy użytkownika do systemu nadajemy mu odpowiednią grupę wydając następujące polecenia:

useradd -m -U -r -d /opt/rocket rocket --shell /bin/bash
usermod -a -G rocket www-data

Najemy uprawnienia na katalog rocket:

chmod 750 /opt/rocket

Logujemy się na użytkownika rocket i pobieramy pliki rocket.chat:

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

Rozpakowujemy pobrane pliki oraz je przenosimy:

tar -xvzf rocket.chat.tgz
mv bundle Rocket.Chat

Przechodzimy do katalogu skryptu oraz dokonujemy jego instalacji:

cd Rocket.Chat/programs/server
npm install

Po zainstalowaniu wszystkich zależności możesz wyjść z użytkownika Rocket.Chat za pomocą następującego polecenia:

exit

Tworzymy plik usługi aby uruchamiał się wraz ze startem systemu

nano /etc/systemd/system/rocketchat.service

O zawartości:

[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://rocket.yourdomain.com PORT=3000
ExecStart=/usr/bin/node /opt/rocket/Rocket.Chat/main.js

[Install]
WantedBy=multi-user.target

Pamiętaj aby zmienić wartość ROOT_URL=http://rocket.yourdomain.com na swoją domeną!

Przeładowujemy demona i uruchamiamy usługę:

systemctl daemon-reload
systemctl start rocketchat
systemctl enable rocketchat

Status uruchomienia usługi możemy sprawdzić wykonując polecenie:

systemctl status rocketchat

Powinien wyglądać następująco:

? rocketchat.service - Rocket.Chat server
     Loaded: loaded (/etc/systemd/system/rocketchat.service; disabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-11-11 07:58:01 UTC; 24s ago
   Main PID: 19951 (node)
      Tasks: 11 (limit: 4691)
     Memory: 508.7M
     CGroup: /system.slice/rocketchat.service
             ??19951 /usr/bin/node /opt/rocket/Rocket.Chat/main.js

Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? |      MongoDB Version: 4.0.21                             |
Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? |       MongoDB Engine: wiredTiger                         |
Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? |             Platform: linux                              |
Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? |         Process Port: 3000                               |
Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? |             Site URL: http://rocket.yourdomain.com  |
Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? |     ReplicaSet OpLog: Enabled                            |
Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? |          Commit Hash: e37d7ba8ed                         |
Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? |        Commit Branch: HEAD                               |
Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? |                                                          |
Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? +----------------------------------------------------------+

Konfigurujemy vhost Nginx do współpracy z rocket.chat

Tworzymy nowy plik vhosta :

nano /etc/nginx/sites-available/rocketchat.conf

O zawartości:

upstream myrocketchat {
  server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name rocket.yourdomain.com;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

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

Pamiętaj aby zmienić kilka wartości:

server 127.0.0.1:3000; – 127.0.0.1 zastępujemy ip naszego serwera.

server_name rocket.yourdomain.com; – rocket.yourdomain.com zastępujemy adresem naszej domeny.

Tworzymy dowiązanie symboliczne w celu aktywacji vhosta:

ln -s /etc/nginx/sites-available/rocketchat.conf /etc/nginx/sites-enabled/

Kolejny krok to sprawdzenie czy vhost został stworzony poprawnie:

nginx -t

I wynik:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Jeśli wszystko jest ok restartujemy Nginxa

service nginx restart

Teraz pod naszą domeną bądź IP serwera powinien uruchomić się proces instalacji Rocket.chat

Podaj nazwę administratora, adres e-mail, hasło i kliknij przycisk Kontynuuj. Powinieneś zobaczyć następującą stronę:

Wypełniamy według własnego uznania.

Kolejny krok to wybranie języka oraz typ serwera

Akceptujemy licencję:

To wszystko nasz rocket.chat jest już zainstalowany i dostępny pod naszą domeną!

Linux

Udostępnij
Opublikowane przez
Linux

Najnowsze wpisy

KeePass2 2.52 w Ubuntu 22.04

Poniższy poradnik opisuje sposób instalacji KeePass w systemie Ubuntu. Całość wykonamy za pomocą kilku poleceń…

2 lata temu

Instalacja Master PDF editor w Ubuntu 22.04

Master PDF Editor to wszechstronny program PDF, który zawiera wiele funkcji. Oprócz tworzenia i edycji…

2 lata temu

iotop – monitorowanie pamięci

Iotop jest prostym narzędziem dla systemów Uniksowych umożliwiającym monitorowanie użycia dowolnego nośnika pamięci flash/hdd/ssd w…

2 lata temu

Uruchomienie wiele poleceń w jednym zadaniu Cron

Możesz oddzielić dwa lub więcej poleceń za pomocą średników (;), Średnik (;): służy do oddzielania…

2 lata temu

Zmiana danych exif zdjęcia w terminalu Linux

Poniższy poradnik opisuje w jaki sposób za pomocą konsoli możemy dokonać edycji danych zdjęcia exif.…

2 lata temu

Instalacja Rocket.Chat Server w systemie Rocky Linux 8

Poniższy poradnik opisuje sposób instalacji Rocket.Chat W systemie Rocky Linux 8 Całość bardzo prosto zainstalujemy…

2 lata temu