Kategorie: Linux

Installation du serveur Rocket.Chat sur Rocky Linux 8

Le guide suivant décrit comment installer Rocket.Chat sur Rocky Linux 8 Il est facile à installer avec le gestionnaire de packages Snap.
Ne hésitez pas à lire.

Tout d'abord, nous exécutons le terminal et mettons à jour les packages:

mise à jour sudo dnf

L'étape suivante consiste à installer les packages nécessaires:

sudo dnf installer wget curl nano décompresser yum-utils -y

Nous ajoutons un repo docker:

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

Nous installons le docker:

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

Avec cette commande, nous allons installer le lecteur vlc:

sudo systemctl activer docker --maintenant

Nous ajoutons des autorisations sudo à docker:

docker sudo usermod -aG $(qui suis je)

Nous installons Docker Compose

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

on vérifie l'installation avec la commande:

docker compose la version

Nous procédons à l'installation de RocketChat. Tout d'abord, nous créons un répertoire:

mkdir ~/fusée

Allez dans le répertoire

cd ~/fusée

Nous créons l'image du conteneur RocketChat dans docker-compose.

créer un fichier:

nano docker-compose.yml

content:

volumes:
  mongodb_data:
  téléchargements rocketchat:

prestations de service:
  fusée:
    image: registre.rocket.chat/rocketchat/rocket.chat:5.0.4
    redémarrer: on-failure
    volumes:
      - téléchargements rocketchat:/app/uploads
    environment:
      MONGO_URL: mongodb://mongodb:27017/fusée?replicaSet=rs0
      MONGO_OPLOG_URL: mongodb://mongodb:27017/local?replicaSet=rs0
      ROOT_URL: https://rocketchat.example.com
      PORT: 3000
      DEPLOY_METHOD: docker
      Accounts_UseDNSDomainCheck: 'false'
      MAIL_URL: 'smtps://Utilisateur AmazonSES:AmazonSESKey@email-smtp.us-west-2.amazonaws.com:587'
    depends_on:
      - mongodb
    expose:
      - 3000
    ports:
      - 3000:3000
    Bilan de santé:
      tester: >
         /usr/local/bin/node -e '
         const http = require("http");
         options constantes = {
           héberger: "localhost",
           Port: 3000,
           chemin: "/api/infos",
           temps libre: 2000
         };
         const healthCheck = http.request(options, (résolution) var/www/html/phpMyAdmin/config.inc.php> {
           console.log(`STATUT DE VÉRIFICATION DE SANTÉ: $${res.statusCode}Pour protéger le service SSH);
           si (res.statusCode == 200) {
             process.exit(0);
           } autre {
             process.exit(1);
           }
         });
         healthCheck.on("Erreur", fonction (se tromper) {
           console.error("ERREUR");
           process.exit(1);
         });
         healthCheck.end();'
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 60s

  mongodb:
    image: bitnami/mongodb:4.4
    redémarrer: on-failure
    volumes:
      - mongodb_data:/bitnami/mongodb
    environment:
      MOGODB_REPLICA_SET_MODE: primary
      MONGODB_REPLICA_SET_NAME: rs0
      MONGODB_PORT_NUMBER: 27017
      MONGODB_INITIAL_PRIMARY_HOST: mongodb
      MONGODB_INITIAL_PRIMARY_PORT_NUMBER: 27017
      MOGODB_ADVERTISED_HOSTNAME: mongodb
      MONGODB_ENABLE_JOURNAL: 'true'
      ALLOW_EMPTY_PASSWORD: 'yes'
    healthcheck:
      tester: echo 'db.runCommand("ping").d'accord' | mongo mongodb:27017/test --quiet
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 60s

Nous enregistrons le fichier et exécutons le conteneur.

docker composer -d

Nous exécutons SSL pour notre chat:

sudo DNF installer epel libération
sudo dnf installer certbot

Et nous générons un certificat:

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 est remplacé par notre adresse e-mail
Nous remplaçons rocketchat.domena.pl par notre domaine de rocket.chat

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

Nous créons le répertoire Letsencrypt

sudo mkdir -p /var/lib/letsencrypt

nous créons un cron qui renouvellera automatiquement notre certificat:

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

content:

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

Nous remplaçons rocketchat.domena.pl par notre domaine de rocket.chat

donnons la permission:

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

Nous faisons de nginx un proxy:

nous créons un dépôt:

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

content:

[nginx-stable]
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

nous sauvegardons les fichiers que nous installons:

sudo dnf installer nginx

nous courons dans le système :

sudo systemctl activer nginx --maintenant

Nous créons un vhost pour rocket.chat

Nous créons un piik:

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

le contenu:

# Redirect all non-encrypted to encrypted
    server {
        Ecoutez 80;
        Ecoutez [::]:80;
        nom_serveur rocketchat.domena.pl;
        revenir 301 https://$hôte$request_uri;
    }

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

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

        certificat_ssl /etc/letsencrypt/live/rocketchat.domena.pl/fullchain.pem;
        clé_certificat_ssl /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;
        protocoles_ssl 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:ET-RSA-AES256-GCM-SHA384';
        ssl_prefer_server_ciphers sur;
        ssl_session_cache partagé:SSL:20m;
        ssl_session_tickets désactivé;
        SSL_session_timeout 180m;
        ssl_stapling sur;
        ssl_stapling_verify sur;

        emplacement / {
            proxy_pass http://rocketchat.domena.pl:3000/;
            proxy_http_version 1.1;
            proxy_set_header Mise à niveau $ http_upgrade;
            connexion proxy_set_header "améliorer";
            proxy_set_header Hôte $ 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 off;
        }
    }

Nous remplaçons rocketchat.domena.pl par notre domaine de rocket.chat

nous éditons le fichier:

sudo nano /etc/nginx/nginx.conf

Et nous ajoutons:

server_names_hash_bucket_size  64;

Nous rechargeons nginx

sudo systemctl redémarrer nginx

L'accès à rocket.chat devrait maintenant fonctionner à: rocketchat.domena.pl doit être redirigé avec un enregistrement A vers l'IP de notre serveur.

Linux

Udostępnij
Opublikowane przez
Linux

articles récents

KeePass2 2.52 w Ubuntu 22.04

Le guide ci-dessous décrit comment installer KeePass sur Ubuntu. Całość wykonamy za pomocą kilku poleceń

2 years temu

Installation de l'éditeur Master PDF dans Ubuntu 22.04

Master PDF Editor est un programme PDF complet, qui comprend de nombreuses fonctionnalités. Oprócz tworzenia i edycji

2 years temu

iotop - surveillance de la mémoire

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

Exécutez plusieurs commandes dans une tâche cron

Vous pouvez séparer deux ou plusieurs commandes avec des points-virgules (;), Point-virgule (;): służy do oddzielania

2 years temu

Changer les données exif d'une photo dans le terminal 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 W Ubuntu 22.04

Le guide suivant décrit l'installation d'Adobe Acrobat Reader dans Ubuntu 22.04. Nous avons fait en quelques minutes…

2 years temu