Deployment guide

OpenSTAManager

Overview

OpenSTAManager is an open-source, web-based management suite for small and medium businesses that run technical assistance or field service. It covers customer and supplier registries, service interventions, quotes, sales and purchase documents, electronic invoicing, warehouse stock and the accounting that ties them together.

This SecureAnyCloud image installs OpenSTAManager 2.10.4 on a full LAMP stack from the Ubuntu 24.04 repositories (nginx, PHP 8.3-FPM and MariaDB). The database schema is built and the appliance is initialised at build time, so there is no web setup wizard to complete. A small demo customer registry means a new VM shows a populated interface immediately.

What you get:

  • OpenSTAManager 2.10.4 served on port 80 by nginx through the PHP 8.3-FPM FastCGI socket
  • The full database schema, built with OpenSTAManager's own installer, plus a demo customer registry
  • MariaDB on loopback, with its data directory on a dedicated Azure data disk
  • A dedicated Azure data disk at /var/lib/openstamanager for the database and uploaded documents
  • A per-VM database password, administrator account and Laravel application key, all rotated on the first boot of every VM
  • nginx.service, php8.3-fpm.service and mariadb.service as enabled, active systemd units
  • 24/7 SecureAnyCloud support

Prerequisites

You need an active Azure subscription, an SSH key pair, and a VNet with a subnet in the target region.

Standard_B2s (2 vCPU / 4 GiB RAM) is a good starting size.

Configure the network security group (NSG) to allow inbound 22/tcp from your management network and 80/tcp for the OpenSTAManager web interface. For public exposure, put TLS in front of the interface (see Step 11).

Step 1 - Deploy from the Azure Marketplace

Sign in to the Azure Portal, choose Create a resource, search the Marketplace for OpenSTAManager by SecureAnyCloud, and select Create.

On the Basics tab, pick your subscription, resource group, region and size. Under Administrator account, choose SSH public key and paste your key. Under Inbound port rules, allow SSH (22) and HTTP (80).

Review the dedicated data disk on the Disks tab, then select Review + create and Create.

Step 2 - Deploy with the Azure CLI

# Accept the Marketplace terms once per subscription (required before the first CLI deploy)
az vm image terms accept --urn sac1647283583153:openstamanager-ubuntu-24-04:default:latest
az vm create \
  --resource-group <your-rg> --name openstamanager \
  --image sac1647283583153:openstamanager-ubuntu-24-04:default:latest \
  --size Standard_B2s \
  --admin-username azureuser \
  --ssh-key-values ~/.ssh/id_ed25519.pub \
  --vnet-name <your-vnet> --subnet <your-subnet> \
  --public-ip-sku Standard
az vm open-port --resource-group <your-rg> --name openstamanager --port 80 --priority 1010

Step 3 - Connect to your VM

Connect over SSH as azureuser:

ssh azureuser@<vm-public-ip>

Step 4 - Confirm the stack is running

On first boot, OpenSTAManager rotates its database password, resets the administrator account to a fresh per-VM password, regenerates the Laravel application key and starts the stack. Check that the three services are active:

systemctl is-active mariadb php8.3-fpm nginx

All three report active. Next, confirm the component versions and that the application answers on port 80. MariaDB is bound to loopback only.

php -v | head -1 mariadb --version curl -s -o /dev/null -w 'HTTP %{http_code}\n' http://127.0.0.1/

The sign-in page returns HTTP 200.

Step 5 - Retrieve the administrator password

Each VM generates its own administrator account on first boot. Read the credentials file as root:

sudo cat /root/openstamanager-credentials.txt

The file is 0600 root:root. It records the login (admin), a unique administrator password, and the database name, user and password. All values are unique to your VM. Change the administrator password from the interface after your first sign-in.

Step 6 - Sign in

Browse to http://<vm-public-ip>/ and sign in with admin and the password from the credentials file.

After you sign in, you land on the dashboard. It is the control centre for customers, interventions, quotes, invoices, warehouse and accounting.

The interface ships primarily in Italian. OpenSTAManager is an Italian-origin suite with built-in support for the Italian electronic-invoicing standard. To review the available interface languages, open Strumenti after signing in.

Step 7 - Manage the customer and supplier registry

Open Anagrafiche to see the registry of customers, suppliers, technicians and carriers. The image ships with a small demo customer registry, so the module is populated on first boot. From here you can add, edit and filter records.

Step 8 - Quotes, interventions and invoicing

Open Vendite to manage quotes (Preventivi), contracts and sales invoices (Fatture di vendita), including Italian electronic invoicing (the FE plugins). Manage service interventions under Attività and purchases under Acquisti.

Step 9 - Verify that configuration and internals are not web-served

The database credential (config.inc.php) and the Laravel application key (.env) are stored outside the web-served path, and HTTP requests for them are denied. Application internals, such as the Composer vendor/ tree and the SQL schema under update/, are not reachable from a browser. MariaDB listens on loopback only.

Request each path and check the status code:

for p in /config.inc.php /.env /vendor/autoload.php /update/2_0.sql; do printf '%-24s HTTP %s\n' "$p" "$(curl -s -o /dev/null -w '%{http_code}' -m 10 http://127.0.0.1$p)" done

Each path returns 403 (denied), while / returns 200.

Step 10 - The dedicated data disk

The MariaDB database and OpenSTAManager's uploaded documents live on a dedicated Azure data disk mounted at /var/lib/openstamanager, separate from the OS disk. Your business data stays independent of the OS image, and you can resize the disk as your data grows. Confirm the mount and the MariaDB data directory:

df -h /var/lib/openstamanager findmnt /var/lib/openstamanager mysql -N -B -e "SELECT @@datadir" 2>/dev/null || sudo mysql -N -B -e "SELECT @@datadir"

Step 11 - Enabling HTTPS

For any public deployment, put TLS in front of OpenSTAManager. Point a DNS A record at your VM's public IP, then install a certificate with Certbot and the nginx plugin. Run these steps on your VM and use your own domain and contact email:

  • Install Certbot: sudo apt-get update && sudo apt-get install -y certbot python3-certbot-nginx
  • Run Certbot with the nginx plugin for your-domain.example.com. Supply your contact email when prompted. Certbot obtains and installs the certificate.
  • No OpenSTAManager configuration change is required. It derives its base URL from the request, so it answers on https:// as soon as TLS is terminated in front of it.

Certbot installs a renewal timer automatically, so certificates renew without further action.

Step 12 - Maintenance

  • Updates: the OS keeps receiving unattended security updates. To update OpenSTAManager itself, replace the application files with a newer release. Its built-in updater then applies any database migrations on the next visit.
  • Backups: back up the MariaDB openstamanager database (for example with mysqldump) and the /var/lib/openstamanager/files directory. Together they hold your business data and uploaded documents.
  • Logs: web server logs are under /var/log/nginx/. PHP-FPM logs are in /var/log/php8.3-fpm.log.

Support

SecureAnyCloud maintains this image and backs it with 24/7 support. For help deploying or operating OpenSTAManager on Azure, contact the SecureAnyCloud team through the SecureAnyCloud website.

Deploy on Azure

Launch OpenSTAManager 2.10 on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.

View this image

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on Azure