Requirements
CVN ERP runs on a standard PHP and MariaDB stack. There is no build step, no Node.js, no framework to install and no container required.
Server
| Component | Minimum | Notes |
|---|---|---|
| PHP | 8.4 | With the pdo_mysql, curl, sodium, mbstring, openssl, json and gd extensions |
| Database | MariaDB 10.5 or MySQL 8 | Its own database. The installer can create it |
| Web server | Nginx with PHP-FPM | A complete sample configuration ships in deploy/nginx.conf.example |
| HTTPS | Required | Sign-in cookies are marked Secure, so sessions do not stick over plain HTTP |
| Disk | About 500 MB plus your data | Uploads, backups and logs grow with use |
Any Linux distribution that runs these versions works. The installer checks the PHP version and every extension before it changes anything.
Folder layout
The app needs one writable folder next to the web root, never inside it:
/var/www/your-shop/ <- web root (the app)
/var/www/secure_data/ <- secrets, logs, sessions and backups
secure_data/ holds the secrets file, the backup encryption key, logs and local backups. It must never be reachable from the web. The sample Nginx configuration already blocks it.
Before you start
Have these ready:
- Your licence key. It activates the install and binds it to your domain. See Licensing.
- A domain name pointing at the server, with an HTTPS certificate.
- Database details: host, port, a database name and a user. If the user may create databases, the installer creates it for you.
- Shell access to the server, to read the one-time install code and add the scheduled jobs.
Network
- Ports 80 and 443 open to your staff and customers.
- Outbound HTTPS to the licence server for activation and update checks. If it cannot be reached, the running install is not affected.
- Outbound access to any service you connect: your mail server, Square or Stripe, UPS, Google, an SMS provider or an AI provider.