Rocket.Chat adalah aplikasi obrolan berbasis web yang ditulis dalam JavaScript, menggunakan kerangka kerja tumpukan penuh Meteor. Ini adalah platform kolaborasi obrolan sumber terbuka yang memungkinkan Anda berkomunikasi dengan aman secara real-time di beberapa perangkat. Ini di-host sendiri dan mendukung obrolan suara dan video, konferensi video, berbagi file, dan banyak lagi. Ini memiliki aplikasi klien yang tersedia untuk semua platform termasuk, Windows, macOS, Linux, Android dan iOS.
Dalam tutorial ini, kami akan menunjukkan cara menginstal Rocket.Chat di server Ubuntu 20.04.
Prasyarat
- Server yang menjalankan Ubuntu 20.04.
- Nama domain valid yang ditunjukkan dengan IP server Anda.
- Sandi root dikonfigurasi untuk server.
Memulai
Sebelum memulai, disarankan untuk memperbarui paket sistem Anda ke versi terbaru. Anda dapat memperbaruinya dengan perintah berikut:
apt-get update -y
Setelah sistem Anda diperbarui, instal dependensi lain yang diperlukan dengan perintah berikut:
apt-get install nginx gnupg2 git unzip build-essential curl software-properties-common graphicsmagick -y
Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal Node.js
Selanjutnya, Anda perlu menginstal Node.js versi 12 di sistem Anda. Secara default, ini tidak tersedia di repositori standar Ubuntu 20.04. Jadi, Anda perlu menambahkan repositori resmi Node.js ke sistem Anda. Anda dapat menambahkannya dengan perintah berikut:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Setelah repositori ditambahkan, instal Node.js dengan perintah berikut:
apt-get install nodejs -y
Setelah menginstal Node.js, verifikasi versi Node.js yang diinstal dengan perintah berikut:
simpul -v
Anda akan mendapatkan output berikut:
v12.19.0
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal dan Konfigurasi MongoDB
Selanjutnya, Anda perlu menginstal server MongoDB di sistem Anda. Secara default, versi terbaru MongoDB tidak tersedia di repositori default Ubuntu 20.04. Jadi, Anda perlu menambahkan repositori MongoDB di sistem Anda. Pertama, unduh dan tambahkan kunci GPG dengan perintah berikut:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Anda akan mendapatkan output berikut:
Menjalankan:/tmp/apt-key-gpghome.Ku2thT4UnL/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4gpg:key 68818C72E52529D4:Public Release key "MongoDB 4.0" Kunci <[email protected]>" importgpg:Jumlah total yang diproses:1gpg:diimpor:1
Selanjutnya, tambahkan repositori resmi MongoDB dengan perintah berikut:
add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Setelah repositori ditambahkan, instal MongoDB dengan perintah berikut:
apt-get install mongodb-org -y
Setelah menginstal MongoDB, mulai layanan MongoDB dan aktifkan untuk memulai saat reboot sistem:
systemctl start mongod
systemctl aktifkan mongod
Selanjutnya, Anda perlu mengedit file konfigurasi default MongoDB dan menentukan set replika. Anda dapat melakukannya dengan perintah berikut:
nano /etc/mongod.conf
Tambahkan baris berikut:
replikasi:replSetName:"replica01"
Simpan dan tutup file kemudian restart layanan MongoDB untuk menerapkan konfigurasig:
systemctl restart mongod
Selanjutnya, login ke shell MongoDB dan aktifkan replika dengan perintah berikut:
mongo
> rs.initiate()
Anda akan mendapatkan output berikut:
{ "info2" :"tidak ada konfigurasi yang ditentukan. Menggunakan konfigurasi default untuk set", "me" :"127.0.0.1:27017", "ok" :1, "operationTime" :Timestamp(1605081439, 1) , "$clusterTime" :{ "clusterTime" :Timestamp(1605081439, 1), "signature" :{ "hash" :BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" :NumberLong(0) } }}Selanjutnya, keluar dari shell MongoDB dengan perintah berikut:
> keluarSetelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal Rocket.Chat
Selanjutnya, Anda perlu membuat pengguna baru untuk Rocket.Chat dan menambahkannya ke grup www-data. Anda dapat melakukannya dengan menggunakan perintah berikut:
useradd -m -U -r -d /opt/rocket rocket --shell /bin/bash
usermod -a -G rocket www-dataSelanjutnya, berikan izin yang sesuai ke direktori /opt/rocket:
chmod 750 /opt/rocketSelanjutnya, alihkan pengguna ke Rocket.Chat dan unduh Rocket.Chat versi terbaru dengan perintah berikut:
su - rocket
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgzSetelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:
tar -xvzf rocket.chat.tgzSelanjutnya, ganti nama direktori yang diekstrak dengan Rocket.Chat dengan perintah berikut:
mv bundel Rocket.ChatSelanjutnya, ubah direktori ke server Rocket.Chat dan instal semua dependensi Node.js menggunakan perintah berikut:
cd Rocket.Chat/programs/server
instal npmSetelah semua dependensi terinstal, Anda dapat keluar dari pengguna Rocket.Chat menggunakan perintah berikut:
keluarBuat File Layanan Systemd Untuk Rocket.Chat
Selanjutnya, Anda perlu membuat file layanan systemd untuk mengelola layanan Rocket.Chat. Anda dapat membuatnya dengan perintah berikut:
nano /etc/systemd/system/rocketchat.serviceTambahkan baris berikut:
[Unit]Description=Rocket.Chat serverAfter=network.target nss-lookup.target mongod.target[Service]StandardOutput=syslogStandardError=syslogSyslogIdentifier=rocketchatUser=rocketEnvironment=MONGO_URL=mongodb://localhost:27017/rocketchat http://rocket.yourdomain.com PORT=3000ExecStart=/usr/bin/node /opt/rocket/Rocket.Chat/main.js[Install]WantedBy=multi-user.targetSimpan dan tutup file reload systemd daemon dengan perintah berikut:
systemctl daemon-reloadSelanjutnya, mulai layanan Rocket.Chat dan aktifkan untuk memulai pada sistem reboot dengan perintah berikut:
systemctl start rocketchat
systemctl aktifkan rocketchatAnda sekarang dapat memeriksa status Rocket.Chat dengan perintah berikut:
systemctl status rocketchatJika semuanya baik-baik saja, Anda akan mendapatkan output berikut:
? rocketchat.service - Server Rocket.Chat Dimuat:dimuat (/etc/systemd/system/rocketchat.service; dinonaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Rabu-11-11 07:58:01 UTC; 24 detik yang lalu PID Utama:19951 (node) Tugas:11 (batas:4691) Memori:508,7M CGroup:/system.slice/rocketchat.service ??19951 /usr/bin/node /opt/rocket/Rocket.Chat/main .jsNov 11 07:58:21 ubuntu2004 rocketchat[19951]:? | MongoDB Versi:4.0.21 |Nov 11 07:58:21 ubuntu2004 rocketchat[19951]:? | Mesin MongoDB:wiredTiger |Nov 11 07:58:21 ubuntu2004 rocketchat[19951]:? | Platform:linux |11 Nov 07:58:21 ubuntu2004 rocketchat[19951]:? | Port Proses:3000 |11 Nov 07:58:21 ubuntu2004 rocketchat[19951]:? | URL Situs:http://rocket.yourdomain.com |Nov 11 07:58:21 ubuntu2004 rocketchat[19951]:? | ReplicaSet OpLog:Diaktifkan |Nov 11 07:58:21 ubuntu2004 rocketchat[19951]:? | Komit Hash:e37d7ba8ed |Nov 11 07:58:21 ubuntu2004 rocketchat[19951]:? | Cabang Komit:HEAD |11 Nov 07:58:21 ubuntu2004 rocketchat[19951]:? | |11 Nov 07:58:21 ubuntu2004 rocketchat[19951]:? +------------------------------------------------- ---------+Konfigurasi Nginx untuk Rocket.Chat
Selanjutnya, Anda perlu mengonfigurasi Nginx sebagai proxy terbalik untuk Rocket.Chat. Untuk melakukannya, buat file konfigurasi virtual host Nginx dengan perintah berikut:
nano /etc/nginx/sites-available/rocketchat.confTambahkan baris berikut:
upstream myrocketchat { server 127.0.0.1:3000;}server { mendengarkan 80; nama_server roket.domainanda.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; lokasi / { proxy_pass http://myrocketchat/; proxy_http_version 1.1; proxy_set_header Tingkatkan $http_upgrade; proxy_set_header Koneksi "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Teruskan-Untuk $proxy_add_x_forwarded_for; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy benar; proxy_redirect mati; }}Simpan dan tutup file tersebut kemudian aktifkan virtual host Nginx dengan perintah berikut:
ln -s /etc/nginx/sites-available/rocketchat.conf /etc/nginx/sites-enabled/Selanjutnya, verifikasi Nginx untuk kesalahan systex dengan perintah berikut:
nginx -tAnda akan mendapatkan output berikut:
nginx:file konfigurasi /etc/nginx/nginx.conf sintaksnya oknginx:file konfigurasi /etc/nginx/nginx.conf tes berhasilTerakhir, restart layanan Nginx untuk menerapkan perubahan konfigurasi:
systemctl restart nginxAnda juga dapat memverifikasi status layanan Nginx dengan perintah berikut:
systemctl status nginxAnda akan mendapatkan output berikut:
? nginx.service - Server web berkinerja tinggi dan server proxy terbalik Dimuat:dimuat (/lib/systemd/system/nginx.service; diaktifkan; preset vendor:diaktifkan) Aktif:aktif (berjalan) sejak Rabu-11-11 07 :59:39 UTC; 4 detik yang lalu Dokumen:man:nginx(8) Proses:20034 ExecStartPre=/usr/sbin/nginx -t -q -g daemon aktif; master_proses aktif; (kode=keluar, status=0/SUCCESS) Proses:20047 ExecStart=/usr/sbin/nginx -g daemon aktif; master_proses aktif; (kode=keluar, status=0/SUCCESS) PID Utama:20051 (nginx) Tugas:3 (batas:4691) Memori:3,5M CGroup:/system.slice/nginx.service ??20051 nginx:master process /usr/ sbin/nginx -g daemon aktif; master_proses aktif; ??20052 nginx:proses pekerja ??20053 nginx:proses pekerja 11 November 07:59:39 ubuntu2004 systemd[1]:Memulai server web berkinerja tinggi dan server proxy terbalik... 11 November 07:59:39 ubuntu2004 systemd[ 1]:Memulai Server web berkinerja tinggi dan server proxy terbalik.Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Akses Rocket.Chat
Pada titik ini, Rocket.Chat diinstal dan dikonfigurasi. Saatnya mengakses antarmuka web Rocket.Chat. Buka browser web Anda dan akses Rocket.Chat menggunakan URL http://rocket.yourdomain.com .Anda akan diarahkan ke halaman berikut:
Berikan nama admin, email, kata sandi Anda dan klik tombol Lanjutkan tombol. Anda akan melihat halaman berikut:
Berikan jenis organisasi Anda, nama, industri, ukuran, negara dan klik Lanjutkan tombol. Anda akan melihat halaman berikut:
Berikan nama situs Anda, bahasa, jenis server, dan klik Lanjutkan tombol. Anda akan melihat halaman berikut:
Setujui Persyaratan dan Kebijakan Privasi lalu klik Lanjutkan tombol. Anda akan melihat halaman berikut.
Klik Buka ruang kerja Anda tombol. Anda akan diarahkan ke dasbor Rocket.Chat di halaman berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi Rocket.Chat dengan Nginx sebagai proxy terbalik. Sekarang Anda dapat menginstal Rocket.Chat di lingkungan produksi dan mulai mengobrol dengan teman dan keluarga Anda.
Ubuntu