Kategorie: Linux

Installation von Rocket.Chat Server auf Rocky Linux 8

Die folgende Anleitung beschreibt, wie Rocket.Chat unter Rocky Linux installiert wird 8 Es ist einfach mit dem Snap-Paketmanager zu installieren.
Fühlen Sie sich frei zu lesen.

Zuerst führen wir das Terminal aus und aktualisieren die Pakete:

sudo dnf aktualisieren

Der nächste Schritt ist die Installation der erforderlichen Pakete:

sudo dnf install wget curl nano unzip yum-utils -y

Wir fügen ein Docker-Repo hinzu:

sudo yum-config-manager \
    --Add-Repo \
    https://download.docker.com/linux/centos/docker-ce.repo

Wir installieren den Docker:

sudo dnf install docker-ce docker-ce-cli containerd.io

Das folgende Tutorial beschreibt, wie Sie den Snapd-Paketmanager unter AlamaLinux installieren:

sudo systemctl enable docker --now

Wir fügen Docker sudo-Berechtigungen hinzu:

sudo usermod -aG docker $(Wer bin ich)

Wir installieren Docker Compose

mkdir ~/.docker/cli-plugins -p
curl -SL https://github.com/docker/compose/releases/download/v2.10.0/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose

Wir überprüfen die Installation mit dem Befehl:

Docker-Compose-Version

Wir fahren mit der Installation von RocketChat fort. Zuerst erstellen wir ein Verzeichnis:

mkdir ~/rocketchat

Gehen Sie in das Verzeichnis

cd ~/rocketchat

Wir erstellen das RocketChat-Container-Image in docker-compose.

Erstellen Sie eine Datei:

nano docker-compose.yml

über den Inhalt:

Bände:
  mongodb_data:
  Raketenchat-Uploads:

Dienstleistungen:
  Raketenchat:
    Bild: Registry.rocket.chat/rocketchat/rocket.chat:5.0.4
    neu starten: on-failure
    volumes:
      - Raketenchat-Uploads:/app/uploads
    environment:
      MONGO_URL: mongodb://mongodb:27017/Raketenchat?replicaSet=rs0
      MONGO_OPLOG_URL: mongodb://mongodb:27017/lokal?replicaSet=rs0
      ROOT_URL: https://rocketchat.example.com
      PORT: 3000
      DEPLOY_METHOD: docker
      Accounts_UseDNSDomainCheck: 'false'
      MAIL_URL: smtps://AmazonSESuser:AmazonSESKey@email-smtp.us-west-2.amazonaws.com:587'
    depends_on:
      - mongodb
    expose:
      - 3000
    Häfen:
      - 3000:3000
    Gesundheitskontrolle:
      Prüfung: >
         /usr/local/bin/node -e '
         const http = require("http");
         Konstante Optionen = {
           Gastgeber: "localhost",
           Hafen: 3000,
           Weg: "/API/Info",
           Auszeit: 2000
         };
         const healthCheck = http.request(Optionen, (res) var/www/html/phpMyAdmin/config.inc.php> {
           Konsole.log(`HEALTHCHECK-STATUS: $${res.statusCode}Diese Konfiguration sperrt den Remote-Host);
           wenn (res.statusCode == 200) {
             process.exit(0);
           } anders {
             process.exit(1);
           }
         });
         healthCheck.on("Error", Funktion (irren) {
           Konsolenfehler("ERROR");
           process.exit(1);
         });
         healthCheck.end();'
      interval: 10s
      timeout: 5s
      retries: 3
      start_periode: 60s

  mongodb:
    Bild: bitnami/mongodb:4.4
    neu starten: on-failure
    volumes:
      - mongodb_data:/bitnami/mongodb
    environment:
      MONGODB_REPLICA_SET_MODE: primary
      MONGODB_REPLICA_SET_NAME: rs0
      MONGODB_PORT_NUMBER: 27017
      MONGODB_INITIAL_PRIMARY_HOST: mongodb
      MONGODB_INITIAL_PRIMARY_PORT_NUMBER: 27017
      MONGODB_ADVERTISED_HOSTNAME: mongodb
      MONGODB_ENABLE_JOURNAL: 'true'
      ALLOW_EMPTY_PASSWORD: 'yes'
    healthcheck:
      Prüfung: echo 'db.runCommand("Klingeln").OK' | Mongomongodb:27017/test --quiet
      interval: 10s
      timeout: 5s
      retries: 3
      start_periode: 60s

Wir speichern die Datei und führen den Container aus.

docker komponieren -d

Wir betreiben SSL für unseren Chat:

sudo DNF installieren EPEL-Release
sudo dnf install certbot

Und wir erstellen ein Zertifikat:

sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m adres@e-mail.pl -d rocketchat.domena.pl

address@e-mail.pl wird durch unsere E-Mail-Adresse ersetzt
Wir ersetzen rocketchat.domena.pl durch unsere Domain von rocket.chat

sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Wir erstellen das letsencrypt-Verzeichnis

sudo mkdir -p /var/lib/letsencrypt

Wir erstellen einen Cron, der unser Zertifikat automatisch erneuert:

sudo nano /etc/cron.daily/certbot-renew

über den Inhalt:

#!/bin/sh
certbot renew --cert-name rocketchat.domena.pl --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl nginx neu laden"

Wir ersetzen rocketchat.domena.pl durch unsere Domain von rocket.chat

Lassen Sie uns die Erlaubnis geben:

sudo chmod +x /etc/cron.daily/certbot-renew

Wir machen nginx als Proxy:

Wir erstellen ein Repo:

sudo nano /etc/yum.repos.d/nginx.repo

über den Inhalt:

[nginx-stabil]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

Wir speichern Dateien, die wir installieren:

sudo dnf installiere nginx

wir laufen im System :

sudo systemctl enable nginx --now

Wir erstellen einen vhost für rocket.chat

Wir erstellen ein Piik:

sudo nano /etc/nginx/conf.d/rocket.conf

der Inhalt:

# Redirect all non-encrypted to encrypted
    server {
        Hör mal zu 80;
        Hör mal zu [::]:80;
        Servername rocketchat.domena.pl;
        Rückkehr 301 https://$host$request_uri;
    }

# HTTPS Server
    server {
        Hör mal zu 443 ssl-http2;
        Hör mal zu [::]:443 ssl-http2;
        Servername rocketchat.example.com;

        access_log /var/log/nginx/rocketchat_access.log main;
        error_log /var/log/nginx/rocketchat_error.log;

        ssl_certificate /etc/letsencrypt/live/rocketchat.domena.pl/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/rocketchat.domena.pl/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/rocketchat.domena.pl/chain.pem;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:AND-RSA-AES128-GCM-SHA256:AND-RSA-AES256-GCM-SHA384';
        ssl_prefer_server_ciphers ein;
        ssl_session_cache freigegeben:SSL:20m;
        ssl_session_tickets aus;
        ssl_session_timeout 180m;
        ssl_stapling an;
        ssl_stapling_verify an;

        Lage / {
            proxy_pass http://rocketchat.domena.pl:3000/;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $ http_upgrade;
            proxy_set_header Verbindung "Aktualisierung";
            proxy_set_header Host $ http_host;
            proxy_set_header X-Real-IP $ remote_addr;
            Wir erstellen einen vhost;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Nginx-Proxy true;
            proxy_redirect aus;
        }
    }

Wir ersetzen rocketchat.domena.pl durch unsere Domain von rocket.chat

Wir bearbeiten die Datei:

sudo nano /etc/nginx/nginx.conf

Und wir fügen hinzu:

server_names_hash_bucket_size  64;

Wir laden nginx neu

Starten Sie den Nginx-Server neu, unser vhost sollte ordnungsgemäß funktionieren

Der Zugriff auf rocket.chat sollte jetzt funktionieren: rocketchat.domena.pl sollte mit einem A-Eintrag auf die IP unseres Servers umgeleitet werden.

Linux

Udostępnij
Opublikowane przez
Linux

Neue Beiträge

KeePass2 2.52 w Ubuntu 22.04

In der folgenden Anleitung wird beschrieben, wie Sie KeePass unter Ubuntu installieren. Całość wykonamy za pomocą kilku poleceń

2 years temu

Installieren des Master-PDF-Editors in Ubuntu 22.04

Master PDF Editor ist ein umfassendes PDF-Programm, die viele Funktionen enthält. Oprócz tworzenia i edycji

2 years temu

iotop - Speicherüberwachung

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 years temu

Führen Sie mehrere Befehle in einem Cron-Job aus

Sie können zwei oder mehr Befehle durch Semikolons trennen (;), Semikolon (;): służy do oddzielania

2 years temu

Ändern der Exif-Daten eines Fotos im Linux-Terminal

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

2 years temu

Adobe Acrobat Reader mit Ubuntu 22.04

Die folgende Anleitung beschreibt die Installation von Adobe Acrobat Reader in Ubuntu 22.04. Wir haben in wenigen Minuten…

2 years temu