📄 Document Management System

Last Updated: June 18, 2025

Getting Started

Welcome to the official documentation for the AI-powered Document Management System. This guide is designed to help you navigate every aspect of the platform — from initial installation to ongoing updates, configuration, and deployment. You'll find step-by-step instructions for setting up the system, managing file storage (including Amazon S3 integration), enabling advanced features like OpenAI-powered document generation, and customizing your environment for development or production use. Whether you're a system administrator or a developer, this documentation will serve as your go-to resource for installing, configuring, maintaining, and scaling the platform efficiently and securely.

The AI-powered Document Management System is a powerful, all-in-one platform designed to simplify how organizations handle, store, and share documents. It supports a wide range of file types including Microsoft Office documents, PDFs, images, audio, video, and more, with built-in preview capabilities. Seamlessly integrated with Amazon S3 and local storage, it ensures flexibility and scalability in document storage. Users can categorize documents, manage metadata, track versions, archive inactive files, and even request documents securely from external parties. The system also includes detailed audit trails to maintain transparency across all actions such as creation, updates, sharing, downloads, and more.

Built with productivity and compliance in mind, the platform offers OpenAI-powered document generation, deep text-based search, secure sharing via encrypted links, and automated reminders for important deadlines. With role-based access control, email integration, multilingual support, and a fully customizable interface, it adapts to diverse organizational needs. Whether you're generating content, managing compliance, or collaborating across departments, this system provides the tools and automation needed to streamline your entire document lifecyclesecurely and efficiently.

Requirements

PHP Version

Document Management System minimum required PHP version: >= 8.2.

MySQL

Document Management System requires MySQL version: >= 5.6.
Recommended MySQL version: >= 5.7.

PHP Extensions

  • pdo_mysql
  • json
  • ctype
  • filter
  • hash
  • mbstring
  • openssl
  • session
  • tokenizer
  • fileinfo
  • date
  • pcre
  • spl
  • dom
  • xml
  • phar
  • xmlwriter
  • curl
  • pdo_mysql
  • pdo_sqlite
  • sqlite3

Recommended PHP Extensions

The extensions listed below are not required during installation, however, if you want to use specific features after installation, you will need to enable them, for example the "zip" extension gives you the ability to perform 1 click update and apply patches.
  • zip

PHP Memory Limit

Document Management System requires at least 128 MB PHP memory limit.

Browser Support

Document Management System supports the most recent versions of the following browsers:
  • Google Chrome
  • Apple Safari
  • Microsoft Edge
  • Mozilla Firefox

Cron Job

cron is a Linux utility that schedules a command or script on your server to run automatically at a specified time and date. A cron job is the scheduled task itself. Cron jobs can be very useful to automate repetitive tasks.
Your web server must support configuring cron jobs, in order, Document Management System features to work properly, after installation, please make sure to check the cron job guide to get familiar on how to configure the cron job required by the application.
See the cron job setup guide for more info.

Domain Name

Your server where you will be installing Document Management System must have domain name, you can't use the server IP-address to access your Document Management System installation, it must be accessed via the domain name.

Installation

Document Management System has its own web installer that will help you to perform the installation in a few steps without touching any code or modifying any files.

As Document Management System is using Laravel, and Laravel requires the root of Document Management System to be pointed at the /public path, in this case, the easiest way to install Document Management System is on a subdomain that points to subdomain folder /public path.

Make sure that you checked the requirements page before installation.

Below, you can find installation video for cPanel, watch the video tutorials to get familiar with the installation steps and learn how easy is to install Document Management System.

Create Subdomain

You will need to create a subdomain for your installation, for example,

https://docs.yourdomain.com

  • Login to cPanel.
  • Find the Subdomains section.
  • Create a subdomain, for example, docs.yourdomain.com and make sure to set the Document Root option to path public.

Upload Files

If you did not created subdomain as explained in the previous step and you want to install Document Management System on a subfolder it won't work, you will need to consult with your hosting provider create a virtual host pointing the the root path to subfolder

In order to proceed with the web installer, you will first need to download the release archive files from your Document Management System account releases page or your Envato account downloads page.

For the sake of this example, assuming that you created subdomain with name "docmgt" and the path is public_html/docmgt/ upload the files to the public_html/docmgt folder.

Create Database

For additional information on how to create a database, see the installation video above.

Create a brand new database that will be used only for the Document Management System installation.

  1. Login to cPanel by accessing www.yourdomain.com/ cpanel.
  2. Look for the Databases section, then click MySQL Databases, note that this step may vary and in some hosting providers can be different.
  3. Click Create Database, the new database will appear in the Current Databases section.
  4. Create user and set up the user password. (write down the username and the password because needs to be added later in the installer)
  5. Add the user to the database by selecting the database and the username, make sure you have checked All privileges when adding the user to the database.

Perform Install

Assuming that you have created the subdomain, database and uploaded the files as explained in the previous steps, follow the steps below to begin with the installation process.

wait for couple of minute to update your sub domain if you are not able to access docs.yourdomain.com/install URL.
  • In your browser navigate to e.q. docs.yourdomain.com/install – Make sure to update yourdomain.com according to your domain.
  • If all server requirements passed click Next otherwise consult with your hosting provider to fix/enable them.
  • If all permissions are passed click Next to set up the application data, otherwise you need to set 755 permissionsfor the given folders, in cases where you are managing the server.

General Config

  • App Url
  • Document Management System will automatically try to guess the URL where the application will be installed, in our case now from, this example, the URL is https://docs.yourdomain.com/ ,if the URL is wrong, please adjust it accordingly.

  • Application Name
  • You can leave it as default or you can write your own name, for example, "Document Management"

Configure Database

Add the database config in the installer
  • Hostname
  • Enter database hostname, in most cases, the default hostname is localhost, however, if it's different in your case, make sure to set the correct hostname.

  • Port
  • In most cases, this value will be 3306 as this port is MySQL default port, if you are not familiar with this option for your server, leave it as it is and continue to the next field, where you will need to configure the database name and user you created in the previous step.

  • Database Name
  • Enter the database name.

  • Database User
  • Enter the database username.

  • Database Password
  • Enter the database user password, for local installations and database users without password, leave it empty.

  1. Click Test Connection & Configure and if the database connection is successful you will be passed to the latest step otherwise please re-check your credentials and hostname.
  2. On the next page, configure administrator user and perform the installation.

Configure administrator User

in order to login into system create the administrator user.
  • First Name
  • Enter the first name

  • Last Name
  • Enter the last name.

  • Email Address
  • Enter the email address.

  • Password
  • Enter the user password.

  1. Click Install and the admin user will be created.

Installation Finished Page

After you finish all the installation steps you will be presented with a installation successful screen where there will be information on how to configure cron job as well the guessed command and the path for the cron job.

Don't forget to copy the command/path so you can configure a cron job as explained here.

The installation success page will be available for 1 hour after installation, after 1 hour, when you visit the same URL, a 404 error will be shown.

Nginx Config

If you are managing the server and you are already familiar with Laravel, probably you will know that for Nginx you will need to create separate configuration file so Document Management System can be served.

The examples below are for installation on the root domain, but feel free to adjust the paths for the subdomain if you want to perform an installation on a subdomain.


server {
    listen 80;
    server_name example.com;
    root /example.com/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.html index.htm index.php;
    charset utf-8;

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

    location = /favicon.ico {
        access_log off;
        log_not_found off;
    }

    location = /robots.txt {
        access_log off;
        log_not_found off;
    }

    error_page 404 /index.php;

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

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

Permissions, User And Group

If you are managing the server, you will need to make sure that the proper permissions are applied to all files and folders and also the files and folders belong to the user and group responsible for managing the web server, in most cases is www-data .

Keep in mind that you won't need to apply the commands below if your server is managed by your server provider, for example, shared hosting as the permissions and the group will be already configured for you.

Change all the directories to 755 (drwxr-xr-x):

find /var/www/example.com -type d -exec chmod 755 {} \;

Change all the files to 644 (-rw-r--r--):

find /var/www/example.com -type f -exec chmod 644 {} \;

Change the files and folders user and group

sudo chown www-data:www-data -R /var/www/example.com

Don't forget to adjust the values in the example codes according to your setup.

Activate License

To activate your Production license, please follow the instructions below:

  • Please enter the purchase code from your CodeCanyon account for this item. Click here to find your purchase code.
  • Click on the "Activate License" button below.
  • Login with codecanyon purchase account or already login then click on approve.
  • A token has been generated.
  • The system will redirect you to the login page. Kindly login again to continue.
  • Enjoy full access to all features of AI-Powered Document Management.
  • Important: After activating the production license for a specific domain or sub-domain, token regeneration for another domain or sub-domain will not be permitted.

Update to New Version

  • Download the latest version from CodeCanyon.
  • Double click the downloaded file to extract it.
  • Copy document-management.zip file to the root of your server (same place where files were uploaded during installation).
  • Delete "vendor" directory from your server (So there are no old unused files left from previous versions).
  • Extract the document-management.zip file into the root directory and overwrite old files.
  • Visit www.yourdomain.com/update url and click Update Now button.
  • Once update is completed you will be redirected back to homepage.

Cron Job

cron is a Linux utility that schedules a command or script on your server to run automatically at a specified time and date. A cron job is the scheduled task itself. Cron jobs can be very useful to automate repetitive tasks.

Every modern application with decent features must have cron job configured in order tasks to be executed in the background.

Document Management System requires a properly configured cron job, follow the steps explained below to configure cron job for your installation.

For the examples below, make sure to replace /path/to/docmgt/ with the path to your installation.

On some shared hosting you may need to specify the full path to the PHP executable (for example, /usr/local/bin/php81 or /opt/alt/php81/usr/bin/php instead of php)

Setup Cron Job Via cPanel

Login to cPanel and search for "Cron Job", and add the following cron job command as shown below:

Click on Common Settings and select Once Per Five Minute

php /path/to/docmgt/artisan schedule:run >> /dev/null 2>&1

Setup Cron Job Via SSH

If you are managing the server via SSH, you will need to configure the cron job from the command line, the cron job must be configured for the user responsible for managing the web server, in most cases, it's the www-data user.

sudo crontab -u www-data -e * * * * * php /path/to/docmgt/artisan schedule:run >> /dev/null 2>&1

Setup Cron Job Via Plesk

  • Click Websites & Domains.
  • Click the domain/subdomain you installed Document Management System.
  • Click Scheduled Tasks.
  • Click Add Task.
  • Choose Run a PHP script.
  • In the script path enter your Document Management System installation path and append artisan, for example: /path/to/docmgt/artisan.
  • In the with arguments field enter: schedule:run
  • Use PHP version: 8.2
  • Cron Style: * * * * *

Common Cron Job Commands

Below you can find common cron job commands that are confirmed to work for commonly used hosting providers, in most cases the commands are confirmed by our customers and if your hosting provider is listed below, they should work in your environment as well.

Are you hosting Document Management System on a commonly used hosting provider and you can confirm that the cron job command works perfectly fine? Send us the command via our support area so we can add it here and other customers can benefit from it.

SiteGround

/usr/local/php81/bin/php-cli /path/to/docmgt/artisan schedule:run >> /dev/null 2>&1

Storage Settings

We're excited to announce the latest upgrade to our Document Management system: seamless integration with Amazon S3 storage. With this new feature, users can now enjoy enhanced flexibility and reliability in storing their documents. By leveraging Amazon S3, one of the most trusted cloud storage solutions available, users can upload their documents with confidence, knowing that their data is securely stored and easily accessible whenever they need it. This integration opens up a world of possibilities for efficient document management, allowing users to take advantage of Amazon's scalable infrastructure to handle their growing document storage needs.

In order to configure the Amazon S3 storage, you will need to setup the S3 bucket, and then configure the Document Management System to use the Amazon S3 storage.

Configure Storage(Settings -> Company Profile -> Storage)

  • Amazon S3 key
  • Amazon S3 secret
  • Amazon S3 region
  • Amazon S3 bucket
When transitioning from Local Storage to Amazon S3, all existing files will remain available only on Local Storage. Once Amazon S3 storage is configured, all new files will be stored on Amazon S3. If you decide to change the Amazon S3 settings, the old storage settings files will no longer be accessible.

Open AI Settings

Configure Storage(Settings -> Company Profile -> Open AI API Key)

Troubleshooting

PDF preview

Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec.

This error is caused by the server not serving the PDF file with the correct MIME type. To fix this issue, you will need to add the following code to your server configuration file.

IIS (web.config):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".mjs" mimeType="text/javascript" />
            <mimeMap fileExtension=".ftl" mimeType="text/plain" />
        </staticContent>
    </system.webServer>
</configuration>

NGINX requires this configuration:
http  {
        ...
            types {
                    text/javascript mjs;
                    text/plain ftl;
					text/javascript js;
                }
	  }

APPACHE requires this configuration:

.htaccess file or extend your Apache config file with the following htaccess

<IfModule mod_mime.c>
         AddType text/javascript mjs
         AddType text/plain ftl
</IfModule>
AWS amplify requires this configuration in the amplify.yaml file:
customHeaders:
    - pattern: '*.mjs'
      headers:
        - key: 'Content-Type'
          value: 'application/javascript'
    - pattern: '*.ftl'
      headers:
          - key: 'Content-Type'
            value: 'text/plain'
  

Laravel Error Logs

All backend system errors and exceptions are logged in the following file: storage/logs/laravel.log

You can open this file to review recent errors. The log is especially helpful when debugging issues related to:

  • Database connection problems
  • File permission issues
  • Environment configuration errors (.env)
  • Uncaught exceptions in controllers, services, or middleware

Enable Debug Mode

During development or while troubleshooting, you can enable debug mode in your .env file:

APP_DEBUG=true

Note: Never enable debug mode on a live production server.

Shared Hosting Issues

If you're using shared hosting, ensure:

  • The PHP version meets minimum requirements (>= 8.2)
  • You have pointed the domain or subdomain to the /public directory
  • Required PHP extensions are enabled (see requirements section)
  • Cron jobs are configured correctly via your hosting panel

Check for common shared hosting limitations like disabled symlink support or file permission restrictions.

Apache Logs

Apache errors (including permission errors or misconfigured virtual hosts) are typically found in:

/var/log/apache2/error.log

Ensure mod_rewrite is enabled and your virtual host configuration allows overriding with `.htaccess`.

Nginx Logs

Nginx error logs (useful for Laravel routing or permission issues) are located at:

/var/log/nginx/error.log

Make sure your Nginx server block (site config) points to the /public folder and the correct PHP version is referenced in the fastcgi_pass

Angular Development Errors

When developing the frontend (Angular), open your browser’s developer console (F12) to see errors and warnings. These usually help with:

  • Missing modules or dependencies
  • API request errors (check network tab)
  • Routing or component loading issues

If errors occur during development build, run:

npm install npm start
Still stuck? Contact support or check storage/logs/laravel.log for detailed error messages.

Run Project Locally

Below are the steps to run the project locally.

Deploy Local Changes

Once you have made changes to the project locally, you will need to deploy the changes to the server. Below are the steps to deploy the changes to the server.

  • remove .env file from changes made
  • go to resource -> frontend -> angular
  • run npm run build command which will copy your changes into respective views.
  • remove .angular & node_modules from the angular directory.
  • remove documents from storage -> app -> Documents
  • zip everything and upload to the server.
  • follow the update steps as shown in the video .

Rate Us on CodeCanyon

We hope this documentation has helped you successfully set up and use the AI-powered Document Management System. If you’ve found this product valuable, please consider showing your support by leaving a 5-star rating on CodeCanyon. ⭐⭐⭐⭐⭐

Your positive feedback not only motivates us to keep improving but also helps other users make confident decisions.

If you encounter any issues or need assistance, feel free to reach out through our support portal. We’re here to help!

Change Log

2025 Jun 18 - Version 5.0.0
  • New: Workflow automation.
  • Fix: Bug Fixes & UI improvements.
2025 May 14 - Version 4.0.0
  • New: Open AI Integration.
  • New: Bulk Document Upload.
  • New: Document Status module.
  • New: Detailed Document View.
  • Fix: Bug Fixes & UI improvements.
2025 April 19 - Version 3.1.0
  • New: client module
  • New: request a file from non system user.
  • New: update laravel version
  • New: option to allow dynamicaly document type.
  • New: operation filter in audit trial
  • Fix: deep search permission issue
  • Fix: Email Smtp Setting issue.
  • New: all the permission to assign documents.
  • Fix: enable signed pdf preview
  • Fix: UI improvements.
  • Fix: skip indexing in case of file size more than 3 mb.
2024 Oct 24 - Version 3.0.0
  • New: Deep Document Content Search
  • New: Page help text for each pages
  • Fix: Ofice Viewer with public sharing
  • Fix: Reminder notification
  • Update: UI Design and responsiveness
  • Update: Improve system security
2024 Spet 22 - Version 2.0.4
  • New: Secure Link Sharing with Advanced Access Controls
  • New: Forgot password feature
2024 May 10 - Version 2.0.3
  • New: Archive Document Support
  • New: RTL support
2024 Mar 27 - Version 2.0.2
  • New: Amazon S3 Support
  • New: Language support for reminder frequecy and document audit trail
  • Fix: extension issue while uploading he document
  • Fix: the pagination issue
  • Fix: Parent child category issue in edit document
  • Fix: document audit trail on delete documents
  • Fix: Time zone issue in login audit
  • Fix: document search on Parent Category
2023 Oct 27 - Version 2.0.1
  • Bug Fixes and UI improvements.
2023 Aug 04 - Version 2.0.0
  • New: Add new language support.
  • New: Change Logo, Login Banner Image and title support.
  • Fix: date formate issue.
  • Fix(breaking): fixed the email sending issue. Please make sure you update the smtp setting after finishing the update.
  • Fix: delete user issue.
June 23 - Initial Release