diff --git a/bin/copy.sh b/bin/copy.sh index f9d3b73..d600faf 100755 --- a/bin/copy.sh +++ b/bin/copy.sh @@ -20,6 +20,7 @@ echo -n "Begin copy sql ... " cp ${BERootDir}/sql/wfc_config_db/wfc_config_db.sql ${BuildDockerDir}/mysql/db cp ${BERootDir}/sql/wfc_system_db/wfc_system_db.sql ${BuildDockerDir}/mysql/db cp ${BERootDir}/sql/wfc_user_db/wfc_user_db.sql ${BuildDockerDir}/mysql/db +cp -rf ${BERootDir}/sql/upgrade ${BuildDockerDir}/mysql/db/ #ln -sf /tmp ${BuildDockerDir}/mysql/ echo "done" diff --git a/build/bin/wfccontrol.sh b/build/bin/wfccontrol.sh index 263ed10..03e29bf 100755 --- a/build/bin/wfccontrol.sh +++ b/build/bin/wfccontrol.sh @@ -20,24 +20,36 @@ Jars=" \ case "$1" in start) cd ${DockerDir} - ${DockerCompose} up -d - echo $! > ${PIDFile} + if [ -z "$2" ]; then + ${DockerCompose} up -d + echo $! > ${PIDFile} + else + ${DockerCompose} up -d $2 + fi ;; stop) cd ${DockerDir} - ${DockerCompose} down - if [ -f ${PIDFile} ]; then - rm ${PIDFile} + if [ -z "$2" ]; then + ${DockerCompose} stop + if [ -f ${PIDFile} ]; then + rm ${PIDFile} + fi + else + ${DockerCompose} stop $2 fi ;; restart) - $0 stop + $0 stop $2 sleep 1 - $0 start + $0 start $2 ;; status) cd ${DockerDir} - ${DockerCompose} ps + if [ -z "$2" ]; then + ${DockerCompose} ps + else + ${DockerCompose} ps $2 + fi ;; version) cd ${WFCBinDir} diff --git a/build/bin/wfcsetup.sh b/build/bin/wfcsetup.sh index 1bc7e9d..bde9a45 100755 --- a/build/bin/wfcsetup.sh +++ b/build/bin/wfcsetup.sh @@ -14,13 +14,10 @@ case "$1" in env) # prepare directory mkdir -p ${docker_work_dir}/mysql/tmp - chown -R root:root ${docker_work_dir}/* - chown -R root:root ${docker_work_dir}/.* - #chown -R mysql:mysql ${docker_work_dir}/mysql - chmod -R 775 ${docker_work_dir}/nacos - chmod -R 775 ${docker_work_dir}/nginx - chmod -R 775 ${docker_work_dir}/redis - chmod -R 775 ${docker_work_dir}/mysql + chown -R root:root ${docker_work_dir} + chown -R 999:999 ${docker_work_dir}/mysql/data + find ${docker_work_dir} -type d -exec chmod 775 {} \; + find ${docker_work_dir} -type f -exec chmod 664 {} \; chmod 1777 ${docker_work_dir}/mysql/tmp # setup system serivce @@ -45,7 +42,6 @@ case "$1" in # 替换.env文件 sed "s/NACOS_SERVER_ADDR=.*/NACOS_SERVER_ADDR=${new_ip}:8848/" ${org_env_file} > $tmp_env_file sed -i "s/GATEWAY_ADDR=.*/GATEWAY_ADDR=${new_ip}:8080/" $tmp_env_file - mv $tmp_env_file $org_env_file # 定义原始文件和临时文件 diff --git a/build/bin/wfcupgdb.sh b/build/bin/wfcupgdb.sh new file mode 100755 index 0000000..c91c980 --- /dev/null +++ b/build/bin/wfcupgdb.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +wfc_work_dir=/opt/wfc +docker_work_dir=${wfc_work_dir}/docker +mysql_sql_dir=${docker_work_dir}/mysql/db +docker_mysql_conf=/etc/mysql/conf.d + +case "$1" in + system) + db_name=wfc_system_db + cd ${mysql_sql_dir} + for sql in ./upgrade/${db_name}/*.sql; do + if [ -f "$sql" ]; then + echo -n "Execute SQL script: ${sql} ... " + docker exec -i wfc-mysql mysql --defaults-file=${docker_mysql_conf}/.my.cnf ${db_name} < ${sql}; + if [ $? = 0 ]; then + echo "done" + fi + else + echo "No SQL files found in ./upgrade/${db_name}/" + fi + done + ;; + user) + db_name=wfc_user_db + cd ${mysql_sql_dir} + for sql in ./upgrade/${db_name}/*.sql; do + if [ -f "$sql" ]; then + echo -n "Execute SQL script: ${sql} ... " + docker exec -i wfc-mysql mysql --defaults-file=${docker_mysql_conf}/.my.cnf ${db_name} < ${sql}; + if [ $? = 0 ]; then + echo "done" + fi + else + echo "No SQL files found in ./upgrade/${db_name}/" + fi + done + ;; + config) + db_name=wfc_config_db + cd ${mysql_sql_dir} + for sql in ./upgrade/${db_name}/*.sql; do + if [ -f "$sql" ]; then + echo -n "Execute SQL script: ${sql} ... " + docker exec -i wfc-mysql mysql --defaults-file=${docker_mysql_conf}/.my.cnf ${db_name} < ${sql} + if [ $? = 0 ]; then + echo "done" + fi + else + echo "No SQL files found in ./upgrade/${db_name}/" + fi + done + ;; + all) + $0 system + $0 user + $0 config + ;; + *) + echo "WANFi Controller and Billing System Setup ..." + echo "Usage: $0 system|user|config|all" + exit 1 + ;; +esac + + + diff --git a/build/docker/mysql/conf/.my.cnf b/build/docker/mysql/conf/.my.cnf new file mode 100644 index 0000000..f1e7c3e --- /dev/null +++ b/build/docker/mysql/conf/.my.cnf @@ -0,0 +1,3 @@ +[client] +user=root +password=123456 \ No newline at end of file diff --git a/docs/03-configuration/03-wfc-quickstart.md b/docs/03-configuration/03-wfc-quickstart.md index 2535617..d7a9dda 100644 --- a/docs/03-configuration/03-wfc-quickstart.md +++ b/docs/03-configuration/03-wfc-quickstart.md @@ -1,14 +1,42 @@ -# WANFi Control & Billing System +# WANFi Control and Billing System ## 准备工作 +* 硬件要求 + +```text +CPU: >= 4 core +Memory: >= 16GiB +Storage: + OS: >= 50GiB + /opt/wfc: >= 50GiB # work and database storage + /var/lib/docker: >= 50GiB +``` + +* 系统环境 + ```text Linux >= Ubuntu 22.04 -JDK >= 1.8 (Recommended version 1.8) +JDK >= 1.8 (Recommended version 1.8) (用于Omada SDN Controller) docker >= 24.0.7, build 24.0.7-0ubuntu2~22.04.1 docker-compose >= 1.29.2 ``` +* 安装docker和docker-compose +```sh + sudo apt update + sudo apt upgrade + sudo apt install docker + sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose + sudo chmod +x /usr/bin/docker-compose +``` + +* 请确认docker和docker-compose的版本是否符合要求 +```sh + docker -v + docker-compose -v +``` + ## 获取安装包 安装包名: wfc-1.0.2-20241212.tar.gz @@ -88,12 +116,12 @@ docker-compose >= 1.29.2 ```sh cd /opt/wfc/bin - sudo ./wfcsetup.sh all 192.168.13.128 #宿主机IP地址 + sudo ./wfcsetup.sh all 192.168.13.128 # 参数2是宿主机IP地址 ``` * 修改docker环境参数 -根据实际环境修改如下环境参数配置, 以下IP地址已经在上面配置过程被替换: +根据实际情况修改如下环境参数配置(*IP地址已经在上面配置过程被替换): ```sh cd /opt/wfc/docker diff --git a/docs/03-configuration/03-wfc-quickstart.pdf b/docs/03-configuration/03-wfc-quickstart.pdf index c03d89b..fc7004a 100644 Binary files a/docs/03-configuration/03-wfc-quickstart.pdf and b/docs/03-configuration/03-wfc-quickstart.pdf differ