Android

Sådan implementeres rocket.chat på centos 7

CS50 Live, Episode 007

CS50 Live, Episode 007

Indholdsfortegnelse:

Anonim

Rocket.Chat er en komplet teamkommunikationsplatform, et selvhost Slack-alternativ. Det er bygget med Meteor og giver forskellige funktioner, herunder helpdesk-chat, videokonferencer, fildeling, stemmemeddelelser, API og mere.

I denne tutorial vil vi vise dig, hvordan du installerer og distribuerer Rocket.Chat på en CentOS 7-server med Nginx som en SSL-omvendt proxy.

Forudsætninger

Sørg for, at du har opfyldt følgende forudsætninger, før du fortsætter med denne tutorial:

  • CentOS 7-server, i henhold til de officielle Rocket.Chat-systemkrav, har du brug for mindst 1G RAM.Du er logget ind som en bruger med sudo-privilegier. Du har et domænenavn, der peger på din server IP-adresse., vi bruger example.com Du har Nginx installeret, hvis ikke kan du installere det ved at følge denne tutorial.Et SSL-certifikat. Du kan generere en gratis fra Let's Encrypt eller købe en fra en anden udbyder.

Installer afhængigheder

Installer følgende pakker, som er nødvendige for at bygge de krævede npm moduler:

sudo yum install epel-release curl GraphicsMagick gcc-c++

Installer derefter Node.js og npm ved at skrive:

sudo yum install -y nodejs npm

På det tidspunkt, hvor denne artikel skrives, er den anbefalede Node.js-version til Rocket.Chat Node.js v8.11.3.

Udsted følgende kommandoer for at installere n værktøjet og den anbefalede Node.js-version:

sudo npm install -g inherits n sudo n 8.11.3

MongoDB er en NoSQL-dokumentorienteret database, og den bruges af Rocket.Chat som et datalager. Rocket.Chat anbefaler MongoDB version 3.6.

Vi installerer MongoDB ved hjælp af yum fra de officielle MongoDB-lagre.

Åbn din valgte editor, og opret følgende arkivfil:

sudo nano /etc/yum.repos.d/mongodb-org.repo

Indsæt følgende indhold i filen:

/etc/yum.repos.d/mongodb-org.repo

name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

Gem filen, og luk din teksteditor.

For at installere MongoDB skal du køre følgende kommando:

sudo yum install mongodb-org

Når installationen er afsluttet, skal du aktivere og starte MongoDB-tjenesten:

sudo systemctl start mongod sudo systemctl enable mongod

Opret ny systembruger

Opret en ny bruger og gruppe, der kører vores Rocket.Chat-forekomst. For nemheds skyld vil vi navngive brugerraket:

sudo useradd -m -U -r -d /opt/rocket rocket

Føj nginx brugeren til den nye brugergruppe og ændre /opt/rocket katalogtilladelser, så Nginx kan få adgang til den:

sudo usermod -a -G rocket nginx sudo chmod 750 /opt/rocket

Installation af Rocket.Chat

Skift til brugerraket ved at skrive:

sudo su - rocket

Download den seneste stabile version af Rocket.Chat med krøller:

curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz

Når overførslen er afsluttet, Rocket.Chat arkivet og omdøb biblioteket til Rocket.Chat :

tar zxf rocket.chat.tgz mv bundle Rocket.Chat

Skift til Rocket.Chat/programs/server og installer alle de nødvendige npm pakker:

cd Rocket.Chat/programs/server npm install

Før du opretter systemd enhed og opsætter en omvendt proxy med Nginx, er det en god ide at teste, om installationen var vellykket.

For at gøre dette, start med at indstille de krævede miljøvariabler:

export PORT=3000 export ROOT_URL=http://example.com:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat

Skift derefter tilbage til mappen Rocket.Chat og start Rocket.Chat serveren ved at udstede følgende kommandoer:

cd../../ node main.js

Hvis der ikke er nogen fejl, skal du se følgende output:

➔ +---------------------------------------------+ ➔ | SERVER RUNNING | ➔ +---------------------------------------------+ ➔ | | ➔ | Rocket.Chat Version: 0.71.1 | ➔ | NodeJS Version: 8.11.3 - x64 | ➔ | Platform: linux | ➔ | Process Port: 3000 | ➔ | Site URL: http://0.0.0.0:3000/ | ➔ | ReplicaSet OpLog: Disabled | ➔ | Commit Hash: e73dc78ffd | ➔ | Commit Branch: HEAD | ➔ | | ➔ +---------------------------------------------+

På dette tidspunkt er Rocket.Chat installeret på din CentOS 7-maskine. Stop Rocket.Chat-serveren med CTRL+C og fortsæt med de næste trin.

Opret en Systemd-enhed

Hvis du vil køre Rocket.Chat som en service, skal du oprette en rocketchat.service enhedsfil i /etc/systemd/system/ directory:

sudo nano /etc/systemd/system/rocketchat.service Indsæt følgende indhold i filen: /etc/systemd/system/rocketchat.service

Description=Rocket.Chat server After=network.target nss-lookup.target mongod.target StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocket Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://example.com:3000/ PORT=3000 ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js WantedBy=multi-user.target

Gem og luk filen.

Underret systemd om, at en ny enhedsfil blev oprettet, og start Rocket.Chat-tjenesten ved at udføre:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Kontroller servicestatus med følgende kommando:

sudo systemctl status rocketchat

Outputet skal se sådan ud:

● rocketchat.service - Rocket.Chat server Loaded: loaded (/etc/systemd/system/rocketchat.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-04-10 20:30:56 UTC; 8s ago Main PID: 32356 (node) CGroup: /system.slice/rocketchat.service └─32356 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

Hvis der ikke er nogen fejl, kan du aktivere Rocket.Chat-tjenesten automatisk ved starttidspunktet:

sudo systemctl enable rocketchat

Konfigurer en omvendt proxy med Nginx

Nu skal vi oprette en ny serverblok til vores Rocket.Chat-installation:

sudo nano /etc/nginx/conf.d/example.com.conf

Indsæt følgende indhold i filen:

/etc/nginx/conf.d/example.com.conf

upstream rocketchat_backend { server 127.0.0.1:3000; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; location / { proxy_pass http://rocketchat_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; } }

Genindlæs Nginx-tjenesten, så ændringerne træder i kraft:

sudo systemctl reload nginx

Konfiguration af Rocket.Chat

Åbn din browser, og skriv: http://chat.example.com .

Hvis du antager, at installationen er vellykket, vil du blive præsenteret for Rocket.Chat-installationsguiden, som guider dig gennem opsætning af din første admin-bruger, konfigurering af din organisation og registrering af din server til at modtage gratis push-meddelelser og mere.

Den første sektion af guiden Første opsætning beder dig om at konfigurere din administrator-bruger:

Klik på knappen Go to your workspace og du vil blive omdirigeret til Rocket.Chat-dashboardet logget ind som admin-bruger.

Konklusion

Du har installeret Rocket.Chat på din CentOS 7-server. Du kan nu begynde at bruge Rocket.Chat til at samarbejde med dit team, dele filer og chat i realtid.

rocketchat nodejs centos mongodb