Jump to content

Logistack Requirements: Difference between revisions

From Logistack
Line 64: Line 64:
== HTTPS and security ==
== HTTPS and security ==
* Enforce HTTPS (TLS 1.2+).
* Enforce HTTPS (TLS 1.2+).
* Consider HSTS after confirming HTTPS is stable across the site.
* Keep OS, web server, PHP, database, and extensions up to date.
* Keep OS, web server, PHP, database, and extensions up to date.



Revision as of 04:01, 7 October 2025

LogiStack Pro — Server Requirements

This page lists supported environments and sizing guidance for running LogiStack Pro (web app, customer portal, admin).

Summary

  • Application stack: PHP + MySQL or MariaDB on Apache or Nginx
  • Operating system: Linux preferred (Ubuntu/Debian/Alma/Rocky); Windows Server possible
  • Access: HTTPS required; SMTP needed for outbound mail
  • Storage: Local disk for POD images and invoice PDFs; delivery videos are hosted externally and linked

Minimum (dev or small single site)

  • Web server: Apache 2.4+ or Nginx 1.18+
  • PHP: 8.1+ (8.2/8.3 recommended)
  • Database: MySQL 8.0+ or MariaDB 10.5+
  • CPU and RAM: 1 vCPU, 1–2 GB RAM
  • Disk: 10–20 GB
  • TLS: Valid HTTPS certificate
  • Mail: Authenticated SMTP account
  • OS: Ubuntu LTS (22.04 or 24.04) or equivalent
  • Web server: Nginx with PHP-FPM, or Apache 2.4 with PHP-FPM
  • PHP: 8.2+ with OPcache enabled
  • Database: MySQL 8.0.34+ or MariaDB 10.6+ (local or managed)
  • CPU and RAM: 2–4 vCPU, 4–8 GB RAM (scale with drivers and customers)
  • Disk: 50–100 GB SSD (separate volume for /uploads)
  • Backups: Daily database dumps and file snapshots (retain 30 days)
  • Monitoring: Uptime, disk usage, and error log alerts

Required PHP extensions

  • pdo_mysql
  • mbstring
  • intl
  • openssl
  • curl
  • json
  • fileinfo
  • zip
  • gd or imagick
  • opcache

Suggested php.ini settings

memory_limit = 256M
upload_max_filesize = 32M
post_max_size = 32M
max_execution_time = 60
expose_php = Off
date.timezone = Europe/London
session.cookie_httponly = 1
session.cookie_secure = 1
opcache.enable = 1

Database settings

  • Engine: MySQL 8.0+ or MariaDB 10.5+
  • Charset and collation: utf8mb4 / utf8mb4_unicode_ci
  • Grant a least-privilege application user to the app database.

Email (SMTP)

  • Required for sending invoice PDFs and notifications.
  • Needs host, port, username, password, and TLS (typically port 587 or 465).

HTTPS and security

  • Enforce HTTPS (TLS 1.2+).
  • Keep OS, web server, PHP, database, and extensions up to date.

Cron jobs (recommended)

  • Nightly database backup
  • Log rotation
  • Optional: mail retry queue and temporary file cleanup

Example crontab line (02:15)

15 2 * * * /usr/bin/mysqldump -ulogistack -p'***' logistack | gzip > /backups/logistack-$(date +\%F).sql.gz

Firewall and ports

  • Inbound: 80 (HTTP) and 443 (HTTPS)
  • Outbound: 443 for SMTP/API endpoints and video embeds
  • Restrict SSH (22) to admin IPs only

Sizing notes

  • POD images: approx. 0.3–1.5 MB each
  • Invoice PDFs: approx. 30–300 KB each
  • Start with 50–100 GB for /uploads; review quarterly

Troubleshooting

  • Blank page or 500: check web server and PHP error logs; confirm required PHP extensions.
  • Upload failures: increase upload_max_filesize and post_max_size; verify folder permissions.
  • Emails not sending: verify SMTP credentials and connectivity; try port 587 with TLS.
  • Thumbnails not generating: confirm gd