GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menyebarkan Rocket.Chat di Ubuntu 18.04

Rocket.Chat adalah platform komunikasi tim sumber terbuka, alternatif Slack yang dihosting sendiri. Ini dikembangkan menggunakan kerangka Meteor dan menyediakan berbagai fitur termasuk obrolan helpdesk, berbagi file, konferensi video, pesan suara, API, dan banyak lagi.

Rocket.Chat adalah solusi sempurna untuk perusahaan dan komunitas yang ingin menghosting sistem obrolan mereka sendiri.

Dalam tutorial ini, kami akan menunjukkan cara menggunakan Rocket.Chat di server Ubuntu 18.04 dan mengonfigurasi Nginx sebagai proxy terbalik SSL.

Prasyarat #

Sebelum melanjutkan dengan tutorial ini, pastikan Anda memiliki prasyarat berikut.

  • Server Ubuntu 18.04. Menurut persyaratan sistem Rocket.Chat resmi, Anda memerlukan setidaknya 1G RAM.
  • Nama domain yang menunjuk ke alamat IP server Anda. Kami akan menggunakan chat.example.com .
  • Nginx terinstal, dengan mengikuti tutorial ini.
  • Anda memiliki sertifikat SSL yang terpasang untuk domain Anda. Anda dapat membuat sertifikat SSL Let's Encrypt gratis dengan mengikuti tutorial ini.

Menginstal Node.js #

Mulailah dengan memperbarui daftar paket sistem Anda:

sudo apt update

Instal Node.js, npmand semua dependensi lain yang diperlukan untuk membangun paket npm dari sumber:

sudo apt install nodejs npm build-essential curl software-properties-common graphicsmagick

Pada saat artikel ini ditulis, versi Node.js yang direkomendasikan untuk Rocket.Chat adalah Node.js v8.11.3.

Kami akan menggunakan n , paket npm yang memungkinkan kita mengelola versi Node.js secara interaktif.

Keluarkan perintah berikut untuk menginstal n dan versi Node.js yang direkomendasikan:

sudo npm install -g inherits nsudo n 8.11.3

Menginstal MongoDB #

MongoDB adalah database berorientasi dokumen NoSQL dan digunakan oleh Rocket.Chat sebagai penyimpanan data.

Kami akan menginstal MongoDB dari repositori resmi MongoDB.

Impor kunci publik MongoDB dan aktifkan repositori resmi MongoDB dengan perintah berikut:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

Setelah repositori apt diaktifkan, perbarui daftar paket dan instal MongoDB dengan mengetik:

sudo apt updatesudo apt install mongodb-org

Setelah instalasi selesai, aktifkan dan mulai layanan MongoDB:

sudo systemctl start mongodsudo systemctl enable mongod

Buat Pengguna Sistem baru #

Untuk membuat pengguna dan grup baru bernama rocket , yang akan menjalankan instance Rocket.Chat, ketik:

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

Tambahkan www-data pengguna ke grup pengguna baru dan ubah /opt/rocket izin direktorisehingga Nginx dapat mengakses instalasi Rocket.Chat:

sudo usermod -a -G rocket www-datasudo chmod 750 /opt/rocket

Menginstal Rocket.Chat #

Ubah ke penggunarocket :

sudo su - rocket

Perintah berikut mengasumsikan bahwa Anda sedang beroperasi sebagai pengguna rocket .

Unduh Rocket.Chat versi stabil terbaru dengan curl:

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

Setelah unduhan selesai, ekstrak arsip dan ganti nama direktori menjadi Rocket.Chat :

tar zxf rocket.chat.tgzmv bundle Rocket.Chat

Ubah menjadi Rocket.Chat/programs/server direktori dan instal semua paket npm yang diperlukan:

cd Rocket.Chat/programs/servernpm install

Untuk menguji instalasi kami sebelum membuat unit systemd dan menyiapkan proxy terbalik dengan Nginx, kami akan mengatur variabel lingkungan yang diperlukan dan memulai server Rocket.Chat

export PORT=3000export ROOT_URL=http://0.0.0.0:3000/export MONGO_URL=mongodb://localhost:27017/rocketchat

Ubah kembali menjadi Rocket.Chat direktori dan mulai Rocket.Chat server dengan mengeluarkan perintah berikut:

cd ../../node main.js

Jika tidak ada kesalahan, Anda akan melihat output berikut:

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

Hentikan server Rocket.Chat dengan CTRL+C .

Beralih kembali ke pengguna sudo Anda dengan mengetikkan exit dan lanjutkan dengan langkah berikutnya.

Buat unit Systemd #

Untuk menjalankan Rocket.Chat sebagai layanan, kami akan membuat rocketchat.service file unit di /etc/systemd/system/ direktori.

sudo nano /etc/systemd/system/rocketchat.service

Tempel konten berikut:

/etc/systemd/system/rocketchat.service
[Unit]
Description=Rocket.Chat server
After=network.target nss-lookup.target mongod.target

[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocket
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=https://chat.example.com PORT=3000
ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

[Install]
WantedBy=multi-user.target

Beri tahu systemd bahwa kami telah membuat file unit baru dan memulai layanan Rocket.Chat dengan menjalankan:

sudo systemctl daemon-reloadsudo systemctl start rocketchat

Periksa status layanan dengan mengetik:

sudo systemctl status rocketchat
* rocketchat.service - Rocket.Chat server
   Loaded: loaded (/etc/systemd/system/rocketchat.service; disabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-11-07 14:36:24 PST; 5s ago
 Main PID: 12693 (node)
    Tasks: 10 (limit: 2319)
   CGroup: /system.slice/rocketchat.service
           `-12693 /usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

Terakhir, aktifkan layanan Rocket.Chat untuk dimulai secara otomatis saat boot dengan perintah berikut:

sudo systemctl enable rocketchat

Siapkan proxy terbalik dengan Nginx #

Jika Anda mengikuti panduan cara menginstal Nginx di Ubuntu 18.04dan cara mengamankan Nginx dengan Let's Encrypt di Ubuntu 18.04, Anda seharusnya sudah menginstal dan mengonfigurasi Nginx dengan sertifikat SSL.

Sekarang kita perlu membuat blok server Nginx baru untuk instalasi Rocket.Chat.

Buka editor teks Anda dan buat file berikut:

sudo nano /etc/nginx/sites-available/chat.example.com.conf
/etc/nginx/sites-available/chat.example.com.conf
upstream rocketchat_backend {
  server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name chat.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://chat.example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name chat.example.com;

    ssl_certificate /etc/letsencrypt/live/chat.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/chat.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/chat.example.com/chain.pem;
    include snippets/ssl.conf;

    access_log /var/log/nginx/chat.example.com-access.log;
    error_log /var/log/nginx/chat.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;
    }
}

Aktifkan blok server baru dengan membuat tautan simbolis dari file ke direktori yang mendukung situs:

sudo ln -s /etc/nginx/sites-available/chat.example.com.conf /etc/nginx/sites-enabled/

Muat ulang layanan Nginx agar perubahan diterapkan:

sudo systemctl reload nginx

Mengonfigurasi Rocket.Chat #

Buka browser Anda dan ketik:http://chat.example.com .

Dengan asumsi bahwa instalasi berhasil, Anda akan disajikan dengan Rocket.Chat Setup Wizard yang akan memandu Anda melalui pengaturan pengguna admin pertama Anda, mengkonfigurasi organisasi Anda dan mendaftarkan server Anda untuk menerima pemberitahuan push gratis dan banyak lagi.

Bagian pertama dari wizard Pengaturan Awal akan meminta Anda untuk mengatur pengguna Admin Anda:

Setelah Anda selesai memasukkan info Admin, klik tombol Continue tombol dan pada langkah berikutnya masukkan info organisasi Anda:

Bagian ketiga dari wizard Pengaturan Awal akan meminta Anda untuk memasukkan informasi server:

Pada langkah berikutnya, Anda akan ditanya apakah Anda ingin menggunakan gateway dan proxy Rocket.Chat yang telah dikonfigurasikan sebelumnya. Memilih opsi ini akan memberi Anda akses ke pasar Rocket.Chat Apps dan fitur lain seperti pemberitahuan push akan bekerja di luar kotak .

Tentukan pilihan Anda, klik tombol Continue tombol, dan Anda akan diarahkan ke halaman berikut yang menunjukkan bahwa ruang kerja Anda siap digunakan:

Klik pada Go to your workspace dan Anda akan diarahkan ke dasbor Rocket.Chat yang masuk sebagai pengguna admin.


Ubuntu
  1. Bagaimana Cara Menginstal Let's Chat di Ubuntu 20.04?

  2. Cara Menginstal Rocket.Chat di CentOS 7

  3. Cara Menginstal Rocket.Chat di Ubuntu 18.04

  1. Cara Meningkatkan ke Ubuntu 20.04

  2. Cara Menginstal R di Ubuntu 20.04

  3. Cara Menginstal Rocket.Chat di Ubuntu 16.04

  1. Cara menyebarkan Odoo 11 di Ubuntu 18.04

  2. Cara menggunakan Mattermost di Ubuntu 18.04

  3. Cara menggunakan Odoo 12 di Ubuntu 18.04