Sabtu, Desember 13, 2014

How to Install SeedDMS on Ubuntu

SeedDMS is an open source document management system. In my opinion, its features are quite powerful, easy to use, but unfortunately lack of documentation. I guess the developers are too busy focusing on coding and forgetting how good documentation will help the others to install and use the application. After some trial and error, I’m finally able to install SeedDMS on my Ubuntu.

In this tutorial, I use latest Ubuntu server 14.10 (Utopic Unicorn) which can be downloaded via Ubuntu official website here and latest SeedDMS (version 4.3.13 ) which can be downloaded via sourceforge here. I assume you already installed Ubuntu and are familiar with Ubuntu environment.


SeedDMS is written in PHP, and uses MySQL or sqlite3 to manage the documents that were uploaded into the application. So, basically you will need:
  • A web server which support PHP at least PHP 5.3
  • MySQL or sqlite database
  • PHP packages such as PHP GD and PHP sqlite
  • Several packages to convert document into text (optional, for fulltext search purpose)
  • ImageMagic to create preview image
  • Zend Framework (optional, for fulltext search purpose)
  • Pear framework
  • Pear Log package
  • Pear HTTP_WebDAV package (optional)
I assume at least you have already installed Web server + PHP + MySQL on your Ubuntu installation. If you are using Ubuntu Server and intend to install it from the scratch, don’t forget to pick LAMP  server packages on the installation process. In this article, I use Apache2 + PHP + sqlite combination.

Here we go:
  1. On your Ubuntu installation, create directory /home/www-data:
    sudo mkdir /home/www-data

  2. Download following SeedDMS files from sourceforge:
    SeedDMS_Lucene-1.1.5.tgz 
    SeedDMS_Preview-1.1.2.tgz 
    SeedDMS_Core-4.3.13.tgz 
    seeddms-quickstart-4.3.13.tar.gz

    Put these file on /home/www-data directory

  3. Extract seeddms-quickstart-4.3.13.tar.gz using following command:
    sudo tar -xvzf seeddms-quickstart-4.3.13.tar.gz
    After this operation you will see new folder named seeddms43x inside /home/www-data/.

  4. Install Pear packages:
    sudo apt-get install php-pear

  5. Install additional package:
    PHP GD and sqlite
    sudo apt-get install php5-gd php5-sqlite

    PDF and Doc conversion tool to text
    sudo apt-get install poppler-utils catdoc

  6. Install SeedDMS Pear packages:
    sudo pear install SeedDMS_Core-4.3.13.tgz
    sudo pear install SeedDMS_Lucene-1.1.5.tgz
    sudo pear install SeedDMS_Preview-1.1.2.tgz

  7. Install additional Pear packages:
    Log
    sudo pear install Log

    Zend
    sudo pear channel-discover zend.googlecode.com/svn
    sudo pear install zend/zend

  8. Change /home/www-data ownership
    sudo chown -R www-data:www-data /home/www-data
  9. Create an alias for Seed DMS web application using following command:
    Open apache configuration file:
    sudo vi /etc/apache2/sites-enabled/000-default.conf

    Add following lines after <virtualhost> tag and before </virtualhost> tag
    <Directory />
        Require all granted
    </Directory>
    
    Alias /seeddms “/home/www-data/seeddms43x/www/“
    <Directory "/home/www-data/seeddms43x/www/">
        DirectoryIndex index.php
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from all
    </Directory>

    So it would be looked like this:
    <VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        <Directory />
            Require all granted
        </Directory>
    
        Alias /seeddms “/home/www-data/seeddms43x/www/"
        <Directory "/home/www-data/seeddms43x/www/">
            DirectoryIndex index.php
            AllowOverride All
            Order deny,allow
            Deny from all
            Allow from all
        </Directory>
    </VirtualHost>

    You can change /seeddms variable with anything you want.

  10. Enable mod_rewrite module by running following command:
    sudo a2enmod rewrite

  11. Restart apache2 service:
    sudo service apache2 restart

  12. Enable web based installation tool for seed DMS by running following command:
    sudo touch /home/www-data/seeddms43x/seeddms-4.3.13/conf/ENABLE_INSTALL_TOOL

  13. Open your browser, and point it to http://[Ubuntu IP Address]/seeddms/install and follow instruction on the screen.

    Fill required information as below:
    Root directory -> /home/www-data/seeddms43x/www/
    Http Root -> /seeddms/
    Content directory -> /home/www-data/seeddms43x/data/
    Directory for full text index -> /home/www-data/seeddms43x/data/lucene/
    Directory for partial uploads -> /home/www-data/seeddms43x/data/staging/
    Extra PHP include Path -> /home/www-data/seeddms43x/pear/

    Leave Database settings configuration. I assume you will use sqlite database. If you intend to use mysql instead, fill mysql on Database Type text box, and fill the remaining Database settings text box according to your MySQL database configuration.

    Check Create database table check box and click Apply button to create database file for the first time. Click Apply button again to continue.

  14. Disable web based installation tool for seed DMS by running following command:
    sudo rm /home/www-data/seeddms43x/seeddms-4.3.13/conf/ENABLE_INSTALL_TOOL

  15. Tada.. now your SeedDMS is already installed on your Ubuntu Installation. To begin using it, enter your SeedDMS web address on your browser: http://[Ubuntu IP Address]/seeddms

  16. Login using following credential:
    username: admin
    password: admin

18 komentar:

  1. Some typo
    Alias /seeddms “/home/www-data/seeddms43x/www/“ >> Alias /seeddms "/home/www-data/seeddms43x/www/"

    BalasHapus
  2. Mas Eko, setelah saya ikuti semua langkah, sewaktu memasuki langkah ke 15, keluar pesan :
    "The requested URL /seeddms was not found on this server."
    Kira-kira dimana yang salah ya ??

    BalasHapus
  3. Mas Eko, setelah saya ikuti semua langkah, sewaktu memasuki langkah ke 13, keluar pesan :
    "The requested URL /seeddms was not found on this server."
    Kira-kira dimana yang salah ya ??

    BalasHapus
  4. New pear channel for Zend.

    pear channel-discover pear.dotkernel.com/zf1/svn

    BalasHapus
    Balasan
    1. have you successful install seeddms on your machine ? Pls help

      Hapus
  5. I have set as your guide seedDMS. But when entering the address "http://localhost/dms/out/out.ViewFolder.php", the result is a blank page. I do not know what the problem.

    BalasHapus
  6. I have filled to launch web installation i dont know http://[Ubuntu IP Address] what it meens!

    BalasHapus
    Balasan
    1. It's your machine IP address. Here are some other references:
      https://help.ubuntu.com/stable/ubuntu-help/net-findip.html
      http://www.howtogeek.com/howto/17012/how-to-find-your-ip-address-in-ubuntu/

      Hapus
  7. I have set as your guide seedDMS. But when entering the address "http://localhost/dms/out/out.ViewFolder.php", the result is a blank page. I do not know what the problem.

    BalasHapus
    Balasan
    1. I guess you should check the error log on /var/log/apache2/error.log

      Hapus
  8. Hi all. I finished set up seedDMS. And I do not sign in with user/password default (admin/admin). I received the notice "User or password incorrect.

    BalasHapus
  9. I have set as your guide seedDMS. But when entering the address "http://localhost/dms/out/out.ViewFolder.php", the result is a blank page. I do not know what the problem.

    LOG:

    [Tue Aug 02 12:50:25.705300 2016] [:error] [pid 13542] [client 127.0.0.1:53888] PHP Fatal error: require_once(): Failed opening required 'Mail.php' (include_path='/var/www/html/::.:/usr/share/php:/home/dms/\n;\n; Windows: \\path1') in /var/www/html/inc/inc.ClassEmailNotify.php on line 20
    [Tue Aug 02 12:50:31.623988 2016] [:error] [pid 13472] [client 127.0.0.1:53892] PHP Warning: require_once(Mail.php): failed to open stream: No such file or directory in /var/www/html/inc/inc.ClassEmailNotify.php on line 20
    [Tue Aug 02 12:50:31.624042 2016] [:error] [pid 13472] [client 127.0.0.1:53892] PHP Fatal error: require_once(): Failed opening required 'Mail.php' (include_path='/var/www/html/::.:/usr/share/php:/home/dms/\n;\n; Windows: \\path1') in /var/www/html/inc/inc.ClassEmailNotify.php on line 20
    [Tue Aug 02 12:50:41.732752 2016] [:error] [pid 13473] [client 127.0.0.1:53894] PHP Warning: require_once(Mail.php): failed to open stream: No such file or directory in /var/www/html/inc/inc.ClassEmailNotify.php on line 20
    [Tue Aug 02 12:50:41.732798 2016] [:error] [pid 13473] [client 127.0.0.1:53894] PHP Fatal error: require_once(): Failed opening required 'Mail.php' (include_path='/var/www/html/::.:/usr/share/php:/home/dms/\n;\n; Windows: \\path1') in /var/www/html/inc/inc.ClassEmailNotify.php on line 20

    Anybody can help?

    Thanks

    BalasHapus
  10. You should first try to deactivate email notification settings (delete all text from mail settings text boxes= and see if that helps.

    Afterwards, you need to see on your box which package contains Mail.php file, cant test right now but I belive it is a PEAR mail package...

    BalasHapus
  11. Hello !

    In step 13, when I try to access to http://[Ubuntu IP Address]/seeddms/install, I get the following result:

    https://www.dropbox.com/s/jzcfdnv1pcd8pnr/Screenshot%20from%202017-08-30%2015-35-05.png?dl=0

    Please Help!

    Regards!

    :)

    BalasHapus
  12. I am able to follow upto Step 13 without any problem.
    In Step 13, first I tested the if the default page working or not by entering the Ubuntu PC IP address in web browser.
    I get the Welcome page. So so far the installation is good.
    now when I try Http://My Ubuntu IP/seeddms/install I get
    "Not Found
    The Requested URL /seeddms/install was not found on this server.
    Apache/2.4.25 (ubuntu) server at 172.17.1.183 port 80"

    not sure where I am going wrong.

    BalasHapus
  13. @krish: Same here. Changed the part sudo vi /etc/apache2/sites-enabled/000-default.conf to:

    Alias /seeddms /home/www-data/seeddms51x/www

    LogLevel debug
    AllowOverride None
    DirectoryIndex index.php
    Require all granted


    and added to apache2.conf


    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted

    BalasHapus