Android

Hoe rocket.chat op centos te implementeren 7

How to install rocketchat on centos 7.8

How to install rocketchat on centos 7.8

Inhoudsopgave:

Anonim

Rocket.Chat is een compleet teamcommunicatieplatform, een zelfgehost Slack-alternatief. Het is gebouwd met Meteor en biedt verschillende functies, waaronder helpdeskchat, videoconferenties, het delen van bestanden, spraakberichten, API en meer.

In deze zelfstudie laten we u zien hoe u Rocket.Chat installeert en implementeert op een CentOS 7-server met Nginx als SSL reverse proxy.

voorwaarden

Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan voordat u doorgaat met deze zelfstudie:

  • CentOS 7-server, volgens de officiële Rocket.Chat-systeemvereisten, hebt u minimaal 1G RAM nodig. U bent aangemeld als een gebruiker met sudo-rechten. U hebt een domeinnaam die naar uw server-IP-adres verwijst., zullen we example.com . U heeft Nginx geïnstalleerd, anders kunt u het installeren door deze tutorial te volgen. Een SSL-certificaat. Je kunt een gratis genereren van Let's Encrypt, of er een kopen bij een andere provider.

Afhankelijkheden installeren

Installeer de volgende pakketten die nodig zijn om de vereiste npm modules te bouwen:

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

Installeer vervolgens Node.js en npm door te typen:

sudo yum install -y nodejs npm

Op het moment dat dit artikel wordt geschreven, is de aanbevolen Node.js-versie voor Rocket.Chat Node.js v8.11.3.

Geef de volgende opdrachten op om het hulpprogramma n en de aanbevolen versie van Node.js te installeren:

sudo npm install -g inherits n sudo n 8.11.3

MongoDB is een NoSQL-documentgeoriënteerde database en wordt door Rocket.Chat gebruikt als een gegevensopslag. Rocket.Chat beveelt MongoDB versie 3.6 aan.

We zullen MongoDB installeren met behulp van yum uit de officiële MongoDB-opslagplaatsen.

Open de gewenste editor en maak het volgende repository-bestand:

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

Plak de volgende inhoud in het bestand:

/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

Sla het bestand op en sluit uw teksteditor.

Voer de volgende opdracht uit om MongoDB te installeren:

sudo yum install mongodb-org

Nadat de installatie is voltooid, schakelt u de MongoDB-service in en start u deze:

sudo systemctl start mongod sudo systemctl enable mongod

Nieuwe systeemgebruiker maken

Maak een nieuwe gebruiker en groep, die onze instantie Rocket.Chat zal uitvoeren. Voor de eenvoud noemen we de gebruikersraket:

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

Voeg de nginx gebruiker toe aan de nieuwe gebruikersgroep en wijzig de /opt/rocket mapmachtigingen zodat de Nginx er toegang toe heeft:

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

Rocket.Chat installeren

Schakel naar de gebruikersraket door te typen:

sudo su - rocket

Download de nieuwste stabiele versie van Rocket.Chat met krul:

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

Zodra het downloaden is voltooid, pak je het archief uit en hernoem je de map naar Rocket.Chat :

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

Ga naar de map Rocket.Chat/programs/server en installeer alle vereiste npm pakketten:

cd Rocket.Chat/programs/server npm install

Voordat u een systeemeenheid maakt en een reverse-proxy instelt met Nginx, is het een goed idee om te testen of de installatie is geslaagd.

Om dit te doen, begint u met het instellen van de vereiste omgevingsvariabelen:

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

Rocket.Chat terug naar de map Rocket.Chat en start de Rocket.Chat server met de volgende opdrachten:

cd../../ node main.js

Als er geen fouten zijn, ziet u de volgende uitvoer:

➔ +---------------------------------------------+ ➔ | 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 | ➔ | | ➔ +---------------------------------------------+

Op dit punt is Rocket.Chat op uw CentOS 7-machine geïnstalleerd. Stop de Rocket.Chat-server met CTRL+C en ga door met de volgende stappen.

Maak een systeemeenheid

Om Rocket.Chat als een service uit te voeren, maakt u een bestand met rocketchat.service eenheden in de map /etc/systemd/system/ :

sudo nano /etc/systemd/system/rocketchat.service Plak de volgende inhoud in het bestand: /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

Sla het bestand op en sluit het.

Breng systemd op de hoogte dat een nieuw eenheidsbestand is gemaakt en start de Rocket.Chat-service door het uitvoeren van:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Controleer de servicestatus met de volgende opdracht:

sudo systemctl status rocketchat

De output zou er ongeveer zo uit moeten zien:

● 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

Als er geen fouten zijn, kunt u de Rocket.Chat-service automatisch starten tijdens het opstarten:

sudo systemctl enable rocketchat

Stel een reverse-proxy in met Nginx

Nu moeten we een nieuw serverblok maken voor onze Rocket.Chat-installatie:

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

Plak de volgende inhoud in het bestand:

/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; } }

Laad de Nginx-service opnieuw om de wijzigingen door te voeren:

sudo systemctl reload nginx

Rocket.Chat configureren

Open uw browser en typ: http://chat.example.com .

Ervan uitgaande dat de installatie is geslaagd, krijgt u de Rocket.Chat-installatiewizard te zien die u helpt bij het instellen van uw eerste admin-gebruiker, het configureren van uw organisatie en het registreren van uw server voor het ontvangen van gratis pushmeldingen en meer.

In het eerste gedeelte van de wizard Eerste installatie wordt u gevraagd uw beheerdersgebruiker in te stellen:

Klik op de knop Go to your workspace en u wordt doorgestuurd naar het Rocket.Chat-dashboard dat is aangemeld als de admin-gebruiker.

Conclusie

U hebt Rocket.Chat met succes op uw CentOS 7-server geïnstalleerd. U kunt Rocket.Chat nu gaan gebruiken om met uw team samen te werken, bestanden te delen en in realtime te chatten.

rocketchat nodejs centos mongodb