12/08/2018, 16:43

Zulip - Powerful group chat

Hôm nay, mình sẽ giới thiệu tới các bạn các bước tự cài đặt một group chat với nhiều tính năng mạnh mẽ như Slack. Đó là Zulip - một group chat open source. Nếu bạn muốn có một group chat cho riêng team, công ty hay đơn giản là thích vọc vạch như mình. Thì bạn có thể thử. Chúng ta cùng đi tìm hiểu ...

Hôm nay, mình sẽ giới thiệu tới các bạn các bước tự cài đặt một group chat với nhiều tính năng mạnh mẽ như Slack. Đó là Zulip - một group chat open source. Nếu bạn muốn có một group chat cho riêng team, công ty hay đơn giản là thích vọc vạch như mình. Thì bạn có thể thử. Chúng ta cùng đi tìm hiểu cách cài đặt và sử dụng cơ bản thằng Zulip này nhé.

Do đây là vọc vạch, nên chúng ta sử dụng Docker để cài đặt nhé. Mặc định máy mọi người đã cài đặt Docker và đã có thể sử dụng Docker căn bản. Cách cài đặt và sử dụng Docker như thế nào chúng ta không bàn tới ở đây nhé. Zulip hỗ trợ Ubuntu 16.04 Xenial và 14.04 Trusty (khuyến khích là 64-bit), nên chúng ta có thể pull một trong hai image đó để thử. OK, mình dùng image Ubuntu 14.04 nhé. Đầu tiên, pull image về (nếu bạn chưa có image này)

sudo docker pull ubuntu:14.04

Tiếp theo, tạo container từ image đã có

sudo docker run --name zulip_server -it ubuntu:14.04 /bin/bash

Sau khi khởi tạo và ở trong container. Đầu tiên là chúng ta cài đặt các packages cơ bản và cần thiết (do image này là bản minial) để có thể cài đặt Zulip nhé. Trước hết, update lại APT cache

apt-get update

Tiếp theo, cài đặt các packages cơ bản cần thiết

apt-get install -y curl wget vim software-properties-common python-software-properties

Sau khi cài đặt xong, chúng ta sẽ tạo chứng chỉ SSL cho Zulip. Vì dùng Docker và không có domain nên chúng ta không sử dụng được Let's Encrypt. Vậy chúng ta sẽ tạo một self-signed certificate nhé. Để tạo, chúng ta cần cài đặt openssl package

apt-get install -y openssl

Sau đó, bạn thực hiện các bước sau để tạo SSL

openssl genrsa -des3 -passout pass:x -out server.pass.key 4096
openssl rsa -passin pass:x -in server.pass.key -out zulip.key
rm server.pass.key
openssl req -new -key zulip.key -out server.csr
# Sau lệnh này, nó sẽ yêu cầu bạn nhập một số thông tin. Bạn có thể nhập tự do hoặc cứ Enter để bỏ qua nhé

openssl x509 -req -days 365 -in server.csr -signkey zulip.key -out zulip.combined-chain.crt
rm server.csr
mv zulip.key /etc/ssl/private/zulip.key
mv zulip.combined-chain.crt /etc/ssl/certs/zulip.combined-chain.crt

Vậy là đã xong khâu chuẩn bị. Bây giờ chúng ta đi cài đặt thằng Zulip nhé. Đầu tiên, chúng ta tạo thư mục tạm thời để chứa source code (hoặc không, bạn có thể tải về ở chỗ nào cũng được):

cd $(mktemp -d)

Tải và xả nén source

wget https://www.zulip.org/dist/releases/zulip-server-latest.tar.gz
tar -xf zulip-server-latest.tar.gz

Trước khi thực hiện cài đặt, chúng ta cần làm hai việc là cài đặt locale UTF-8 cho Python và trỏ lại hostname trong /etc/hosts để chạy RabbitMQ. Đầu tiên là cài đặt locale:

locale-gen "en_US.UTF-8"
dpkg-reconfigure locales

Sau đó, bạn thực hiện chạy lệnh sau để trỏ lại hostname cho RabbitMQ:

echo -e "127.0.0.1 $(hostname -s)
$(cat /etc/hosts)" > /etc/hosts

Thực hiện cài đặt Zulip server

./zulip-server-*/scripts/setup/install

Quá trình cài đặt diễn ra tầm khoảng 15' (tùy vào tốc độ mạng). Bạn có thể nhâm nhi coffee trong lúc chờ đợi             </div>
            
            <div class=

0