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ą!
Poniższy poradnik opisuje sposób instalacji KeePass w systemie Ubuntu. Całość wykonamy za pomocą kilku poleceń…
Master PDF Editor to wszechstronny program PDF, który zawiera wiele funkcji. Oprócz tworzenia i edycji…
Iotop jest prostym narzędziem dla systemów Uniksowych umożliwiającym monitorowanie użycia dowolnego nośnika pamięci flash/hdd/ssd w…
Możesz oddzielić dwa lub więcej poleceń za pomocą średników (;), Średnik (;): służy do oddzielania…
Poniższy poradnik opisuje w jaki sposób za pomocą konsoli możemy dokonać edycji danych zdjęcia exif.…
Poniższy poradnik opisuje sposób instalacji Rocket.Chat W systemie Rocky Linux 8 Całość bardzo prosto zainstalujemy…