seeddms-code/README.md

372 lines
14 KiB
Markdown
Raw Normal View History

2013-02-13 21:05:58 +00:00
SeedDMS Installation Instructions
==================================
2010-10-29 13:19:51 +00:00
2013-02-13 21:05:58 +00:00
NOTE FOR VERSION 4.0.0
======================
2013-02-13 20:07:23 +00:00
Since version 4.0.0 of SeedDMS installation has been simplified.
ADOdb is no longer needed because the database access is done by
PDO.
2013-02-13 21:05:58 +00:00
IMPORTANT NOTE ABOUT TRANSLATIONS
=================================
2010-10-29 13:19:51 +00:00
2013-02-14 10:12:54 +00:00
As you can see SeedDMS provides a lot of languages but we are not professional
2012-12-13 21:20:02 +00:00
translators and therefore rely on user contributions.
2010-10-29 13:19:51 +00:00
If your language is not present in the login panel:
2012-12-13 21:20:02 +00:00
- copy the language/English/ folder and rename it appropriately for your
2010-10-29 13:19:51 +00:00
language
2013-02-14 10:12:54 +00:00
- open the file `languages/your_lang/lang.inc` and translate it
- open the help file `languages/your_lang/help.htm` and translate it too
2010-10-29 13:19:51 +00:00
If you see some wrong or not translated messages:
2013-02-14 10:12:54 +00:00
- open the file `languages/your_lang/lang.inc`
2010-10-29 13:19:51 +00:00
- search the wrong messages and translate them
if you have some "error getting text":
2013-02-14 10:12:54 +00:00
- search the string in the english file `languages/english/lang.inc`
- copy to your language file `languages/your_lang/lang.inc`
2010-10-29 13:19:51 +00:00
- translate it
If there is no help in your language:
2013-02-14 10:12:54 +00:00
- Copy the English help `english/help.htm` file to your language folder
2010-10-29 13:19:51 +00:00
- translate it
If you apply any changes to the language files please send them to the
2013-02-14 10:12:54 +00:00
SeedDMS developers <info@seeddms.org>.
http://www.iana.org/assignments/language-subtag-registry has a list of
all language and country codes.
2013-02-14 10:12:54 +00:00
REQUIREMENTS
============
SeedDMS is a web-based application written in PHP. It uses the MySQL RDBMS
or sqlite3 to manage the documents that were uploaded into the application.
Make sure you have PHP 5.3 and MySQL 5 or higher installed. SeedDMS
will work with PHP running in CGI-mode as well as running as module under
apache. If you want to give your users the opportunity of uploading passport
photos you have to enable the gd-library (but the rest of SeedDMS will
work without gd, too).
Here is a detailed list of requirements:
1. A web server with at least php 5.3
2. A mysql database, unless you use sqlite
3. The php installation must have support for `pdo_mysql` or `pdo_sqlite`,
`php_gd2`, `php_mbstring`
4. Various command line programms to convert files into text for indexing
pdftotext, catdoc, xls2csv or scconvert, cat, id3 (optional, only needed
for fulltext search)
5. The Zend Framework (version 1) (optional, only needed for fulltext search)
6. The pear Log package
7. The pear HTTP_WebDAV_Server package (optional, only need for webdav)
2010-10-29 13:19:51 +00:00
2013-02-13 21:05:58 +00:00
BEFORE YOU START
================
2013-02-13 20:07:23 +00:00
SeedDMS has changed its installation process with version 3.0.0. This gives
you many more options in how to install SeedDMS. First of all, SeedDMS was
split into a core package (`SeedDMS_Core-<version>.tar.gz`) and the web
2013-02-14 10:12:54 +00:00
application itself (`seeddms-<version>.tar.gz`). The core is a pear package
which could be installed as one. It is responsible for all the database
2013-02-14 10:12:54 +00:00
operations. The web application contains the ui not knowing anything about
2013-02-13 20:07:23 +00:00
the database layout. Second, one SeedDMS installation can be used for
various customer instances by sharing a common source. Starting with
version 3.2.0 a full text search engine has been added. This requires
the zend framework and another pear package `SeedDMS_Lucene-<version>.tar.gz`
2013-02-14 10:12:54 +00:00
which can be downloaded from the SeedDMS web page. Version 4.0.0 show
preview images of documents which requires `SeedDMS_Preview-<version>.tar.gz`.
2013-02-14 10:12:54 +00:00
Finally, SeedDMS has
2011-10-26 07:30:20 +00:00
got a web based installation, which takes care of most of the installation
process.
2013-02-13 20:07:23 +00:00
Before you proceed you have to decide how to install SeedDMS:
1. with multiple instances
2. as a single instance
2011-10-26 07:30:20 +00:00
Both have its pros and cons, but
1. setting up a single instance is easier if you have no shell access to
2011-10-26 07:30:20 +00:00
the web server
2013-02-14 10:12:54 +00:00
2. the installation script is only tested for single instances
Installation for multiple instances shares the same source by many
instances but requires to create links which is not in any case possible
2011-10-26 07:30:20 +00:00
on your web server.
2010-10-29 13:19:51 +00:00
2013-02-13 21:05:58 +00:00
0. Some preparation
-------------------
A common source of problems in the past have been the additional software
2013-02-14 10:12:54 +00:00
packages needed by SeedDMS. Those are the PEAR packages `Log` and
`HTTP_WebDAV_Server` as well as the `Zend_Framework`.
If you have full access to the server running a Linux distribution it is
recommended to install those with your package manager if they are provided
2012-12-13 21:20:02 +00:00
by your Linux distribution. If you cannot install it this way then choose
a directory (preferable not below your web document root), unpack the
software into it and extend the php include path with your newly created
directory. Extending the php include can be either done by modifying
php.ini or adding a line like
2013-02-14 10:12:54 +00:00
> php_value include_path '/home/mypath:.:/usr/share/php'
2013-02-14 10:12:54 +00:00
to your apache configuration or setting the `extraPath` configuration
variable of SeedDMS.
For historical reasons the path to the SeedDMS_Core and SeedDMS_Lucene package
2013-02-14 10:12:54 +00:00
can still be set
in the configuration, which is not recommend anymore. Just leave those
parameters empty.
2013-02-13 21:05:58 +00:00
1. Using the installation tool
------------------------------
2011-10-26 07:30:20 +00:00
2013-02-14 10:12:54 +00:00
Unpack seeddms-<version>.tar.gz below the document root of
your web server.
Install `SeedDMS_Preview-<version>.tar.gz` and
`SeedDMS_Core-<version>.tar.gz` either as a regular pear package or
2013-02-14 10:12:54 +00:00
set up a file system structure like pear did somewhere on you server.
For the full text search engine support, you will also
need to install `SeedDMS_Lucene-<version>.tar.gz`.
2013-02-14 10:12:54 +00:00
For the following instructions we will assume a structure like above
and seeddms-<version> being accessible through
2013-02-13 20:07:23 +00:00
http://localhost/seeddms/
2011-10-26 07:30:20 +00:00
2013-02-13 20:07:23 +00:00
* Point you web browser towards http://hostname/seeddms/install/
2011-10-26 07:30:20 +00:00
2013-02-14 10:12:54 +00:00
* Follow the instructions on the page and create a file `ENABLE_INSTALL_TOOL`
2011-10-26 07:30:20 +00:00
in the conf directory.
2013-02-14 10:12:54 +00:00
* Create a data directory with the thre sub directories staging, cache
and lucene.
Make sure the data directory is either *not* below your document root
or is protected with a .htaccess file against web access. The data directory
needs to be writable by the web server.
2011-10-26 07:30:20 +00:00
* Clicking on 'Start installation' will show a form with all necessary
settings for a basic installation.
* After saving your settings succesfully you are ready to log in as admin and
continue customizing your installation with the 'Admin Tools'
2011-10-26 07:30:20 +00:00
2013-02-13 21:05:58 +00:00
2. Detailed installation instructions (single instance)
-------------------------------------------------------
2010-10-29 13:19:51 +00:00
You need a working web server with MySQL/PHP5 support and the files
`SeedDMS-<version>.tar.gz`, `SeedDMS_Preview-<version>.tar.gz` and
`SeedDMS_Core-<version>.tgz`. For the
full text search engine support, you will also need to unpack
`SeedDMS_Lucene-<version>.tgz`.
2010-10-29 13:19:51 +00:00
* Unpack all the files in a public web server folder. If you're working on
a host machine your provider will tell you where to upload the files.
If possible, do not unpack the pear packages `SeedDMS_Core-<version>.tgz`,
`SeedDMS_Preview-<version>.tgz` and
`SeedDMS_Lucene-<version>.tgz` below the document root of your web server.
2013-02-14 10:12:54 +00:00
Choose a temporary folder, as the files will be moved in a second.
Create a directory e.g. `pear` in the same directory where you unpacked
seeddms and create a sub directory SeedDMS. Move the content except for the
`tests` directory of all SeedDMS pear
packages into that directory. Please note that `pear/SeedDMS` may not
2013-02-14 10:12:54 +00:00
(and for security reasons should not) be below your document root.
You will end up with a directory structure like the following
> seeddms-<version>
> pear
> SeedDMS
2013-02-14 10:12:54 +00:00
> Core.php
> Core
> Lucene.php
> Lucene
> Preview
> Preview.php
Since they are pear packages they can also be installed with
> pear install SeedDMS_Core-<version>.tgz
> pear install SeedDMS_Lucene-<version>.tgz
> pear install SeedDMS_Preview-<version>.tgz
2010-10-29 13:19:51 +00:00
* The PEAR package Log is also needed. It can be downloaded from
2013-02-14 10:12:54 +00:00
http://pear.php.net/package/Log. Either install it as a pear package
or place it under your new directory 'pear'
> pear
> Log
> Log.php
2011-10-26 07:30:20 +00:00
* The package HTTP_WebDAV_Server is also needed. It can be downloaded from
2013-02-14 10:12:54 +00:00
http://pear.php.net/package/HTTP_WebDAV_Server. Either install it as a
pear package or place it under your new directory 'pear'
> pear
> HTTP
> WebDAV
> Server
> Server.php
* Create a data folder somewhere on your web server including the subdirectories
2013-02-14 10:12:54 +00:00
staging, cache and lucene and make sure they are writable by your web server,
but not accessible through the web.
2011-10-26 07:30:20 +00:00
For security reason the data folder should not be inside the public folders
or should be protected by a .htaccess file.
2010-10-29 13:19:51 +00:00
2013-02-13 20:07:23 +00:00
If you install SeedDMS for the first time continue with the database setup.
2010-10-29 13:19:51 +00:00
* Create a new database on your web server
e.g. for mysql:
2013-02-13 20:07:23 +00:00
create database seeddms;
2010-10-29 13:19:51 +00:00
* Create a new user for the database with all permissions on the new database
e.g. for mysql:
2013-02-13 20:07:23 +00:00
grant all privileges on seeddms.* to seeddms@localhost identified by 'secret';
(replace 'secret' with you own password)
2013-02-14 10:12:54 +00:00
* Optionally import `create_tables-innodb.sql` in the new database
e.g. for mysql:
2013-02-14 10:12:54 +00:00
> cat create_tables-innodb.sql | mysql -useeddms -p seeddms
This step can also be done by the install tool.
2013-02-14 10:12:54 +00:00
* create a file `ENABLE_INSTALL_TOOL` in the conf directory and point
your browser at http://hostname/seeddms/install
2010-10-29 13:19:51 +00:00
NOTE: UPDATING FROM A PREVIOUS VERSION OR SEEDDMS
2010-10-29 13:19:51 +00:00
2013-03-06 14:18:52 +00:00
As SeedDMS is a smooth continuation of LetoDMS there is no difference
in updating from LetoDMS or SeedDMS
2010-10-29 13:19:51 +00:00
- make a backup archive of your installation folder
- make a backup archive of your data folder
- dump your current database
2013-02-13 20:07:23 +00:00
- extract the SeedDMS archive to your web server
2011-11-29 10:57:58 +00:00
- edit the conf/settings.xml file to match your previuos settings
2010-10-29 13:19:51 +00:00
(you can even replace the file with your own one eventualy adding by hand
the missing new parameters)
2013-02-14 10:12:54 +00:00
- create a file `ENABLE_INSTALL_TOOL` in the conf directory and point
your browser at http://hostname/seeddms/install
2010-10-29 13:19:51 +00:00
2013-02-13 20:07:23 +00:00
The install tool will detect the version of your current SeedDMS installation
and run the required database updates.
2010-10-29 13:19:51 +00:00
2013-02-14 10:12:54 +00:00
3. Email Notification
2013-02-13 21:05:58 +00:00
---------------------
2010-10-29 13:19:51 +00:00
A notification system allows users to receive an email when a
document or folder is changed. This is an event-based mechanism that
2010-10-29 13:19:51 +00:00
notifies the user as soon as the change has been made and replaces the
cron mechanism originally developed. Any user that has read access to a
document or folder can subscribe to be notified of changes. Users that
have been assigned as reviewers or approvers for a document are
automatically added to the notification system for that document.
A new page has been created for users to assist with the management of
their notification subscriptions. This can be found in the "My Account"
section under "Notification List".
2013-02-14 10:12:54 +00:00
4. Nearly finished
2013-02-13 21:05:58 +00:00
------------------
2010-10-29 13:19:51 +00:00
2013-02-14 10:12:54 +00:00
Now point your browser to http://hostname/seeddms/index.php
2010-10-29 13:19:51 +00:00
and login with "admin" both as username and password.
After having logged in you should first choose "My Account" and
change the Administrator's password and email-address.
2013-02-13 21:05:58 +00:00
CONFIGURING MULTIPLE INSTANCES
==============================
2010-10-29 13:19:51 +00:00
2013-02-13 20:07:23 +00:00
Since version 3.0.0, SeedDMS can be set up to run several parallel instances
2010-10-29 13:19:51 +00:00
sharing the same source but each instance has its own configuration. This is
2013-02-13 20:07:23 +00:00
quite useful if you intend to host SeedDMS for several customers. This
approach still allows to have diffenrent version of SeedDMS installed
and will not force you to upgrade a customer instance, because other
instances are upgraded. A customer instance consists of
2013-02-13 20:07:23 +00:00
1. a directory containing mostly links to the SeedDMS source and a
configuration file
2. a directory containing the document content files
3. a database
2010-10-29 13:19:51 +00:00
2013-02-13 21:05:58 +00:00
1. Unpack the SeedDMS distribution
----------------------------------
2010-10-29 13:19:51 +00:00
Actually there is no need to set up the database at this point but it won't
2013-02-13 20:07:23 +00:00
hurt since you'll need one in the next step anyway. The sources of SeedDMS
can be anywhere you like. The do not have to be in you www-root. If you just
have access to your www-root directory, then put them there.
2010-10-29 13:19:51 +00:00
2013-02-13 21:05:58 +00:00
2. Setup the instance
---------------------
2010-10-29 13:19:51 +00:00
Unpack the files as described in the quick installation.
2010-10-29 13:19:51 +00:00
Create a directory in your www-root or use www-root for your instance. In the
second case, you will not be able to create a second instance, because each
instance needs its own directory.
2010-10-29 13:19:51 +00:00
2013-02-13 20:07:23 +00:00
Go into that directory create the following links (<seeddms-source> is the
directory of your initial SeedDMS intallation).
2010-10-29 13:19:51 +00:00
2013-02-14 10:12:54 +00:00
> src -> <seeddms-source>
> inc -> src/inc
> op -> src/op
> out -> src/out
> js -> src/js
> views -> src/views
> languages -> src/languages
> styles -> src/styles
> themes -> src/themes
> install -> src/install
> index.php -> src/index.php
> ln -s ../seeddms-<version> src
2013-02-14 10:12:54 +00:00
> ln -s src/inc inc
> ln -s src/op op
> ln -s src/out out
> ln -s src/js js
> ln -s src/views views
> ln -s src/languages languages
> ln -s src/styles styles
> ln -s src/themes themes
> ln -s src/install install
> ln -s src/index.php index.php
Create a new directory named conf and run the installation tool.
Creating the links as above has the advantage that you can easily switch
to a new version and go back if it is necessary. You could even run various
2013-02-13 20:07:23 +00:00
instances of SeedDMS using different versions.
2013-02-13 21:05:58 +00:00
3. Create a database and data store for each instance
-----------------------------------------------------
2010-10-29 13:19:51 +00:00
Create a database and data store for each instance and adjust the database
settings in conf/settings.xml or run the installation tool.
2010-10-29 13:19:51 +00:00
Point your web browser towards the index.php file in your new instance.
2011-11-29 07:24:06 +00:00
2013-02-13 21:05:58 +00:00
LICENSING
=========
2011-11-29 07:24:06 +00:00
2013-02-13 20:07:23 +00:00
SeedDMS is licensed unter GPLv2
2011-11-29 07:24:06 +00:00
Jumploader is licensed as stated by the author on th web site
2013-02-14 10:12:54 +00:00
<http://jumploader.com/>
2011-11-29 07:24:06 +00:00
-- Taken from web site of jumploader ---
You may use this software for free, however, you should not:
- Decompile binaries.
- Alter or replace class and/or resource files.
- Redistribute this software under different name or authority.
2013-02-14 10:12:54 +00:00
If you would like a customized version, I can do this for a fee. Don't hesitate to contact me with questions or comments.
Uwe Steinmann <info@seeddms.org>