Installing Acunetix on Docker

When installing on Docker, you need to pay attention to the port numbers that Acunetix will use. By default, Acunetix will use port 3443 to listen for requests for the user interface and port 7880 to listen for incoming AcuSensor data.

IMPORTANT: The Acunetix installer cannot function behind a proxy. However, once Acunetix is installed, it operates normally and is compatible with being behind a proxy.

If your intention is to install additional worker engines on the same Docker host, you will need to plan your setup to avoid port conflicts. For example, if you intend to have 1 main engine and 2 worker engines, your containers' port numbers could look like this:

Main Engine

Worker 1

Worker 2

Container Name

axmain

axworker1

axworker2

Backend Port

3443

3444

3445

AcuSensor Bridge Port

7880

7881

7882

The following information will be based on this example setup, and with the assumption that the Docker machine has IP address 192.168.5.142. In this document you can find information about:

NOTE: It is recommended that you use a separate data volume for your main Acunetix installation. If your Acunetix installation was installed without a separate data volume, you can convert your setup to use one by following the instructions in the section below entitled Backup and Restore of Acunetix Data from the Docker Main Engine Container.

Installing Acunetix on Docker with browser-based configuration

Main Engine

How to create a volume for Acunetix data

  1. On your Docker host command line, run the following:

docker volume create acunetix-data

How to create your Acunetix container

  1. On your Docker host command line, run the following (replacing the hostname with your value):

docker run -d -p 3443:3443 -p 7880:7880 \

  --name "axmain" \

  -v acunetix-data:/home/acunetix/.acunetix \

  invicti/acunetix \

  --hostname 192.168.5.142

  1. Point your browser to the docker machine on port 3443 — in this example https://192.168.5.142:3443
  2. Set the Installation type field to Main Installation.
  3. Set the Email field to your email address and insert your full name in the Name field.
  4. Ensure the Hostname field is set to a valid hostname or IP Address for the docker container (typically the same as for the docker host).
  5. Enter your desired password in the Password field and confirm it in the Confirm Password field.
  6. Enter your License key.
  7. Enable the checkbox labeled I Agree with the license terms.
  8. Click Submit.
  9. The installer will now download the installer, complete the installation and license activation, and take you to the main Acunetix user interface.

Worker Engine 1

  1. On your Docker host command line, run the following:

docker run -d -p 3444:3444 -p 7881:7881 \

  --name "axworker1" invicti/acunetix \

  --backend-port 3444 --bridge-port 7881 \

  --hostname 192.168.5.142 --engineonly

NOTE: We are specifying custom port numbers to avoid port conflicts as described in the table above.

  1. Point your browser to the docker machine on port 3444 — in this example https://192.168.5.142:3444

  1. Set the Installation type field to Engine only installation.
  2. Set the Email field to your email address and insert your full name in the Name field.
  3. Ensure the Hostname field is set to a valid hostname or IP Address for the docker container (typically the same as for the docker host).
  4. Enter your License key.
  5. Enable the checkbox labeled I Agree with the license terms.
  6. Click Submit.
  7. The installer will now download the installer, complete the installation and license activation, and take you to the worker configuration page.
  8. Click Configure Now.

  1. Configure the worker to integrate with the main engine:
  1. Set the Unique name for this instance field — in this example you will set the name to axworker1.
  2. Set the Address of the main installation field — in this example you will set it to https://192.168.5.142:3443 (3443 is the port number for the main installation).
  3. Click Register.

  1. This completes the configuration on the worker — all that is left is to await confirmation from the main installation.

  1. Navigate to the main installation — in this example the main installation is on https://192.168.5.142:3443
  2. Click Engines in the side menu.

  1. The Engines list will show your new axworker1 installation pending authorization — click Authorize to complete the procedure.

  1. Navigate back to the axworker1 user interface on https://192.168.5.142:3444

  1. The axworker1 user interface will show it is now registered and connected to the main installation.

Worker Engine 2

For the second worker, follow the same procedure as for axworker1, substituting as necessary for the different instance name and port numbers. In this example, therefore, the docker run command would read as follows:

docker run -d -p 3445:3445 -p 7882:7882 \

  --name "axworker2" invicti/acunetix \

  --backend-port 3445 --bridge-port 7882 \

  --hostname 192.168.5.142 --engineonly

Installing Acunetix on Docker with Docker Command Line Configuration

Main Engine

How to create a volume for Acunetix data

  1. On your Docker host command line, run the following:

docker volume create acunetix-data

How to create your Acunetix container

  1. On your Docker host command line, run the following:

docker run -d -p 3443:3443 -p 7880:7880 \

  --name "axmain" \

  -v acunetix-data:/home/acunetix/.acunetix \

  invicti/acunetix \

  --hostname "10.10.4.95" \

  -l \

  -m "webmaster@acunetixexample.com" \

  --password "123Letmein55%" \

  --license-key "A1B2-C3D4-E5F6-G7H8" \

  --name "Web Master" \

  --silent

  1. Point your browser to the docker machine on port 3443 — in this example https://192.168.5.142:3443
  2. This will show the Log in page, which means that the installation and license activation are complete.

Worker Engine 1

  1. On your Docker host command line, run the following:

docker run -d -p 3444:3444 -p 7881:7881 \

  --name "axworker1" invicti/acunetix \

  --hostname "192.168.5.142" \

  --backend-port 3444 --bridge-port 7881 \

  --engineonly -l \

  -m "webmaster@acunetixexample.com" \

  --password "123Letmein55%" \

  --license-key "A1B2-C3D4-E5F6-G7H8" \

  --name "Web Master" --silent

NOTE: We are specifying custom port numbers to avoid port conflicts as described in the table above.

  1. Point your browser to the docker machine on port 3444 — in this example https://192.168.5.142:3444
  2. You will be taken to the worker configuration page. Click Configure Now.

  1. Configure the worker to integrate with the main engine:
  • Set the Unique name for this instance field — in this example you will set the name to axworker1
  • Set the Address of the main installation field — in this example you will set it to https://192.168.5.142:3443 (3443 is the port number for the Main Installation).
  • Click Register.

  1. This completes the configuration on the worker. All that is left is to wait for confirmation from the main installation.

  1. Navigate to the main installation — in this example the main installation is on https://192.168.5.142:3443
  2. Click Engines in the side menu.

  1. The Engines list will show your new axworker1 installation pending authorization. Click Authorize to complete the procedure.

  1. Navigate back to the axworker1 user interface on https://192.168.5.142:3444

  1. The axworker1 user interface will show it is now registered and connected to the main installation.

Worker Engine 2

For the second worker, follow the same procedure as for axworker1, substituting as necessary for the different instance name and port numbers. In this example, therefore, the docker run command would read as follows:

docker run -d -p 3445:3445 -p 7882:7882 \

  --name "axworker2" invicti/acunetix \

  --hostname "192.168.5.142" \

  --backend-port 3445 --bridge-port 7882 \

  --engineonly -l \

  -m "webmaster@acunetixexample.com" \

  --password "123Letmein55%" \

  --license-key "A1B2-C3D4-E5F6-G7H8" \

  --name "Web Master" --silent

Backup and Restore Acunetix Data from the Docker Main Engine Container

How to backup Acunetix data from the current Acunetix container

If you wish to backup your Acunetix data for eventually restoring it into a new container, perform the following steps on the Docker host:

  1. Create a folder to store your backup and adjust permissions on the folder.

mkdir /axbak

chmod 777 /axbak

  1. Stop the main Acunetix container.

docker stop axmain

  1. Create the backup archive.

docker cp -a axmain:/home/acunetix/.acunetix - > /axbak/acunetix-backup.tar

  1. Rename the old container for safety.

docker rename axmain axmain-old

Restore Acunetix data to a new Acunetix container

To restore the backup data into a new Acunetix container, perform the following steps on the Docker host:

  1. Create a new data volume.

docker volume create acunetix-data

  1. Create a new Acunetix container using the new data volume and the same ports as the previous container to match the settings in the backup archive.

docker run -d -p 3443:3443 -p 7880:7880 \

  --name "axmain" \

  -v acunetix-data:/home/acunetix/.acunetix \

  invicti/acunetix \

  --hostname 192.168.5.142

  1. Stop the new Acunetix container.

docker stop axmain

  1. Restore the archived data into the new data volume.

docker cp - axmain:/home/acunetix < /axbak/acunetix-backup.tar

  1. Start the new Acunetix container.

docker start axmain

 

« Back to the Acunetix Support Page