Jump to content

Installation Guide: Difference between revisions

From Logistack
Created page with "= LogiStack Pro — Installation Guide = This guide covers a fresh install of LogiStack Pro on a Linux web server with PHP and MySQL/MariaDB. == 1) Prerequisites == * Web server: Apache 2.4+ or Nginx 1.18+ with PHP-FPM * PHP: 8.1+ (8.2/8.3 recommended) with required extensions: pdo_mysql, mbstring, intl, openssl, curl, json, fileinfo, zip, gd (or imagick), opcache * Database: MySQL 8.0+ or MariaDB 10.5+ * Shell access to create database and set file permissions * A dom..."
 
 
(9 intermediate revisions by the same user not shown)
Line 11: Line 11:


== 2) Obtain the application ==
== 2) Obtain the application ==
* Place the application files under your web root, for example:
* Upload the zipped file (.zip) provided after purchase to your web root and unpack, if your host asks you to add to new folder, move back to root and delete the zipped file.
  * /var/www/logistack (or your hosting account’s web directory)
* Directory layout (example):
<pre>
/var/www/logistack/
  assets/
  customer/
  includes/
  pro/
  uploads/
    invoices/
    pod/
  index.php
</pre>


== 3) Create the database ==
== 3) Create the database ==
* Create a database and a user with privileges:
* Create a database at your hosting provider's control panel and keep a record of the username, database name and password.
<pre>
CREATE DATABASE logistack DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'logistack'@'%' IDENTIFIED BY 'strong-password';
GRANT ALL PRIVILEGES ON logistack.* TO 'logistack'@'%';
FLUSH PRIVILEGES;
</pre>


* If you have a schema SQL file, import it now. Otherwise create the minimal tables you need (users, customers, jobs, job_pod_files, invoices, settings). Example minimal cores:
== 4) Run the Installer ==
<pre>
* Point the browser at <nowiki>https://your-site.com/install/index.php</nowiki>
-- settings (key/value store)
CREATE TABLE IF NOT EXISTS settings (
  k VARCHAR(64) PRIMARY KEY,
  v TEXT NOT NULL,
  updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


-- users (unified auth with roles)
== 5) Installer Video ==
CREATE TABLE IF NOT EXISTS users (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(120) NOT NULL,
  email VARCHAR(190) NOT NULL UNIQUE,
  password_hash VARCHAR(255) NOT NULL,
  role ENUM('admin','manager','supervisor','superuser','staff','driver','customer') NOT NULL DEFAULT 'staff',
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


-- customers (linked to users for role=customer)
Watch video full screen for better clarity, and hit the gear icon to set quality to 1080 HD.
CREATE TABLE IF NOT EXISTS customers (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  user_id INT UNSIGNED NULL UNIQUE,
  company VARCHAR(190) NOT NULL,
  contact_name VARCHAR(190) NOT NULL,
  email VARCHAR(190) NOT NULL,
  phone VARCHAR(40) NULL,
  billing_address TEXT NULL,
  FOREIGN KEY (user_id) REFERENCES users(id) ON UPDATE CASCADE ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


-- jobs
<youtube>MbLNM7EdKjE</youtube>
CREATE TABLE IF NOT EXISTS jobs (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  customer_id INT UNSIGNED NOT NULL,
  driver_id INT UNSIGNED NULL,
  pickup_address TEXT NOT NULL,
  drop_address TEXT NOT NULL,
  price DECIMAL(10,2) NULL,
  status VARCHAR(40) NOT NULL DEFAULT 'open',
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  delivered_at TIMESTAMP NULL,
  video_url VARCHAR(500) NULL,
  FOREIGN KEY (customer_id) REFERENCES customers(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
-- POD files
CREATE TABLE IF NOT EXISTS job_pod_files (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  job_id INT UNSIGNED NOT NULL,
  driver_id INT UNSIGNED NULL,
  file_path VARCHAR(255) NOT NULL,
  uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (job_id) REFERENCES jobs(id) ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
-- invoices (basic)
CREATE TABLE IF NOT EXISTS invoices (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  job_id INT UNSIGNE_

Latest revision as of 06:27, 7 October 2025

LogiStack Pro — Installation Guide

This guide covers a fresh install of LogiStack Pro on a Linux web server with PHP and MySQL/MariaDB.

1) Prerequisites

  • Web server: Apache 2.4+ or Nginx 1.18+ with PHP-FPM
  • PHP: 8.1+ (8.2/8.3 recommended) with required extensions: pdo_mysql, mbstring, intl, openssl, curl, json, fileinfo, zip, gd (or imagick), opcache
  • Database: MySQL 8.0+ or MariaDB 10.5+
  • Shell access to create database and set file permissions
  • A domain or hostname with HTTPS available

2) Obtain the application

  • Upload the zipped file (.zip) provided after purchase to your web root and unpack, if your host asks you to add to new folder, move back to root and delete the zipped file.

3) Create the database

  • Create a database at your hosting provider's control panel and keep a record of the username, database name and password.

4) Run the Installer

  • Point the browser at https://your-site.com/install/index.php

5) Installer Video

Watch video full screen for better clarity, and hit the gear icon to set quality to 1080 HD.