Chuyển tới nội dung chính

Install Akabot Center 5x and MySQL on Microsoft Windows

This guide provides instructions to installing a single instance of akaBot Center version: 5.x with MySQL as the database engine. The target Operating System (OS) in this guideline is Microsoft Windows.

1. Prerequisites​

1.1. Hardware and OS Requirements​

ConfigurationRequirements
HardwareRAM: 32GB or higher
Core: 8 CPU or higher
SSD: 512 GB
Operating SystemWindows 10, 11, Server 2012 R2/2016/2019

1.2. Software Packages​

The installation must be performed using an account with Administrator (root) privileges on the target machine.
You need to prepare the installation package according to the following list.

Note:

  • If the computer where you're installing Center does not have an internet connection, please download the installation package externally and copy it to the machine.
  • To avoid errors during installation with command line execution, please use a dedicated folder for akaBot Center installation and name the installation package directory without any spaces. For example: C:\akaBot
#NameFile NameVersionDescriptionDownload Link
1akaBot CenterakaBot-center- 5.x.x.x.warNewest versionakaBot Center installation packageakaBot provides through email after the customer makes a purchase.
2Java Developer Kitopenlogic-openjdk-17.0.1617.0.16Open logic JDK 17.0.16Download
3Apache tomcatapache-tomcat-10.1.57.exe10.1.57Web server Apache TomcatDownload
4ActiveMQapache-activemq- 5.15.1-bin.zip5.15.1ActiveMQ for Queue functionality in akaBot CenterDownload
5MySQLWindows (x86, 32-bit), MSI Installer8.0.45The database engine of akaBot CenterRead Section 3.1for more details

1.3. Network & Firewall Requirements​

Ensure the following ports are open in Windows Defender Firewall (for on-premises / physical servers) or configured in Cloud Security Groups / Network Security Groups (NSGs) (for AWS EC2, Azure VM, GCP):

PortProtocolDirectionService / ComponentDescription & Access Scope
8080 (or 443)TCPInboundApache Tomcat / akaBot CenterWeb UI and REST API for Users and akaBot Agents.
8161TCPInboundActiveMQ Web ConsoleAdministration web console for queue monitoring (restrict to admin IP/VPN).
61616TCPInboundActiveMQ Broker (OpenWire)JMS messaging port used by Center and Agents for queue tasks.
3306TCPInbound / OutboundMySQL ServerDatabase communication port between akaBot Center and MySQL.

Tip for Cloud & Remote Access:
When accessing akaBot Center or ActiveMQ remotely (outside the server itself), replace localhost with the server's Private IP (within LAN/VPC) or Public IP / Domain Name (e.g., http://<SERVER_IP>:8080/). Ensure your cloud security group allows inbound traffic on that port from your client IP.

2. Java JDK 17 Installation​

Run the installer -openlogic-openjdk-17.0.16 you have downloaded. After that, click "Next" to proceed.

1772678336700-443.png

1772678575028-725.png

1772678599882-146.png

1772678637728-770.png

  • After Installation is complete, you will see the Complete Notification below. Simply click Finish. You have successfully installed JDK.

1772678676435-470.png

Note on JAVA_HOME Environment Variable:

  1. Verify JAVA_HOME by running the following command in Command Prompt:
    echo %JAVA_HOME%
    The output should point to your JDK 17 installation directory (e.g., C:\Program Files\OpenLogic\jdk-17.0.16.8-hotspot).
  2. If JAVA_HOME is not set or empty, configure it manually:
    • Open Windows Search, type env, and select Edit the system environment variables.
    • Click Environment Variables....
    • Under System variables, click New..., set Variable name to JAVA_HOME and Variable value to your JDK installation path (e.g., C:\Program Files\OpenLogic\jdk-17.0.16.8-hotspot).
    • Find the Path variable under System variables, select it, click Edit..., click New, and add %JAVA_HOME%\bin.
    • Click OK to save and apply changes, then open a new Command Prompt to verify with echo %JAVA_HOME% and java -version.

3. MySQL installation​

Note for Existing Database:
If you already have an existing database, you can skip Section 3 and proceed directly to Section 4. Simply ensure an empty database (e.g., aka_orchestrator) is created and ready for connection in Section 6.2.2.

3.1. Install MySQL​

Step 1: Kindly download MySQL 8.0

1772679894229-198.png

Step 2: Run the installer

  • Select "Custom" option and click "Next"

1772680026894-329.png

  • To run akaBot Center, you will need MySQL Server and MySQL Workbench.
  • Under:
    +MySQL Servers > MySQL Server, choose the newest for MySQL Server.
    +Application > MySQL Workbench, choose the newest version for MySQL Workbench

1772680062957-574.png

  • Click button "Next"

1772680106676-150.png

  • After that, kindly click "Execute" and hit "Next"

1772680183433-519.png

  • After products are successfully installed, click "Next" to continue process

1772680302561-505.png

  • On the Accounts and Roles page, set a strong root password (e.g., replace <YOUR_PASSWORD> with your own secret) and remember it — you will need it in later steps. Click "Next"

1772680441382-833.png

  • Click "Execute" and wait till everything is finished. Click Finish.

1772680676937-347.png

  • If you see this screen, we have successfully finished the installation. Click Finish.

1772680642000-840.png

3.2. Setup MySQL account to enable remote connection​

Follow these steps to know how to setup remote connection with MySQL. This will help to install MySQL and akaBot Center in separated systems.

Test your MySQL from remote client using MySQL Workbench

  • Open MySQL Workbench in other computer, click to the add connection button (see picture bellowed) to open Setup New Connection window.

1772680900409-828.png

  • Input IP address of MySQL that you want to test, explorer in "HostName"
  • Input your SQLUsername: root
  • Click to Test Connection button

1772680983582-429.png

  • After dialog "Connect to MySQL Server" appears, you enter password (you created in 3.1 >Step 2) for this account then hit "Ok" to test this connection

1772681048495-679.png

  • You will see this dialog if everything is configured successfully.

1772681188703-627.png

  • After connecting successful, you can browse remote database in detail using MySQL Workbench

3.3. Create MySQL Database for Center​

  • For the new/first-time installation, you must create a new database for your Center.
  • Follow these steps to create a database with the name aka_orchestrator in a machine that is designed to install MySQL Database for Center.

Step 1: Open MySQL Workbench in the machine you want to create a MySQL Database

1772681250244-938.png

  • Open MySQL Workbench, access local instance

1772681325916-698.png

Step 2: Click to (1) to open Create new database dialog

1772681367826-951.png

(2) input schema name=aka_orchestrator

(3) input the database name of Center

(4) input Charset =utf8 ,utf8_general_ci.

(5) Hit Apply after you finish all (1) (2) (3) (4).

1772681424156-676.png

Step 3: Hit Apply to create our LMS Database

1772681470131-634.png

Hit Finish

1772681498688-250.png

4. Apache Tomcat installation​

4.1. Install Apache Tomcat​

Apache Tomcat installation:

  • Uncheck "Run Apache Tomcat"
  • Uncheck "Show Readme"
  • Click the "Finish" button to complete the installation.

1772681812071-644.png

1772681838609-495.png

1772681883903-770.png

1772682064280-243.png

1772682108587-419.png

The installation path for Apache Tomcat: %TOMCAT_PATH% = C:\Program Files\Apache Software Foundation\Tomcat 10.1

4.2. Apache Tomcat Configuration​

4.2.1. Configure log settings​

Step 1: Open the file %TOMCAT_PATH%\conf\logging.properties

Step 2: Add attribute maxDays to specify the maximum number of days that rotated access logs will be retained for before being deleted for the catalina, localhost, host-manager, manager logs. If not specified, the default value of-1will be used which means never delete old files.

  • Example: keep 90 daysworth of history. Change the number at the end of the following rows:
    • catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
    • localhost.org.apache.juli.AsyncFileHandler.maxDays = 90
    • manager.org.apache.juli.AsyncFileHandler.maxDays = 90
    • host-manager.org.apache.juli.AsyncFileHandler.maxDays = 90

1772682773352-897.png

Step 3: Save changes and close the file.

Step 4: Open the file %TOMCAT_PATH%\conf\server.xml

Step 5: Un-Comment the line of log setting to turn on the log and add attribute maxDays as below:

1772682631349-450.png

Note: Only by opening in Notepad, can you edit the .xml file

These following steps illustrate how you can open in Notepad:

  • Click Run as administrator

  • Navigate to File\Open

  • Locate to your file in the list, remember select "All files" option

1772682691513-901.png

1772682799754-604.png

1772682840226-911.png

Step 6: Save changes and close the file

4.2.2. Other settings​

Step 1: Navigate to the path %TOMCAT_PATH%\bin and double-click the file Tomcat10w.exe to open the Apache Tomcat Service configuration.

1772682897309-350.png

Step 2: On the General tab

  • Select Startup type: Automatic
  • Choose Apply to apply the configuration changes.

1772683028183-225.png

Step 3: On the Logging tab

(1) Log prefix: Remove "commons-daemon"

(2) Redirect Stdout: Remove "auto"

(3) Redirect Stderror: Remove "auto"

(4) Choose Apply to apply the configuration changes.

1772683067655-799.png

Step 4: On the Java tab

a. Adjust the Java Heap configuration:

  • Initial memory pool: Enter a value approx. 1/4 of the server's RAM (minimum 2048 MB).

    • Example (Server RAM = 32 GB): Set Initial memory pool to 4096 MB (or 8192 MB).
    • Example (Server RAM = 16 GB): Set Initial memory pool to 2048 MB (or 4096 MB).
  • Maximum memory pool: Enter a value approx. 1/2 of the server's RAM.

    • Example (Server RAM = 32 GB): Set Maximum memory pool to 16384 MB (16 GB).
    • Example (Server RAM = 16 GB): Set Maximum memory pool to 8192 MB (8 GB).

Note: Do not set Maximum memory pool larger than 1/2 of the server's RAM, as the operating system, ActiveMQ, and database engine require sufficient RAM to operate without OutOfMemory (OOM) failures.

b. Choose Apply to apply the configuration changes.

1772683124013-819.png

Step 5: Start the Tomcat Service

On the General tab, select Start to initiate the Apache Tomcat service.

1772683144986-469.png

4.3. Check Apache Tomcat Installation​

Step 1: After installation and configuration, go to the Services screen and check the status of the Apache Tomcat service.

  • If the Status is not Running, start the Apache Tomcat service.
  • If the Status is Running, proceed to step 2.

1772683257050-138.png

Step 2: Access the URL http://localhost:8080 in Chrome to verify the successful installation of Apache Tomcat:

1772683276276-714.png

5. ActiveMQ Installation​

5.1. Install ActiveMQ​

Step 1: Extract the file "apache-activemq-5.15.1-bin.zip" to the desired installation path.

For example: ACTIVEMQ_PATH = C:\akaBot\apache-activemq-5.15.1

Note: The installation path should not contain any spaces.

1772683661436-911.png

Step 2: Open Command Prompt with Administrator privileges.

1772683666280-827.png

Step 3: Run the file %ACTIVEMQ_PATH%\bin\win64\InstallService.bat to install the ActiveMQ service.

Run command:C:\Windows\System32>C:\akaBot\apache-activemq-5.15.1\bin\win64\InstallService.bat

1772683675431-199.png

Step 4: Start the ActiveMQ service.

1772683706286-756.png

5.2. ActiveMQ Configuration​

Step 1: Stop service ActiveMQ (if running).

Step 2: Open the file %ACTIVEMQ_PATH%\bin\win64\wrapper.conf and configure the parameters:

  • wrapper.java.command: Ensure ActiveMQ uses your installed JDK 17 explicitly to avoid startup failures on Windows:

    wrapper.java.command=%JAVA_HOME%/bin/java.exe
  • wrapper.java.initmemory: Enter the initial value for Java Heap memory in MB (e.g., 1024 for a 32 GB RAM server).

  • wrapper.java.maxmemory: Enter the maximum value for Java Heap memory in MB (e.g., 4096 for a 32 GB RAM server).

1772683859984-889.png

Step 3 (Security Best Practice): Change the default Web Console credentials:

  • Open %ACTIVEMQ_PATH%\conf\jetty-realm.properties in a text editor.
  • Locate the line: admin: admin, admin
  • Replace the default password admin with your secure password: admin: <YOUR_SECURE_PASSWORD>, admin
  • Save and close the file.

Step 4: Start ActiveMQ Service.

1772683706286-756.png

5.3. Check ActiveMQ Installation​

Step 1: Check the Running status of the ActiveMQ service. If it is not running, start the service.

1772683916963-131.png

Step 2: Access the URL http://localhost:8161 to verify the successful installation of ActiveMQ.

1772683932770-904.png

6. akaBot Center Installation​

Tip (for Virtual Machines / Cloud Environments):
If you are deploying on a Virtual Machine (e.g., VMware, Hyper-V) or Cloud instance (e.g., AWS EC2, Azure VM), it is strongly recommended to take a VM Checkpoint / Snapshot at this stage (after successfully installing and verifying JDK, Database, Tomcat, and ActiveMQ).
This allows you to quickly roll back to a clean, working foundation if any configuration issues arise during the akaBot Center setup without needing to reinstall prerequisite services.

Download akaBot-center- 5.x.x.x.war.

6.1. Copy and extract war file​

Step 1: Stop Apache Tomcat service

1772684035957-533.png

Step 2: Delete all folders in %TOMCAT_PATH%/webapps.

1772684090590-522.png

Step 3: Copy the file akaBot-center-x.x.x.x.war to the %TOMCAT_PATH%/webapps/ directory and rename it to ROOT.war.

1772684241741-811.png

Step 4: Restart the Apache Tomcat service and wait for the ROOT.war to be extracted into the ROOT directory.

1772684338178-158.png

Step 5: Stop the Apache Tomcat service.

6.2. akaBot Center configuration​

6.2.1. Config quartz.properties​

Step 1: Stop the Apache Tomcat service (if the Apache Tomcat service is currently running).

Step 2: Modify the configuration in the file %TOMCAT_PATH%/webapps/ROOT/WEB-INF/classes/quartz.properties as follows:

1. Comment out the jobstore configuration for MSSQL.

1772684502932-217.png

2. Remove the "#" character at the beginning of the line for the jobstore configuration for MySQL to uncomment it.

1772684455566-665.png

6.2.2. Configure the MySQL Database Connection​

Step 1: Navigate to the path %TOMCAT_PATH%/webapps/ROOT/WEB-INF/classes/config/

Step 2: Modify the configuration in both files: application-dev.yml and application-prod.yml

Remove the # characters at the beginning of the lines to uncomment the configuration and enable MySQL usage. Add the "#" characters at the beginning of the lines to comment out the configuration and disable MSSQL.

  • application-dev.yml

1772684685833-327.png

1772684723990-896.png

  • application-prod.yml

1772684898397-553.png

1772684921533-479.png

Save files after configuring.

6.2.3. Log setting​

  1. Open the file %TOMCAT_PATH%/webapps/ROOT/WEB-INF/classes/logback-spring.xml

  2. Change the log level to ERROR

  3. Change the setting in rolling log file as below:

  • maxFileSize: Limit the size of each file. Ex: 200MB.
  • maxHistory: The optional maxHistory property controls the maximum number of archive files to keep. Ex: 20
  • totalSizeCap: The optional totalSizeCap property controls the total size of all archive files. Ex: 20GB

1772685022797-670.png

  1. Save changes and close file

  2. Start the Apache Tomcat service and access http://localhost:8080/ to verify the installation of akaBot Center.

1772685097464-483.png

  1. Log in using the following credentials:
  • username: admin
  • password: admin
  • You will be redirected to the dashboard as shown below.

1772692638876-773.png

7. Troubleshooting​

7.1. ActiveMQ​

7.1.1. Unable to execute Java command​

  • Open the file %ACTIVEMQ_PATH%\bin\win64\wrapper.conf and configure the parameter:

wrapper.java.command=%JAVA_HOME%/bin/java.exe

1772693674300-402.png

7.1.2. Other Errors​

Please check the error details in the log file of ActiveMQ: %ACTIVEMQ_PATH%\logs\data\wrapper.log

8. Backup and Disaster Recovery​

To ensure business continuity, minimize downtime, and meet compliance requirements, a robust backup and disaster recovery strategy must cover what to back up, frequency and retention, and how to restore.

8.1. Strategy Selection by Infrastructure Capability​

Choose your backup method based on your infrastructure capabilities rather than physical location:

  • Method A: Snapshot-based Backup (Recommended for Snapshot-capable Infrastructure):
    Applies to environments with a snapshot/checkpoint layer — including Cloud platforms (AWS EC2, Azure VM, GCP) and on-premises virtualization platforms (VMware vSphere, Hyper-V, Nutanix).
  • Method B: File & Database-level Backup (For Physical / Non-snapshot Environments):
    Applies to bare-metal physical servers or environments requiring granular off-site archiving and secondary storage copies.

8.2. Method A: Snapshot-based Backup (Cloud / Virtual Machines)​

If your infrastructure supports disk snapshots or machine images:

  1. Center & ActiveMQ Server (VM / EC2 Instance):
    • Take regular snapshots or AMIs covering all attached storage volumes.
    • Important (ActiveMQ Data Persistence): Ensure the volume housing the ActiveMQ data directory (%ACTIVEMQ_PATH%\data) is included in the snapshot scope. If ActiveMQ data resides on a separate volume and is omitted from the snapshot, in-flight message queue states will be lost upon recovery.

  2. Database (Cloud Managed / Virtualized Database):
    • For managed databases, enable Automated Daily Backups with Point-In-Time Recovery (PITR) (recommended retention: 7 to 35 days).
    • For self-hosted MySQL on VMs, schedule daily VM/volume-level snapshots in addition to native MySQL binary log backups.
    • Always trigger a manual snapshot prior to any version upgrade or database migration.
  3. Shared File Storage:
    • If using shared network storage (e.g., AWS EFS, Amazon FSx, NFS/SMB NAS) for .nupkg packages across multiple nodes, configure automated daily snapshot or backup policies (e.g., via AWS Backup).

8.3. Method B: File & Database-level Backup Checklist​

For bare-metal physical servers or secondary off-site backup archiving, follow this backup schedule:

NoComponentPath / LocationRecommended FrequencyRetention PolicyDescription
1akaBot CenterMySQL Database (aka_orchestrator by default)Daily full dump + Hourly binary log30–90 daysDatabase (MySQL) of akaBot Center. Export .sql dump.
%TOMCAT_PATH%\filestorageDaily incremental sync30 daysFolder containing .nupkg files from akaBot Studio published to akaBot Center. Use incremental/differential sync.
%TOMCAT_PATH%\webapps\ROOT\WEB-INF\classes\config\application.ymlOn change / WeeklyIndefiniteBase configuration file for akaBot Center.
%TOMCAT_PATH%\webapps\ROOT\WEB-INF\classes\config\application-dev.ymlOn change / WeeklyIndefiniteDevelopment configuration file for akaBot Center.
%TOMCAT_PATH%\webapps\ROOT\WEB-INF\classes\config\application-prod.ymlOn change / WeeklyIndefiniteProduction configuration file for akaBot Center (overrides application.yml in prod profile).
%TOMCAT_PATH%\webapps\ROOT\WEB-INF\classes\config\quartz.propertiesOn change / WeeklyIndefiniteQuartz job scheduler database connection and thread configuration.
%TOMCAT_PATH%\webapps\ROOT\WEB-INF\classes\license\license.licOn initial & renewalIndefiniteLicense activation file for akaBot Center.
2ActiveMQ%ACTIVEMQ_PATH%\dataDaily7–14 daysActiveMQ message queue persistence directory.

Application Configuration Files & Spring Profile Precedence:​

Located in %TOMCAT_PATH%\webapps\ROOT\WEB-INF\classes\config\:

  • application.yml: Base configuration containing common framework defaults.
  • application-prod.yml: Primary source of truth for Production. When Center runs with the production profile (-Dspring.profiles.active=prod), settings in this file override the base application.yml.
  • application-dev.yml: Used strictly for development/debugging environments.
  • quartz.properties: Job scheduler database and thread pool settings.

9. Activate Licenses​

Please follow the instruction via Activation