Rocket.Chat je Open Source chat. Je to náhrada za Microsoft Teams a má veľmi podobné funkcie. Aby to bola plnohodnotná náhrada za Microsoft Teams, tak je vhodné použiť Jitsi Meet.
Jitsi Meet je aplikácia, určená na Video konferencie, ktorá umožňuje okrem video chatu aj samostatný chat. Svojím spôsobom to je nadstavbová aplikácia, ktorú je možné implementovať do rozličných ďalších aplikácií. Osobne som sa s Jitsi Meet stretol v Nextcloude. Okrem toho, že NextCloud je dátové uložiško je možné cez to aj chatovať a aj robiť videochat bodobne, ako v rocket.chat. Aby bolo možné implementovať Jitsi Meet do rocket.Chat, musíte vlastniť doménu.
Ako nainštalovať a nakonfigurovať rocketChat spolu s Jitsi Meet sa znázorním v tomto článku nižšie.
Okrem chatovania je možné:
Užívatelia sa nemusia prihlasovať cez webové rozhranie, je možné si stiahnuť aplikáciu a nainštalovať si ju na:
Urobte update
sudo apt-get -y update
Nainštalujte požadované baličky
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
Pridajte mondo repozitáre
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Nakonfigurujte node.js
sudo apt-get -y update && sudo apt-get install -y curl && curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
Nainštalujte node.js mongoDB
sudo apt-get install -y build-essential mongodb-org nodejs graphicsmagick
Môžete overiť verziu príkazom
node --version
sudo npm install -g inherits n
Vytvorte symbolický link
sudo ln -s /usr/bin/node /usr/local/bin/node
Stiahnite najnovšiu verziu rocketchat
curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
Rozbaľte najnovšiu verziu
tar -xzf /tmp/rocket.chat.tgz -C /tmp
Nainštalujte Rocket.Chat do adresára podľa vášho výberu. V tejto príručke ho nainštalujeme do adresára /opt
cd /tmp/bundle/programs/server && npm install
cd ~/
sudo mv /tmp/bundle /opt/Rocket.Chat
Vytvorte rocketchat system user
cat << EOF |sudo tee -a /etc/systemd/system/rocketchat.service
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000
[Install]
WantedBy=multi-user.target
EOF
Nakonfigurujte ukladací mechanizmus a replikáciu pre MongoDB a potom spustite službu MongoDB.
sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
Nastavte, aby sa služba spúšťala priamo so spustením OS
sudo systemctl daemon-reload
sudo systemctl enable mongod && sudo systemctl restart mongod
Skontrolujte, či služba beží
systemctl status mongod
Môžete urobiť test
mongo --eval "printjson(rs.initiate())"
Spustite službu
sudo systemctl enable rocketchat && sudo systemctl start rocketchat
Nainštalujte Nginx
sudo apt install nginx
Je možné, že Vás pri inštalácií nepustí ďalej pokračovať. Pretože sa spustí process, ktorý sa sám nezastaví. Ak budete mať problém s procesom tak ho musíte zabiť. Na to použite príkaz
Kill -9 14130
Znovu zopakujte inštaláciu nginx
Otestujte, či je to v poriadku príkazom
sudo nginx -t
Povoľte službu, aby sa spúšťala priamo so spustením OS
sudo systemctl restart nginx
sudo systemctl enable nginx
Generovanie certifikátu
SSL certifikát, alebo v mojom prípade Let’s encrypt je dôležitý z pohľadu bezpečnosti, nech komunikácia nejde cez http (80), ale cez https (443)
Na to aby ste mohli implementovať certifikát musíte mať vo vlastníctve doménu, na IP adresu, nieje možné vygenerovať certifikát. Je potrebné urobiť tzv. A záznam
Nainštalujte certboot
sudo apt install certbot python3-certbot-nginx
Choďte do conf.d a vytvorte súbor
cd /etc/nginx/conf.d
nano rocketchat.conf
upstream rocket_backend {
server 127.0.0.1:3000;
}
server {
server_name rocketchat.ibasterisk.sk;
access_log /var/log/nginx/rocketchat-access.log;
error_log /var/log/nginx/rocketchat-error.log;
location / {
proxy_pass http://rocket_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;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/rocketchat.ibasterisk.sk/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/rocketchat.ibasterisk.sk/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = rocketchat.ibasterisk.sk) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name rocketchat.ibasterisk.sk;
return 404; # managed by Certbot
}
Príkazom sudo nginx -t skontrolujte, či je syntax správny
sudo nginx -t
Keď test prešiel test v poriadku, môžete reštartovať nginx
sudo systemctl restart nginx
Úvodné okno