📦 Installation Guide

Follow these steps to install EasySign on your server.

Prerequisites

Before installing, ensure your server meets these requirements:

Requirement Details
PHP Version 8.0 or higher
MySQL/MariaDB Version 5.7 or higher
Web Server Apache with mod_rewrite or Nginx
Composer For installing PHP dependencies
SSL Certificate Required for HTTPS (Let's Encrypt works)

Required PHP Extensions

pdo_mysql    # Database connectivity
openssl      # Encryption features
gd           # Image processing
mbstring     # Multi-byte string support
zip          # ZIP file operations
fileinfo     # MIME type detection
curl         # External API calls

Step-by-Step Installation

Download & Extract

Download the EasySign package and extract it to your web server's public directory.

# Example for Linux
unzip easysign-v1.0.0.zip -d /var/www/html/

Create Database

Create a MySQL database and user for EasySign:

CREATE DATABASE easysign CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'easysign_user'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON easysign.* TO 'easysign_user'@'localhost';
FLUSH PRIVILEGES;

Configure Environment

Copy the example environment file and edit it:

cp .env.example .env
nano .env

Update the database credentials:

DB_HOST=localhost
DB_NAME=easysign
DB_USER=easysign_user
DB_PASS=your_secure_password

ENCRYPTION_KEY=your_64_character_hex_key_here
Important: Generate a unique 64-character hex string for ENCRYPTION_KEY. This is used to encrypt uploaded documents.

Install Dependencies

Run Composer to install PHP packages:

composer install --no-dev --optimize-autoloader

Set Permissions

Ensure the uploads directory is writable:

chmod -R 755 uploads/
chmod -R 755 uploads/ads/
chmod -R 755 uploads/proofs/

Configure Web Server

Point your domain to the EasySign directory. For Apache, ensure .htaccess is being read.

For Nginx, add this to your server block:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Access the Application

Visit your domain in a browser. The database tables will be created automatically on first access.

Register the first user account - this will become the admin.

Post-Installation

Configure Admin Account

After registering, you'll need to manually set your account as admin:

UPDATE users SET role = 'admin' WHERE email = 'your@email.com';

Configure Email (SMTP)

Go to Admin Panel → Global Settings and configure your SMTP settings for email notifications.

Set Up Cron Jobs

For automated reminders and cleanups, add these cron jobs:

# Send signing reminders every hour
0 * * * * php /path/to/easysign/cron/send_reminders.php

# Clean expired sessions daily
0 2 * * * php /path/to/easysign/cron/cleanup.php

cPanel Installation

If you're using cPanel:

  1. Upload the ZIP file via File Manager
  2. Extract to your public_html or a subdomain folder
  3. Create a MySQL database via "MySQL Databases"
  4. Edit .env via File Manager
  5. Run Composer via Terminal or SSH
  6. Ensure PHP version is 8.0+ in "Select PHP Version"

Troubleshooting

Common Issues

Issue Solution
Blank page Check PHP error logs. Usually a missing extension.
Database error Verify credentials in .env file
File upload fails Check uploads/ folder permissions (755)
500 Internal Server Error Check .htaccess and enable mod_rewrite
Styles not loading Clear browser cache, check file paths
Need Help? Check the Support page for contact information.