FusionDirectory 1.0.7 INSTALL FROM SOURCES
==========================================

Prequisite:

You have a system up and running. It has apache and PHP 5.2.0 minimum installed
with smarty 2 or 3 and there is a blank (or prefilled) LDAP server available.

You have installed the following perl libraries

    Path::Class
    Net::LDAP
    MIME::Base64
    Crypt::PasswdMD5
    Crypt::CBC
    File::Copy::Recursive
    Archive::Extract
    XML::Twig

You have installed the following libraries :

    scriptacolulous available at http://script.aculo.us/downloads
    Prototype available at http://prototypejs.org/download/
    Smarty3-i18n available at http://repos.fusiondirectory.org/sources/1.0/smarty3-i18n/

The following tool :

    Schema2ldif http://repos.fusiondirectory.org/sources/1.0/schema2ldif/

If you intend to use the plugins that need an sql backend like :

    rsyslog
    asterisk
    fax


you need to install the pear mdb2 library and the pear mdb2 driver library corresponding to your choice of database

---

1) DOWNLOADING FUSIONDIRECTORY
==============================

- Get the fusiondirectory tarballs from http://download.fusiondirectory.org/sources/1.0/fusiondirectory.

wget http://download.fusiondirectory.org/sources/1.0/fusiondirectory/fusiondirectory-1.0.x.tar.gz

wget http://download.fusiondirectory.org/sources/1.0/fusiondirectory/fusiondirectory-plugins-1.0.x.tar.gz

X here being the latest version available

- Get the checksums file to be sure that the file where not corrupted

wget http://download.fusiondirectory.org/sources/1.0/fusiondirectory/CHECKSUM.MD5

- Compare the md5sum from fusiondirectory-1.0.x.tar.gz and
  fusiondirectory-1.0.x.tar.gz to the md5sum in CHECKSUM.MD5

cat CHECKSUM.MD5

md5sum fusiondirectory-1.0.x.tar.gz

md5sum fusiondirectory-plugins-1.0.x.tar.gz


2 ) INSTALLING FUSIONDIRECTORY CORE
===================================

- Unpack the FusionDirectory tarball and move the main fusiondirectory
directory to a place your webserver is configured to find it. On most
of the case this will be /var/www/fusiondirectory. Our fusiondirectory-setup script use
/var/www/fusiondirectory as default path.

For exemple, if you need to change the global path of FusionDirectory installation you can modify the variable 'fd_home':
  * fusiondirectory-setup --set-fd_home="/usr/share/fusiondirectory" --write-vars will change the path of your FusionDirectory installation.

Please note that --write-vars combined with --set-<variable_name>=<your data> will write your changes to the variables.inc file,
so its mandatory to use them together.

- Move the contrib/bin directory in /usr/local/bin
  * chmod 750 /var/www/fusiondirectory/contrib/bin/*
  * mv /var/www/fusiondirectory/contrib/bin/* /usr/local/bin/

- Create if needed the man5 et man1 directories in /usr/local/man
  * mkdir /usr/local/man/man1
  * mkdir /usr/local/man/man5

- Compress the manpages
  * gzip contrib/man/fusiondirectory.conf.5
  * gzip contrib/man/fusiondirectory-setup.1
  * gzip contrib/man/fusiondirectory-insert-schema.1
 
- Move the man pages to the right place
  * mv contrib/man/fusiondirectory-setup.1.gz /usr/local/man/man1
  * mv contrib/man/fusiondirectory-insert-schema.1.gz /usr/local/man/man1/
  * mv contrib/man/fusiondirectory.conf.5.gz /usr/local/man/man5

- Create the symbolic links for the fusiondirectory smarty functions

  Check that your smarty dir is in /usr/share/php/smarty or adapt the path accordingly

  * ln -s /var/www/fusiondirectory/contrib/smarty/plugins/block.t.php /usr/share/php/smarty/libs/plugins/block.t.php
  * ln -s /var/www/fusiondirectory/contrib/smarty/plugins/function.msgPool.php /usr/share/php/smarty/libs/plugins/function.msgPool.php

- Remove the library for accessing databases if you don't need access to the plugins needing it

  * rm -f /var/www/fusiondirectory/include/class_databaseManagement.inc

- Create the directory to store your fusiondirectory schemas

  mkdir <your-ldap-schema-directory>/fusiondirectory
  
- Move the needed schema and ldif from contrib to your ldap server schema directory

  * mv /var/www/fusiondirectory/contrib/openldap/*.schema <your-ldap-schema-directory>/fusiondirectory

- Add the required schema

  * fusiondirectory-insert-schema

- check what schema are installed

  * fusiondirectory-insert-schema -l
    core
    cosine
    nis
    inetorgperson
    samba
    core-fd
    core-fd-conf
    ldapns
    recovery-fd
  
  Those are the core basic schema needed
  
- Run the fusiondirectory-setup

  * fusiondirectory-setup --check-directories --update-cache --update-locales

Please note that if you changed the path of your FusionDirectory installation you will need to type the following commands

  * fusiondirectory-setup --set-fd_home=<your path> --check-directories --update-cache --update-locales

- Copy the file from contrib/fusiondirectory.conf to /var/cache/fusiondirectory/template


3 INSTALLING FUSIONDIRECTORY PLUGINS
====================================

- Run the fusiondirectory-setup

  * fusiondirectory-setup --install-plugins

Please note that if you changed the path of your FusionDirectory installation you will need to type the following commands

  * fusiondirectory-setup --set-fd_home=<your path> --install-plugins

- Copy the two file from argonaut/include into the global FusionDirectory include directory

  cp argonaut/include/class_supportDaemon.inc /var/www/fusiondirectory/include
  cp argonaut/include/jsonRPCClient.php /var/www/fusiondirectory/include

- Remove the asterisk, fax, rsyslog plugins if you removed the database management library when installing the core

  rm -Rf /var/www/fusiondirectory/plugins/personal/faxaccount/
  rm -Rf /var/www/fusiondirectory/plugins/admin/blocklists/
  rm -Rf /var/www/fusiondirectory/plugins/addons/faxreports/
  
  rm -Rf /var/www/fusiondirectory/plugins/personal/phoneaccount/
  rm -Rf /var/www/fusiondirectory/plugins/addons/fonreports/
  rm -Rf /var/www/fusiondirectory/plugins/admin/conference/
  rm -Rf /var/www/fusiondirectory/plugins/admin/macro/
  
  rm -Rf /var/www/fusiondirectory/plugins/addons/rsyslog/
  
  fusiondirectory-setup --update-locales --update-cache

Please note that if you changed the path of your FusionDirectory installation you will need to type the following commands:

  fusiondirectory-setup --set-fd_home=<your path> --update-locales --update-cache
    
- Install the schema for the ldap configuration backedn of all the plugins

  fusiondirectory-insert-schema -i /var/www/fusiondirectory/contrib/openldap/*fd-conf.schema
      
- Install the schema(s) for the each plugin you have installed

  fusiondirectory-insert-schema -i /var/www/fusiondirectory/contrib/openldap/<plugin>.schema
      
- Copy the file from contrib/apache to the apache site configuration dir

  * mv /var/www/fusiondirectory/contrib/apache/fusiondirectory-apache.conf <your-apache-configuration-directory>

- Reload your apache web server

http[s]://your-server/fusiondirectory

FusionDirectory setup will perform some basic system checks about general
prerequisites. The setup asks some questions and provides a basic
fusiondirectory.conf to save in /etc/fusiondirectory. Follow the instructions
until you're able to log in.

You're done. Lets play with the GUI.

Have fun!

---
* Further information

To improve this piece of software, please report all kind of errors using the bug tracker
on https://forge.fusiondirectory.org

Documentation: http://documentation.fusiondirectory.org/
Mailinglist:   http://lists.fusiondirectory.org/
Irc:           #fusiondirectory on freenode

---
The FusionDirectory project <contact@fusiondirectory.org>
