安裝步驟
目錄結構
確保目錄包含以下安裝檔案:
installation/
├── bimap-ipoc-backend-*.deb
├── bimap-ipoc-frontend-*.deb
├── keycloak.deb
├── db_init.sql
├── influxdb2-2.7.1-amd64.deb
├── influxdb2-client-2.7.3-linux-amd64.tar.gz
└── install.sh
1. 下載安裝包
將所有安裝包下載並放置在 installation
目錄下。
2. 解壓安裝包並執行安裝腳本
在 installation
目錄下,創建 install.sh
並將以下內容複製進去:
#!/bin/bash
USERNAME="bimap"
PASSWORD="1qaz2wsx"
CONFIG_FILE="/etc/bimap-ipoc/config.yml"
UPLOAD_PATH="/home/sftpuser/"
IP=$(hostname -I | awk '{print $1}')
# 檢查是否有足夠權限執行腳本
if [ "$EUID" -ne 0 ]; then
echo "請使用 root 權限執行此腳本"
exit 1
fi
# 安裝相依套件
echo 'start => 安裝相依套件 (要等一下)'
sudo apt-get update
sudo apt-get install -y mysql-server nginx openjdk-17-jdk zip ssh sysstat nmon jq &> /dev/null
# 初始化 MySQL 資料庫
echo 'start => 初始化 MySQL 資料庫'
if [ -f "db_init.sql" ]; then
sudo mysql < db_init.sql
else
echo "錯誤:找不到 db_init.sql 文件"
exit 1
fi
# 安裝 Keycloak 模組包
echo 'start => 安裝 keycloak 模組包'
if ls ./bimap-keycloak-*.deb 1> /dev/null 2>&1; then
sudo dpkg -i ./bimap-keycloak-*.deb
else
echo "錯誤:找不到 bimap-keycloak 安裝包"
exit 1
fi
# 更新 Keycloak IP
echo 'start => 更新 keycloak IP'
sudo sed -i "s/change_me/$IP/" /usr/bin/keycloak/conf/keycloak.conf
sudo systemctl restart keycloak
# 安裝 BiMAP 模組包
echo 'start => 安裝 bimap 模組包'
if ls ./bimap-ipoc-backend-*.deb 1> /dev/null 2>&1 && ls ./bimap-ipoc-frontend-*.deb 1> /dev/null 2>&1; then
sudo dpkg -i ./bimap-ipoc-backend-*.deb
sudo dpkg -i ./bimap-ipoc-frontend-*.deb
else
echo "錯誤:找不到 bimap-ipoc 安裝包"
exit 1
fi
# 更新 ipoc yaml 的 host IP
echo 'start => 更新 ipoc yaml 的 host IP'
sudo sed -i "s/{{change_to_host_ip}}/$IP/" $CONFIG_FILE
# 安裝 InfluxDB 和 InfluxDB CLI
echo 'start => 安裝 InfluxDB 和 InfluxDB CLI'
if ls influxdb2_2*.deb 1> /dev/null 2>&1 && ls influxdb2-client-2.*.deb 1> /dev/null 2>&1; then
sudo dpkg -i influxdb2_2*.deb
sudo dpkg -i influxdb2-client-2.*.deb
sudo systemctl restart influxdb
else
echo "錯誤:找不到 InfluxDB 安裝包"
exit 1
fi
# 初始化 InfluxDB
echo 'start => 初始化 InfluxDB'
influx setup --org master --bucket oss_metrics --username $USERNAME --password $PASSWORD --force
# 列出 InfluxDB token
echo 'start => 列出 InfluxDB token'
INFLUX_TOKEN=$(influx auth list --json | jq -r '.[0].token')
if [ -n "$INFLUX_TOKEN" ]; then
sudo sed -i "s/{{change_influxdb_token}}/$INFLUX_TOKEN/" $CONFIG_FILE
else
echo "錯誤:無法獲取 InfluxDB token"
exit 1
fi
# 啟動 ipoc 前端
echo 'start => 啟動 ipoc 前端'
sudo systemctl restart nginx
# 更新 upload_path 並設置權限
echo 'start => 更新 upload_path 並設置權限'
sudo sed -i "s|upload_path: \".*\"|upload_path: \"$UPLOAD_PATH\"|" $CONFIG_FILE
sudo mkdir -p ${UPLOAD_PATH}master
sudo chown -R $USERNAME:$USERNAME $UPLOAD_PATH
# 啟動 bimap-ipoc 服務
echo 'start => 啟動 bimap-ipoc 服務'
sudo systemctl restart bimap-ipoc
# 設定 Keycloak
echo 'keycloak 預設帳號:bimap 預設密碼:1qaz2wsx'
echo '確認 bimap-ipoc 服務啟動正常後,設定 Keycloak'
if ! curl -X GET http://localhost:8700/api/v1/set-sso-by-ipoc; then
echo "錯誤:設定 Keycloak 失敗,請依照手動執行以下指令 (可能需要重複步驟幾次)"
echo '1. 停止 Keycloak 服務 => sudo systemctl stop keycloak'
echo '2. 啟動 Keycloak 服務 => sudo systemctl start keycloak'
echo '3. 等待至少 10 秒再確認服務 => curl -k https://localhost:8443'
echo '4. 有回應 html 後執行 API 設定 Keycloak => curl -X GET http://localhost:8700/api/v1/set-sso-by-ipoc'
exit 1
fi
echo "腳本執行完成"
執行安裝腳本:
cd installation
chmod +x install.sh
sudo ./install.sh
3. 配置系統所需的參數和環境變數
4. 驗證配置
- 確認設定:確保所有基本和進階設定已正確配置並保存。
- 測試連接:測試伺服器和數據源的連接,確保所有數據能夠正常上傳和解析。
- 檢查儀表板:進入儀表板頁面,確認數據顯示正確,所有指標和圖表都能夠正常工作。