Android

Kako implementirati raket.chat na centos 7

Privacy, Security, Society - Computer Science for Business Leaders 2016

Privacy, Security, Society - Computer Science for Business Leaders 2016

Sadržaj:

Anonim

Rocket.Chat je kompletna platforma za komunikaciju u timu, mogućnost pokretanja Slacka. Izgrađen je s Meteor-om i nudi razne značajke, uključujući chat helpdesk, video konferencije, dijeljenje datoteka, glasovne poruke, API i još mnogo toga.

U ovom ćemo vam vodiču pokazati kako instalirati i implementirati Rocket.Chat na CentOS 7 server s Nginxom kao SSL obrnutim proxyjem.

Preduvjeti

Prije nastavka s ovim vodičem provjerite jeste li ispunili sljedeće preduvjete:

  • CentOS 7 poslužitelju, u skladu sa službenim zahtjevima sustava Rocket.Chat vam treba najmanje 1G RAM-a. Prijavljeni ste kao korisnik sa sudo privilegijama. Ime domene upućuje na IP adresu vašeg poslužitelja., koristit ćemo example.com . Imate instaliran Nginx, ako ne, možete ga instalirati slijedeći ovaj vodič.Sn SSL certifikat. Možete generirati besplatni program Let's Encrypt, ili ga kupiti kod drugog davatelja usluga.

Ugradite ovisnosti

Instalirajte sljedeće pakete koji su potrebni za izgradnju potrebnih npm modula:

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

Zatim instalirajte Node.js i npm upisivanjem:

sudo yum install -y nodejs npm

U vrijeme pisanja ovog članka preporučena verzija Node.js za Rocket.Chat je Node.js v8.11.3.

Izdajte sljedeće naredbe za instaliranje uslužnog programa n i preporučene verzije Node.js:

sudo npm install -g inherits n sudo n 8.11.3

MongoDB je baza podataka koja je orijentirana na dokumente NoSQL, a Rocket.Chat ga koristi kao skladište podataka. Rocket.Chat preporučuje MongoDB verzije 3.6.

MongoDB ćemo instalirati pomoću yum iz službenih MongoDB spremišta.

Otvorite urednik po izboru i stvorite sljedeću datoteku spremišta:

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

Zalijepite sljedeći sadržaj u datoteku:

/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

Spremite datoteku i zatvorite uređivač teksta.

Da biste instalirali MongoDB, pokrenite sljedeću naredbu:

sudo yum install mongodb-org

Nakon instalacije dovršite i pokrenite MongoDB uslugu:

sudo systemctl start mongod sudo systemctl enable mongod

Stvorite novog korisnika sustava

Napravite novog korisnika i grupu, koji će pokrenuti našu instancu Rocket.Chat. Radi jednostavnosti imenovat ćemo korisničku rocket :

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

Dodajte nginx korisnika u novu korisničku grupu i promijenite dozvole direktorija /opt/rocket tako da Nginx može pristupiti:

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

Instaliranje Rocket.Chat

Prebacite se na korisničku rocket upisivanjem:

sudo su - rocket

Preuzmite najnoviju stabilnu verziju Rocket.Chat s curlom:

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

Nakon dovršetka preuzimanja izvadite arhivu i preimenujte direktorij u Rocket.Chat :

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

Promijenite u direktoriju Rocket.Chat/programs/server i instalirajte sve potrebne npm pakete:

cd Rocket.Chat/programs/server npm install

Prije stvaranja sistemske jedinice i postavljanja obrnutog proxyja s Nginxom, dobra je ideja provjeriti je li instalacija bila uspješna.

Da biste to učinili, počnite postavljanjem potrebnih varijabli okruženja:

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

Zatim se vratite u direktorij Rocket.Chat i pokrenite Rocket.Chat poslužitelj izdavanjem sljedećih naredbi:

cd../../ node main.js

Ako nema pogreške, trebali biste vidjeti sljedeći izlaz:

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

U ovom trenutku, Rocket.Chat je instaliran na vaš CentOS 7 stroj. Zaustavite server Rocket.Chat pomoću CTRL+C i nastavite sa sljedećim koracima.

Stvorite Systemd jedinicu

Da biste pokrenuli Rocket.Chat kao uslugu, stvorite datoteku jedinice rocketchat.service u /etc/systemd/system/ direktoriju:

sudo nano /etc/systemd/system/rocketchat.service Zalijepite sljedeći sadržaj u datoteku: /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

Spremite i zatvorite datoteku.

Obavijestite da je stvorena nova jedinica datoteke i pokrenite uslugu Rocket.Chat izvršavanjem:

sudo systemctl daemon-reload sudo systemctl start rocketchat

Status usluge provjerite sljedećom naredbom:

sudo systemctl status rocketchat

Izlaz bi trebao izgledati ovako:

● 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

Ako nema grešaka, možete omogućiti uslugu Rocket.Chat da se automatski pokrene u vrijeme dizanja:

sudo systemctl enable rocketchat

Postavljanje obrnutog proxyja s Nginxom

Sada moramo stvoriti novi blok poslužitelja za našu instalaciju Rocket.Chat:

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

Zalijepite sljedeći sadržaj u datoteku:

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

Učitajte ponovo Nginx uslugu da bi promjene stupile na snagu:

sudo systemctl reload nginx

Konfiguriranje rakete.Chat

Otvorite preglednik i utipkajte: http://chat.example.com .

Pod pretpostavkom da je instalacija uspješna, bit će vam predstavljen čarobnjak za postavljanje Rocket.Chat koji će vas voditi kroz postavljanje vašeg prvog administrativnog korisnika, konfiguriranje organizacije i registraciju vašeg poslužitelja za primanje besplatnih push obavijesti i još mnogo toga.

U prvom odjeljku čarobnjaka za početne postavke od vas će se tražiti da postavite svog administrativnog korisnika:

Kliknite gumb Go to your workspace i bit ćete preusmjereni na Rocket.Chat nadzornu ploču prijavljeni ste kao administrator korisnika.

Zaključak

Uspješno ste instalirali Rocket.Chat na svoj CentOS 7 poslužitelj. Sada možete početi koristiti Rocket.Chat za suradnju sa svojim timom, dijeljenje datoteka i chat u stvarnom vremenu.

rocketchat nodejs centos mongodb