In my quest for recycling old Dell Vostro 200 computers here at work I’ve recently had the pleasure of creating a document management system using the open-sourced Kloudspeaker software. It appears to be a mature project and installs easily.

It’s important to read through the documentation. Out-of-the-box it doesn’t do file uploads, for example, but the configuration may be modified to do so. And I found an issue with files larger than 2MB which again was fixed by reading the docs. It helps to have some reasonable system experience on your UNIX server because some of these issues are dealt with outside of the Kloudspeaker software’s configuration itself.


The interface is attractive throughout.  The upper menu is responsive to changes in window size, buttons (like Upload) will optionally appear if the feature is turned on and if the user has the correct rights.  Overall it just seems to work without problems.


Typical Cost of a Document Management System

From the webpage How Much Does a Document Management System Cost?

“[For a cloud-based system] …you should expect to invest between $20 and $50 per person per month, with the major variable being the level of service you subscribe to.

“[For an on-premised system] To start, you’ll have an up-front charge for your server and desktop licensing. This licensing tends run between $350 and $500 per person on average. Depending upon which features you sign up for, you’ll need to purchase the appropriate number of servers at the average rate of $5,000 to $6,000 per device. Ongoing support and maintenance will take the form of an annual per person fee, which will typically cost you around $40 per seat.”


Below is the list of things I needed to do to get the server running. I managed to do all of this in just under two hours. It then took me another two hours of finding over 300 contracts so that I could upload them into the system.  All-in-all, that’s not bad (four hours’ labor + $0.00) for an excellent document management system that could have cost a lot of money!

  1. Boot from a (free) GParted disc on a Dell Vostro 200 computer to remove any existing partitions
  2. In BIOS, set the computer so that it will run without a keyboard without stopping during POST
  3. Boot from a (free) Ubuntu disc and install it as a server
    1. Choose server install
    2. Use entire disk with LVM
    3. Install GRUB
    4. Install OpenSSH server and LAMP
  4. Edit the /etc/network/interfaces file to give the server a static IP address
  5. Edit the /etc/apache2/apache2.conf file to give the webserver its name
  6. Create a CNAME record in my DNS server of contracts for this Intranet server
  7. Run sudo apt-get update, sudo apt-get upgrade and sudo do-release-upgrade to make sure that I’m using the latest software
  8. Run sudo apt-get install unzip to install this necessary software
  9. To pull the latest zip file from their website, in my home directory run the command  wget http://www.kloudspeaker.com/download/latest.php, run unzip to expand the file structure and then copy this recursively to the /var/www/html area under a kloudspeaker folder name, remembering to use the -a option for the sudo cp command to get hidden files as well
  10. Log into MySQL as the root user with mysql -u root -p and then from this console, run create database kloudspeaker; and then run exit; to come out of the MySQL client
  11. Edit the /var/www/html/loudspeaker/backend/configuration.php file, setting the appropriate database credentials for the newly-created kloudspeaker database, as well as adding "EventLogging" => array() to the list of plugins
  12. Edit the /etc/apache2/sites-available/000-default.conf configuration file to change the DocumentRoot to /var/www/html/kloudspeaker
  13. From another computer, visit the http://contracts/backend/install link to start their installation, verifying the database credentials and next, creating an administrative user for the software
  14. Back in a terminal, manually create a folder at the root with sudo mkdir /files and subfolders below this to hold each subgroup
  15. Run sudo chown -R www-data:www-data /files to make sure that the Apache service user can control the files uploaded into the system
  16. Edit /etc/php/7.0/apache2/php.ini to add these two lines: upload_max_filesize = 40M and post_max_size = 40M
  17. Run sudo apt-get update and sudo apt-get upgrade again to verify that your system is up-to-date after bringing in software
  18. Again from another computer, log into the website interface, creating users, groups, adjusting the access rights to the folders you’ve defined, making sure to test as a non-administrator user to verify the results
  19. Shut down the Ubuntu server, remove all peripherals and put the computer into the server room with only Ethernet cable and power cord connections, turning it back on

Using Kloudspeaker

Now that everything’s installed and setup, you add the user accounts for the people who also need access. You use their email address so it will invite them to create their own passwords.

I’m very pleased with the way this has turned out and how little effort was required to get it going. I’d highly recommend this software for businesses.