Kategorie: Linux

Installazione di Rocket.Chat Server su Rocky Linux 8

La seguente guida descrive come installare Rocket.Chat su Rocky Linux 8 È facile da installare con il gestore di pacchetti Snap.
Sentitevi liberi di leggere.

Innanzitutto, eseguiamo il terminale e aggiorniamo i pacchetti:

sudo dnf aggiornamento

Il prossimo passo è installare i pacchetti necessari:

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

Aggiungiamo un repository Docker:

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

Installiamo la finestra mobile:

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

lo eseguiamo nel sistema:

sudo systemctl abilita docker --now

Aggiungiamo le autorizzazioni sudo alla finestra mobile:

sudo usermod -aG docker $(chi sono)

Installiamo Docker Compose

mkdir ~/.docker/cli-plugins -p
ricciolo -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

verifichiamo l'installazione con il comando:

Docker Componi versione

Andiamo all'installazione di RocketChat. Per prima cosa, creiamo un catalogo:

mkdir ~/racketchat

Passare alla directory

cd ~/razzo

Creiamo l'immagine del contenitore RocketChat in docker-compose.

creare un file:

nano docker-compose.yml

sul contenuto:

volumi:
  mongodb_data:
  caricamenti di razzochat:

Servizi:
  chatta a razzo:
    Immagine: register.rocket.chat/rocketchat/rocket.chat:5.0.4
    ricomincia: on-failure
    volumes:
      - caricamenti di razzochat:/app/uploads
    environment:
      MONGO_URL: mongodb://mongodb:27017/chatta a razzo?replicaSet=rs0
      MONGO_OPLOG_URL: mongodb://mongodb:27017/Locale?replicaSet=rs0
      ROOT_URL: https://rocketchat.example.com
      PORT: 3000
      DEPLOY_METHOD: docker
      Accounts_UseDNSDomainCheck: 'false'
      MAIL_URL: 'smtps://Utente AmazonSES:AmazonSESKey@email-smtp.us-west-2.amazonaws.com:587'
    depends_on:
      - mongodb
    expose:
      - 3000
    porti:
      - 3000:3000
    Controllo della salute:
      test: >
         /usr/local/bin/node -e '
         const http = require("http");
         opzioni cost = {
           ospite: "localhost",
           porta: 3000,
           sentiero: "/api/informazioni",
           tempo scaduto: 2000
         };
         const healthCheck = http.request(opzioni, (ris) var/www/html/phpMyAdmin/config.inc.php> {
           console.log(`STATO CONTROLLO SANITARIO: $${res.statusCode}e quindi riavviare il servizio SSH);
           Se (res.statusCode == 200) {
             processo.uscita(0);
           } altro {
             processo.uscita(1);
           }
         });
         healthCheck.on("errore", funzione (err) {
           errore.console("ERRORE");
           processo.uscita(1);
         });
         healthCheck.end();'
      interval: 10s
      timeout: 5s
      retries: 3
      inizio_periodo: 60s

  mongodb:
    Immagine: bitnami/mongodb:4.4
    ricomincia: 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:
      test: echo 'db.runCommand("ping").ok' | mongo mongodb:27017/test --quiet
      interval: 10s
      timeout: 5s
      retries: 3
      inizio_periodo: 60S

Salviamo il file ed eseguiamo il container.

docker comporre -d

Corriamo SSL per la nostra chat:

sudo DNF installare EPEL-release
sudo dnf install certbot

E generiamo un certificato:

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 viene sostituito con il nostro indirizzo e-mail
Sostituiamo rocketchat.domena.pl con il nostro dominio da rocket.chat

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

Creiamo la directory Letencrypt

sudo mkdir -p /var/lib/letsencrypt

creiamo un cron che rinnoverà automaticamente il nostro certificato:

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

sul contenuto:

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

Sostituiamo rocketchat.domena.pl con il nostro dominio da rocket.chat

diamo il permesso:

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

Facciamo nginx come proxy:

creiamo un repository:

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

sul contenuto:

[nginx-stabile]
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-linea principale]
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

salviamo i file che installiamo:

sudo dnf install nginx

corriamo nel sistema :

sudo systemctl enable nginx --now

Creiamo un vhost per rocket.chat

Creiamo un piik:

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

il contenuto:

# Redirect all non-encrypted to encrypted
    server {
        ascolta 80;
        ascolta [::]:80;
        nome_server rocketchat.domena.pl;
        Restituzione 301 https://$host$richiesta_uri;
    }

# HTTPS Server
    server {
        ascolta 443 SSL http2;
        ascolta [::]:443 SSL http2;
        nome_server rocketchat.example.com;

        access_log /var/log/nginx/rocketchat_access.log principale;
        log_errori /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 attivato;
        ssl_session_cache condivisa:SSL:20m;
        ssl_session_tickets disattivato;
        ssl_session_timeout 180 m;
        ssl_pinzatura attiva;
        ssl_stapling_verify attivo;

        Posizione / {
            proxy_pass http://rocketchat.domena.pl:3000/;
            proxy_http_version 1.1;
            proxy_set_header Aggiorna $ http_upgrade;
            connessione proxy_set_header "aggiornamento";
            proxy_set_header Host $ http_host;
            proxy_set_header X-Real-IP $ remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Nginx-Proxy true;
            proxy_redirect disattivato;
        }
    }

Sostituiamo rocketchat.domena.pl con il nostro dominio da rocket.chat

modifica file:

sudo nano /etc/nginx/nginx.conf

E aggiungiamo:

server_names_hash_bucket_size  64;

Ricarichiamo nginx

sudo systemctl riavvia nginx

L'accesso a rocket.chat ora dovrebbe funzionare su: rocketchat.domena.pl dovrebbe essere reindirizzato con un record all'IP del nostro server.

Linux

Udostępnij
Opublikowane przez
Linux

Post recenti

KeePass2 2.52 w Ubuntu 22.04

La guida seguente descrive come installare KeePass su Ubuntu. Całość wykonamy za pomocą kilku poleceń

2 years temu

Installazione dell'editor PDF Master in Ubuntu 22.04

Master PDF Editor è un programma PDF completo, che include molte funzionalità. Oprócz tworzenia i edycji

2 years temu

iotop - monitoraggio della memoria

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

Esegui più comandi in un lavoro cron

Puoi separare due o più comandi con il punto e virgola (;), Punto e virgola (;): służy do oddzielania

2 years temu

Modifica dei dati exif di una foto nel terminale Linux

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 con Ubuntu 22.04

La seguente guida descrive l'installazione di Adobe Acrobat Reader in Ubuntu 22.04. Abbiamo fatto in pochi minuti…

2 years temu