2
0
Files
build.wfc/docs/03-configuration/03-MacroHub Quick Start.md

12 KiB
Raw Blame History

WANFi Software Quick Installation Guide

Preparation

  • Hardware Requirements
CPU:    >= 4 core
Memory: >= 16GiB
Storage: 
    OS:     >= 50GiB
    /opt/wfc:   >= 50GiB   # work and database storage
    /var/lib/docker: >= 50GiB
  • System Environment
Linux >= Ubuntu 22.04 
JDK >= 1.8 (Recommended version 1.8) (for Omada SDN Controller)
Omada SDN Controller > 5.15.6.7
docker >= 24.0.7, build 24.0.7-0ubuntu2~22.04.1
docker-compose >= v2.10.0
docker-buildx >= 0.14.1
  • Install docker, docker-compose and buildx plugin
    sudo apt-get update
    sudo apt-get install -y docker.io

    # Install the docker-compose-v2 plugin 
    sudo apt-get install -y docker-compose-v2
    sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose

    # Install the docker-buildx plugin
    sudo apt-get install -y docker-buildx
    sudo ln -s /usr/libexec/docker/cli-plugins/docker-buildx /usr/bin/docker-buildx   
  • Please confirm that the versions of docker, docker-compose and docker-buildx plugin meet the requirements
    docker -v
    docker compose version
    docker buildx version

Obtaining the Installation Package

  • TAR Installation Package

File name: wfc-1.0.7-20250221.tar.gz

  • DEB Installation Package

File namewfc-1.0.7-20250221.deb

Notes:

  • Version 1.0.7
  • Build date20250221

Obtain the latest version of the software installation package as needed

Installing and Configuring the Software

TAR Package Installation Method

  • Create Installation Directory

This step is required for fresh installations. If upgrading, retain the existing directory

    sudo mkdir /opt/wfc
  • Extract the Software Package to the Installation Directory
    sudo tar xvfz wfc-1.0.7-20250221.tar.gz -C /opt/wfc

DEB Package Installation Method

  • Install the Software Package
    sudo dpkg -i wfc-1.0.7-20250221.deb
  • Directory Tree After Installation
/opt/wfc                    # work root directory
├── bin                     # shell script and binary file 
├── docker                  # docker compose work directory
│   ├── env                 # default docker environment file, will be copy to docker compose work directory
│   ├── java                # java image directory
│   ├── mysql               # mysql database container directory 
│   │   ├── conf
│   │   ├── conf.d
│   │   ├── data
│   │   ├── db
│   │   ├── logs
│   │   └── tmp
│   ├── nacos               # nacos container directory 
│   │   ├── conf
│   │   └── logs
│   ├── nginx               # nginx container directory 
│   │   ├── conf
│   │   ├── conf.d
│   │   ├── html
│   │   │   └── dist
│   │   │       ├── sys     # system portal 
│   │   │       └── u       # user portal
│   │   └── logs
│   ├── redis               # redis container directroy
│   │   ├── conf
│   │   └── data
│   └── wfc                 # wfc container root directory
│       ├── auth            # auth root directory
│       │   └── jar
│       ├── gateway         # gateway root directory
│       │   └── jar
│       ├── modules         # modules root directory
│       │   ├── file
│       │   │   └── jar
│       │   ├── gen
│       │   │   └── jar
│       │   ├── job
│       │   │   └── jar
│       │   ├── payment
│       │   │   └── jar
│       │   ├── system
│       │   │   └── jar
│       │   └── user
│       │       └── jar
│       ├── upload          # file upload directory
│       └── visual
│           └── monitor
│               └── jar
└── systemd                 # service daemon filewill be copy to /etc/systemd/system
    └── system
  • Configure the Software Environment
    cd /opt/wfc/bin
    sudo ./wfcsetup.sh env 192.168.13.128   # Parameter 2 is the host machine IP address
  • Modify Docker Environment Parameters

Modify the following environment parameter configurations according to actual conditions: ** WFC_SERVER_IP address has already been replaced in the above configuration process ** Replace TZ with the host machine system time zone

    cd /opt/wfc/docker
    cat .env
        WFC_CONFIG_DATABASE=wfc_config_db
        WFC_SYSTEM_DATABASE=wfc_system_db
        WFC_USER_DATABASE=wfc_user_db
        MYSQL_SERVICE_NAME=wfc-mysql
        MYSQL_SERVICE_PORT=3306
        MYSQL_ROOT_PASSWORD=123456
        MYSQL_SERVICE_USER=root
        MYSQL_SERVICE_PASSWORD=123456
        REDIS_PORT=6379
        NACOS_PROFILE_NAME=prod
        NACOS_NAME_SPACE=wfc-prod
        NACOS_SERVER_NAME=wfc-nacos
        WFC_SERVER_PORT=80
        NACOS_SERVER_PORT=8848
        GATEWAY_SERVER_PORT=8080
        AUTH_SERVER_PORT=8081
        WFC_FILE_PORT=9201
        WFC_JOB_PORT=9203
        WFC_PAYMENT_PORT=9204
        WFC_SYSTEM_PORT=9205
        WFC_USER_PORT=9206
        WFC_SERVER_IP=192.168.13.128
        NACOS_SERVER_IP=${WFC_SERVER_IP}
        GATEWAY_SERVER_IP=${WFC_SERVER_IP}
        RESTART_OPTION=on-failure:5
        TZ=Asia/Shanghai                             #docker container time zone

If these container environment parameters have not been changed, you can directly run the following command to set the environment and create containers:

    cd /opt/wfc/bin
    sudo ./wfcsetup.sh all 192.168.13.128   # Parameter 2 is the host machine IP address
  • Create Docker Containers

If you have already run 'sudo ./wfcsetup.sh all 192.168.13.128', the following command can be omitted

    cd /opt/wfc/bin
    sudo ./wfcsetup.sh all

Configure Omada Platform Integration Connection Parameters

  • Obtain portal platform integration connection parameters from the Omada service, as shown below:

Omada platform integration configuration screenshot

Note: The connection MODE uses Client. For specific configuration methods, refer to the relevant Omada documentation

  • Modify Configuration Files

    • Modify the following Omada configuration items for platform integration with Omada
        cd /opt/wfc/docker/conf
        cat application-common.yml 
    
            ...
    
            # Omada config
            omada:
            # web url or host exp: 'https://192.168.2.249:8043'
            omada-url: 'https://aps1-omada-northbound.tplinkcloud.com'
            omadac-id: 'c4decbf73f80094019d664506ec9b4d4'
            client-id: '6110a77822234243a033e652d1e8a3ae'
            client-secret: '651957da95f14f45b719876bb68bd6f5'  
    
            ...  
    
    • Modify the following email configuration items for sending email verification codes
        cd /opt/wfc/docker/conf
        cat application-common.yml 
    
            ...
    
            mail:
                enabled: true
                host: mail.agrandtech.com
                port: 25
                # Enable authentication
                auth: true
                # Sender, follows RFC-822 standard
                from: smtpext <smtpext@agrandtech.com>
                # User name
                user: smtpext
                # Password
                pass: Smtp123@agt
                # Use TLS security connection
                starttlsEnable: false
                # Use SSL security connection
                sslEnable: false
                # Timeout value for sending mail, in milliseconds
                timeout: 0
                # Connection timeout value, in milliseconds
                connectionTimeout: 0
    
            ...
    
    • Allow email-related domains in Omada

      To support users in obtaining email verification codes without network permissions when logging into AP for the first time, you can allow email-related domains in Omada. The specific steps are as follows:

      After entering Omada, select the site you need to configure, select Settings->Authentication->Portal->Access Control->Pre-Authentication Access->check Enable, then add the email-related domains to the Pre-Authentication Access List. Note that all domains involved in accessing email need to be allowed, as shown in the following figures (the allowed domains may not be complete):

    • Modify payment configuration items

        cd /opt/wfc/docker/wfc/modules/payment/conf/
        cat application.yml 
    
            ...
    
            # payment configuration, 
            # alipay configuration    
            alipay:
                appId: 9021000122699258
                privateKey: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC7YAcIXV5GJlTWBOoBcrVG1zKxHunznSjYXwTS2DM3YgloxzKye4apfcmBDVnoL93m4QrJTtbiHYvu4yJjJfJsQEY+Wo44IczhDypyu+Il6JpQOwylTs94/+3aaQ1wThsDaGs8edaFGteuw+1pUVl4nxF00fS1VoIR30riqAGFAXrPhcSA6Y9c8HK1htxCelICnPzjpqC4s8ZjrjS7FoyHP2ZAay5fx1VEtah30E4RvycFfV/i2+k3JGFOSeevdCx6Ufu+9Y/RaG4Sh84QuYRQUhAHUswlFDHpRrAnxHzt0zDkOkg3BrCT7vMtBbSOP9BdIhpVTaZm4diQdNbLSl4hAgMBAAECggEAKb1Xc7aQ1KGfTlmj4xSxawlvImOXjAwbWC+6fFlq91BgdjXBhl7b/Y+mvpfBymY3UUIaTAPC/HXGgT2ZoGqImTKsMyGrArgM0qm1M//EfdtV3L96rqxirTqduoSiWL0daWHuWXduoRH8r9K3ZTmY67TLh7FpiKevq9mI7fqs8/qgq5QAN4UPFb3Cq9hDNTU4l6+Bywdg1KkwJ2Jc98SlrIdVl+1eCMAgueLR0aNHTobyPBZ/KfwGRV0OQ3QqjLVgL3zlbzuylYhaZqPgxxd46vgWwkyMiiv7u2OyCetq4LFd+tcNDz0Yqk6rK9/S0oxbN8NM5DLkpwFh/433BoPS3QKBgQD/dsxNr2PYdPLp6pOvw7H2AFMH8CkwTlRg+2f/0fgQF14rJwZgEU6fL5A2JvQeRRC5mCff2m5tDqrS321JNyH/JIKJ+4J8I34GEo/kSCHL3RmyvJGQOQ/EpEyxvP8BV3ob6UO3LR58DOGlJr8eTsr3Y8o9cAMuknCNxvsd2LvybwKBgQC7xKkx4KIPBny6sCOtChOkgIrY3hOCi+ZsHQVESXKzeku0NkH/qrAG+S9pb1XCzXdM2HrzkMeuz6tqi+2TY8nORyY2DZHNW7FqzkAiZ/NO2AgGIlALq1ZfJZke2MxgtBnxSsQ03gfXP9opu/FsLH9a+s6edfHPvKD4kHxlLBfAbwKBgQDYvr6QmuKn4HHJLZGoau0uvw+ziHwp1AubTTLrxgYmAO2Qx0eNcqG2RfChQWOV2xtZnFMYhodyWCNvTsm2eOSLSTrIP3ByStq95DnZganLAgivsXX/W6qZOJ0poCTryoB79enSHKHktjksmjdFS6zBQRVyEvtgJDcC03Rz2lN8WQKBgQCCoJE4otb7bv7s/ccEBeOeaNKvhue5xUwbYKEeXZ6PYAA0sh5+GCf34flq90qJiFl7u4rl0Y4pfk35hLlV9XEasYLSzePmIuktrakOhpTNABus8MgRJjSjYsvAmwCsMf9uTx5qzSBVThWfPSH6qIY9LAj8Un9UjxzJb/Mqi19GvwKBgQC0/KB+3robTqy9KOV4iEKJ4kmnXDRu7ecpMyc8k5HzpolIHcXLZHkBK9pMCXBQ9Kwy6BjRGNnUZOahS+tvnMcjHpwdhu90r7D51GXW/+PeFtphYTscFhHv1yuWbbojzhKf69pZnsVmyllIBqRgtbkS2WNHxWo/peCg47TcLaQNMA==
                publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhBZoE6p1TKpd/WsAJRTA2D6yUTzqLmZ73scxbPxxKwPIg2ys2Ap21u/lVmqBWO9Wf2Z7wUwr/6BP1PQqVpg0GAqU3yjjZ0LGfBitzMBMbGrlOLqJQ3PKgnUNmnOdLR4FlHCAjKtuyxjHkxBTHg/L4punk4lkFJQD8YvzFrYalS6WYw5j1/oq080NbcjPirPCRlsU7MRraQuUqSTdPwm2iHkroKwCEbGv+RtNJCfOkKNQVtRFFgPGMhU4nQ620gdfzsGJsNFKVJnD5SjeDWniBAbaGaVF4rEfKJPe6+XrcMg3h+9Fz+A2IU1KCCoth2neEZEaU1t0KBGxXIuo4efi/QIDAQAB
                appCertPath: \u5E94\u7528\u516C\u94A5\u8BC1\u4E66
                aliPayCertPath: \u652F\u4ED8\u5B9D\u516C\u94A5\u8BC1\u4E66
                aliPayRootCertPath: \u652F\u4ED8\u5B9D\u6839\u8BC1\u4E66
                serverUrl: https://openapi-sandbox.dl.alipaydev.com/gateway.do
                domain: http://192.168.2.249
                testDomain: http://129.204.171.210:8085
    
            # wxpay configuration
            wxpay:
                appId:
                appSecret:
                mchId:
                partnerKey:
                certPath:
                domain: http://192.168.2.249/u
    
            ...
    
    • Allow payment-related domains in Omada

      To support users in normally completing package purchases or balance recharges without network permissions when logging into AP for the first time, you need to allow payment-related domains in Omada. The specific steps are as follows:

      After entering Omada, select the site you need to configure, select Settings->Authentication->Portal->Access Control->Pre-Authentication Access->check Enable, then add the payment method-related domains to the Pre-Authentication Access List. Note that all domains involved in payment need to be allowed, as shown in the following figures (the allowed domains may not be complete):

  • Start/View/Stop/Version Software

    cd /opt/wfc/bin
    sudo ./wfccontrol.sh start/restart/status/stop/version  

Access System Platform and User Platform via Browser

  • System Platform Portal Address:
http://192.168.13.128/sys
  • User Platform Portal Address:
http://192.168.13.128/u