Skip to content

OpenDocMan - Free PHP Document Management System DMS

License

GPL-2.0, GPL-2.0 licenses found

Licenses found

GPL-2.0
LICENSE.txt
GPL-2.0
COPYING
Notifications You must be signed in to change notification settings

opendocman/opendocman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenDocMan

Free PHP Document Management System DMS

OpenDocMan is a web based document management system (DMS) written in PHP designed to comply with ISO 17025 and OIE standard for document management. It features fine grained control of access to files, and automated install and upgrades.

Features

* Upload files using web browser
* Control access to files based on department or individual user permissions
* Track revisions of documents
* Option to send new and updated files through review process
* Installs on most web servers with PHP
* Set up a reviewal process for all new files

License

  • GPL 2.0

Technologies

  • PHP 7.2, 7.3, 7.4
  • Database: MySQL 5.7+, MariaDB 10.0+

Installation

Setting Up The Database

  • Login to your mysql server
  • create database opendocman;
  • CREATE USER 'opendocman'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOURPASSWORDHERE';
  • GRANT ALL PRIVILEGES ON opendocman.* TO 'opendocman'@'YOURDBHOSTNAME';

Deploying The App

Installing via Docker

Installing via Docker is the easiest option. This will run the database and app inside a docker-compose deployment. The docker-configs folder and the files-data folder will be created to persist when you stop/start/update your docker-compose deployment.

  1. Ensure you have a Docker service available
  2. docker up -d --build

Installing to a web server (Automatic)

  1. Untar/Unzip files into any dir in your web server document home folder

  2. Create a MySQL database/username/password

  3. Make a directory for the uploaded documents to be stored that is accessible to the web server but not available by browsing. Ensure the permissions are correct on this folder to allow for the web server to write to it. Refer to the help text in the installer for more information.

    ex. $>mkdir /var/www/document_repository

  4. Load the opendocman index.php page in your web browser and follow the prompts.

  5. Enjoy!

Installing to a web server (Manual)

  1. Untar/Unzip files into any dir in your web server document home folder

  2. Create a MySQL database/username/password

  3. Make a directory for the uploaded documents to be stored that is accessible to the web server but not available by browsing. Ensure the permissions are correct on this folder to allow for the web server to write to it. Refer to the help text in the installer for more information.

    ex. $>mkdir /var/www/document_repository

  4. Copy the config-sample.php to config.php

  5. Edit the config.php to include your database parameters

  6. Edit the database.sql file. You need to change the values set in the odm_settings table, and odm_user tables, specifically the dataDir value, and the password used for the admin user creation

  7. Import your database.sql file into your database

  8. Visit the URL for your installation and login as admin/admin. Change your admin password once you login.

Update Procedure

To update your current version to the latest release:

  1. Rename your current opendocman folder.
  2. Unarchive opendocman into a new folder and rename it to the original folder name
  3. Copy your original config.php file into the new folder
  4. Load the opendocman /install address in your web browser ( ex. http://www.example.com/install )
  5. Follow the prompts for installation.

Contributing

Anyone is welcome to contribute to OpenDocMan's codebase! If you have a fix or code change, feel free to submit it as a pull request directly to the "master" branch. In cases where the change is relatively small or does not affect other parts of the codebase, it may be merged in immediately by any one of the collaborators. On the other hand, if the change is particularly large or complex, it is expected that it will be discussed at length either well in advance of the pull request being submitted, or even directly on the pull request.

Donate

Donations to the general fund are used to pay for the infrastructure costs that are currently covered by sponsors.

General Fund You can donate Monero:

Monero: 495vHjEsWegDydtAvo18DU8B1Y4c3xH1SdHdGLsKwZo2j9JxrcZDZ85aVeiSjSGRGBj3dvKKf1Aj4XcLk9bpKR5R6jj5WuF