Bản Dev
🇻🇳 (vi)
![]()
Hướng dẫn này được viết cho Ubuntu 20.04 LTS (Focal Fossa)
Yêu cầu:
- RAM 8GB trở lên
- CPU 6 Core trở lên
- Dung lượng 2GB trở lên
Chuẩn bị:
- Quyền truy cập vào source code Gcalls Plus Webphone bản docker của Gcalls và source code Gcalls Plus Webphone của Gcalls
- nvm
- git
- node
- npm
- Visual Studio Code (Hoặc Code editor khác mà bạn thích, *)
- software-properties-common, apt-transport-https (cho Visual Studio Code)
- curl, wget
- pm2
- docker-compose
- docker
(*) Có thể không cần code editor hay IDE => thao tác 100% trên giao diện Ubuntu và Ubuntu Terminal hoặc chỉ Ubuntu Terminal
I. Cài đặt phần mềm và tool cần thiết (bỏ qua bước này nếu đã cài mọi thứ trong danh sách chuẩn bị ở bước trên)
Thao tác qua Terminal của Ubuntu Trước tiên
```
sudo apt update
```
1. git
sudo apt install git-all
- Kiểm tra git:
git --version
2. curl và wget
sudo apt update
- curl
sudo apt install curl - wget
sudo apt install software-properties-common apt-transport-https wget
3. nvm
Cài nvm bằng curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Hoặc cài nvm bằng wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Thêm vào bashrc
source ~/.bashrc
- Kiểm tra nvm:
nvm -v
4. node và npm
Cài đặt node v16
nvm install v16
- Kiểm tra node và npm:
node -v
npm -v
5. VS Code (tùy chọn)
5.1 Cập nhật index package và cài dependencies cần thiết (software-properties-common apt-transport-https và wget):
sudo apt update
sudo apt install software-properties-common apt-transport-https wget
5.2 Nhập GPG key từ Microsoft:
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
5.3 Enable repository của VS Code:
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
5.4 Khi repo đã được enabled, tiến hành cài đặt VS Code:
sudo apt install code
- Kiểm tra VS Code:
code -v
6. pm2
- Cài đặt pm2:
npm install pm2@latest -g - Kiểm tra pm2:
pm2 --version
7. Docker
- Cập nhật package:
sudo apt-get update
sudo apt-get install - Thêm keyring và sourcelist:
sudo mkdir -p /etc/apt/keyrings
cd /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update - Cài đặt Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin - Kiểm tra Docker:
docker -v
8. docker-compose
- Cài đặt dependency cần thiết (curl):
sudo apt install curl - Cài đặt docker-compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose - Cấp quyền executable cho docker-compose:
sudo chmod +x /usr/local/bin/docker-compose - Kiểm tra docker-compose:
docker-compose -v
II. Cài đặt source code
Có thể thao tác qua 1 trong các hướng sau:
- Terminal
- Giao diện và Terminal
- Giao diện, Terminal và VS Code Terminal
Hướng dẫn dưới đây sẽ thao tác qua Ubuntu Terminal và VS Code Terminal
Mở terminal (Crl+Alt+T)
1. Chọn 1 thư mục để chứa source code (ví dụ: gcalls-community-version)
- Nếu có sử dụng VS Code:
- Mở thư mục trong VS Code
code . - Mở 1 Terminal mới trên VS Code
2. Tải repo về:
- Initialize:
git init
git clone https://gitlab.com/gcalls-opensource/gcalls-community-version - Truy cập folder:
cd gcalls-community-version - Cập nhật thông tin và kiểm tra branch:
git fetch
git branch - Chuyển branch:
git checkout Development - Kiểm tra branch:
git branch - Chuyển sang branch mới:
git checkout -b <branch của bạn>
4. Cài đặt Gcalls Plus Webphone:
- Tại root
/củagcalls-community-version, truy cậpsh/non-dockercd sh/non-docker - Lần lượt chạy script cài đặt project
- Cài đặt MongoDB
sh installMongo.sh - Cài đặt Redis
sh installRedis.sh - Cài đặt Postgres
sh install Postgres.sh - Cài đặt CouchDB
sh installCouchDB.sh - Cài đặt Ngrok
sh instalNgrok.sh - Cài đặt Gcalls Plus Webphone
sh runallsh.sh
- Cài đặt MongoDB
- Lần lượt các service của Gcalls Plus Webphone sẽ chạy sau khi được cài
- Lần sau khi cần khởi động Gcalls Plus Webphone, chạy script sau:
sh runsh.sh - Kiểm tra Gcalls Plus Webphone
- Kiểm tra tình trạng của các service
pm2 status - Kiểm tra log của từng service
pm2 log <số thứ tự của service xem theo pm2 status>
- Kiểm tra tình trạng của các service
5. Cài đặt Keycloak (Quản lý tài khoản và xác thực) bản Docker và Logstash (Quản lý loggging)
Thoát ra khỏi non-docker và truy cập log-service/docker
cd ../../log-service/docker
- Khởi tạo docker cho LogstashThoát ra khỏi
```
docker-compose up -f logstash
```dockervà truy cậpiam-service
cd ../../iam-service
- Khởi tạo docker cho Keycloak và Postgres
docker-compose up -dUsername Password Postgres keycloak keycloak@2022 Keycloak admin gadmin@2022 - Kiểm tra Keycloak và Postgres:Nếu thấy dòng chữ
docker logs -f keycloak --tail 1000Http management interface listening on http://127.0.0.1:9990/managementhoặcAdmin console listening on http://127.0.0.1:9990ở dưới cùng nghĩa là chạy thành công. Bấm Crl + CNếu vào được nghĩa là thành công. Thoát ra khỏi containerdocker exec -it iam-service_postgres psql -U keycloakexitLogstash đã được khởi tạo thành công nếu thông điệp "Successfully started Logstash API endpoint {:port=>9600}" hiện radocker logs logstash -f
6. Database
Thoát khỏi iam-service và truy cập non-docker
cd ../sh/non-docker
6.1 Cài đặt
- Tại
gcalls-community-version/sh/non-docker, chạy các script sau- Cài đặt MongoDB
sh installMongo.sh - Cài đặt Redis
```
sh installRedis.sh
``` - Cài đặt CouchDB
sh installCouchDB.sh
- Cài đặt MongoDB
- Kiểm tra Database
- MongoDB
sudo service mongod status - Redis
```
sudo service redis status
``` - CouchDB
sudo service couchdb status
- MongoDB
6.2 Backup Database (Tùy chọn)
6.2.1 MongoDB
Chỉ thao tác qua giao diện và Ubuntu Terminal:
- Tạo 1 thư mục mới (ví dụ
gcalls-example-db):mkdir gcalls-example-db - Truy cập thư mục:
cd gcalls-example-db - Tải dữ liệu db về:
wget -O gcalls-example-db.zip --no-check-certificate "https://gstatics.sgp1.digitaloceanspaces.com/contributer-setup-data/myMongoDB.zip" - Kiểm tra file tải về:
ls - Unzip file:
unzip gcalls-example-db.zip- Nếu chưa có
unzipthì cài đặtunzipsudo apt install unzip
- Nếu chưa có
- Nhập dữ liệu vào MongoDB:
mongorestore --db <database name> myMongoDB/<đường dẫn tới thư mục chứa db cần nhập>mongorestore --db access-service myMongoDB/access-service
mongorestore --db customer-service myMongoDB/customer-service
mongorestore --db integration-manager myMongoDB/integration-manager
mongorestore --db record-service myMongoDB/record-service
mongorestore --db third-party-service myMongoDB/third-party-service
mongorestore --db user-service myMongoDB/user-service
6.2.2 Postgres
Chỉ thao tác qua giao diện và Ubuntu Terminal. Lưu ý dữ liệu của database keycloak trong Postgres phải hoàn toàn trống mới có thể nhập đầy đủ được nhưng khi khởi tạo bằng docker, database keycloak đã được thêm nhiều dữ liệu config sẵn.
- Tạm dừng keycloak lại:
docker stop keycloak - Truy cập vào docker của Postgres:
docker exec -it iam-service_postgres_1 sh - Tạo 1 user mới:
createuser -U keycloak --interactive - Điền tên và chọn y cho superuser:
Enter name of role to add: postgres
Shall the new role be a superuser? (y/n) y - Truy cập vào database mới bằng user mới:
psql -U postgres - Xóa database keycloak
drop database keycloak - Tạo lại database keycloak
create database keycloak - Thoát ra khỏi psql và docker
exit\q - Tạo 1 thư mục mới và truy cập vào nó:
mkdir postgres
cd postgres - Tải dữ liệu về
wget -O dumpfile "https://gstatics.sgp1.digitaloceanspaces.com/contributer-setup-data/postgresBackup" - Unzip file:
unzip dumpfile.tar.gz - Nhập vào Postgres
cat dumpfile | docker exec -i iam-service_postgres_1 psql -U keycloak
III. Sử dụng Gcalls Plus Webphone
- Truy cập vào localhost:4004 (frontend của Gcalls Plus Webphone) để sử dụng Gcalls Plus Webphone
- Truy cập localhost:8080 (frontend của Keycloak) để quản lý tài khoản/ credential ở các callcenter | username | password | |----------|-------------| | admin | gadmin@2022 |
1. Nếu chưa nhập dữ liệu vào MongoDB và Postgres
- Đăng ký 1 callcenter mới
- Kiểm tra mail và bấm confirm
- Đặt mật khẩu cho tài khoản
- Đăng nhập vào callcenter với tài khoản vừa tạo Tham khảo Video hướng dẫn sử dụng Gcalls Plus Webphone
2. Nếu đã nhập dữ liệu vào database
- Dùng tài khoản dưới để đăng nhập: | email | password | callcenter | |----------|-------------|-------------| |gcalls.test@gmail.com| 12345678 | gcallstest |