Keep your documents organized with SeedDMS
Installing SeedDMS
SeedDMS installation could be documented and integrated better than it is. It surely helps to have some previous experience with installing LAMP (Linux + MySQL + Apache + PHP) applications in Linux, but either way, the process is still manageable without particular pain. You'll need to go through the following phases, which are quicker than they look:
- Prepare a database (optional).
- Unpack the code archive in the correct folder.
- Create a flag file and set access permissions.
- Edit the configuration file.
- Configure PHP and the web server.
- Finish the configuration from the web interface.
SeedDMS can use the serverless SQLite, as well as the MySQL/MariaDB or PostgreSQL database engines. At this time of writing, support for PostgreSQL is officially considered less finished than the other options. SQLite is the easiest to adopt because it is directly supported by PHP. However, at least within SeedDMS, it is slower and less robust than the others if your installation must handle more than very few users or a few hundred files.
To make SeedDMS run with MySQL or MariaDB, you must first create a dedicated database and user for it, then populate that database with the right tables. The steps for creating a database are well documented [4], so I will not describe them here. You can add the tables to the newly created database by typing the following command:
#> cat SEEDDMS/seeddms/install/create_tables-innodb.sql | mysql -u SEEDDMS_USER -p SEEDDMS_DB
where create_tables-innodb.sql
is the file that contains all the necessary MySQL commands, and the three uppercase strings are placeholders for the base directory of your SeedDMS installation, the name of the database it must use, and its dedicated user.
The SeedDMS distribution includes similar instruction files for the SQLite and PostgreSQL databases, and you can also perform the same operations in the graphical interface of Step 6 by ticking one box.
Installing SeedDMS
The SeedDMS website hosts several releases of SeedDMS versions 5 and 6. Unless you need to customize SeedDMS or run it with a heavily customized PHP configuration, it is highly recommmended to download and use only the compressed tar files that have a "quickstart" suffix. Those archives contain all the SeedDMS code, plus all the PHP PEAR modules it needs to work, as well as a complete directory tree that will also serve as a template for shared installations. The screenshots and instructions in this tutorial come from the 6.0.15 "quickstart" version of SeedDMS, installed on an Ubuntu 20.04 Linux system with the Apache web server, using the following commands:
#> wget seeddms-quickstart-6.0.15.tar.gz #> tar xf seeddms-quickstart-6.0.15.tar.gz #> sudo cp -r -p seeddms60x /var/www/html/dms
After putting all the SeedDMS files in a folder where they will be reachable by your web server, move to that folder and run the following commands (assuming your web server user is www-data
):
#> chown -R www-data www-data data #> chown www-data www-data conf/settings.xml #> touch conf/ENABLE_INSTALL_TOOL
The first two instructions make the configuration file and the data folder of SeedDMS writable by the web server. The third creates an empty "flag" file that authorizes the graphical install tool to work.
The SeedDMS configuration file settings.xml
contains plenty of configurable variables, together with documentation of what they do. Unless you have special needs, however, you will only need to change one or two settings before moving to the next step. One is server rootDir
, which must point to the SeedDMS subfolder inside your SeedDMS root. Because I had copied all the files into /var/www/html/dms
, I set this variable to:
server rootDir="/var/www/html/dms/seeddms/"
The other variable that might need editing is database db_driver
, which specifies the database to use. However, as you can see in Figure 1, you could pass this information to SeedDMS from the graphical administration interface the first time you log in as administrator.
PHP and Web Server Configuration
Even the "quickstart" versions of SeedDMS depend on several general-purpose PHP packages. If they are not already present on your Linux server, the graphical interface will ask you to install them. On Ubuntu 20.04, for example, I had to install the following packages from the command line: m
#> sudo apt install php-xml php7.4-gd php-mbstring php-pdo-sqlite
For security reasons, only the www
subfolder of a SeedDMS installation must be directly accessible from web browsers. Therefore, if you are running an Apache web server as I did, you should first set the DocumentRoot
variable for your SeedDMS in your Apache configuration file to the complete path to that folder (/var/www/html/dms/www
in my case). Next, you should also enable the rewrite
and headers
modules of Apache with the following commands, and then restart the server:
#> sudo a2enmod rewrite #> sudo a2enmod headers #> sudo systemctl restart apache2
These commands will make Apache load and use the security settings, written in several .htaccess
files shipped with SeedDMS, that block unwanted direct access to your data.
« Previous 1 2 3 4 Next »
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
So Long Neofetch and Thanks for the Info
Today is a day that every Linux user who enjoys bragging about their system(s) will mourn, as Neofetch has come to an end.
-
Ubuntu 24.04 Comes with a “Flaw"
If you're thinking you might want to upgrade from your current Ubuntu release to the latest, there's something you might want to consider before doing so.
-
Canonical Releases Ubuntu 24.04
After a brief pause because of the XZ vulnerability, Ubuntu 24.04 is now available for install.
-
Linux Servers Targeted by Akira Ransomware
A group of bad actors who have already extorted $42 million have their sights set on the Linux platform.
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.
-
Linux Usage Increases in Two Key Areas
If market share is your thing, you'll be happy to know that Linux is on the rise in two areas that, if they keep climbing, could have serious meaning for Linux's future.
-
Vulnerability Discovered in xz Libraries
An urgent alert for Fedora 40 has been posted and users should pay attention.