User manual

Here is the multiGLPI user manual. By reading it, you'll learn how to synchronize data coming from different GLPI instances.

Prerequesites

MySQL

User used by GLPI to connect
  • super-user privileges on mysql

PHP

If you need to synchronize a lot of data, it's better to increase the memory_limit parameter in the php.ini file.
128Mb or 256Mb is a good option.
default_socket_timeout must be set to 120 second instead of 60. On Debian GNU/Linux and derivates, please make sure to edit /etc/php5/apache2/php.ini AND /etc/php5/cli/php.ini.

GLPI

This plugin works only with GLPI 0.80.x instances.
On each server you need to install :
  • WebService plugin 1.2.0 or higher
  • MultiGLPI plugin 1.0.0 or higher

How does it works ?

MultiGLPI relies on master and slave servers :
  • master : GLPI which contains all data to be sent to the slave server
  • slave : GLPI getting data from the master server, and sending data to it

Note : a slave server can also be a master server.

Installation

  1. Install and enable the WebServices plugin
  2. Install and enable the MultiGLPI plugin

Note: is it mandatory to install WebServices plugin first
Note: it's mandatory to install WebServices and multiGLPI plugin on both master and slaves slavers
Important: You must use a MySQL user that can create triggers otherwise MultiGLPI won't work correctly.

Configuration

  1. Go to Menu => Plugins => MultiGLPI
  2. Add a new server by clicking the "+" button
  3. Give a name to the server

Setting up webservice plugin

  • On the master side, you need to declare a new webservice client, which represents the slave.
  • On the slave slide, a new client to represent the master

Setting up a master on the slave

To setup a master on the slave GLPI, you need to :
  1. declare a new multiGLPI server
  2. set is as a slave (master option set to No)
  3. Fill the outgoing form :
  • GLPI Server : the IP or name of the slave server. No http:// needed
  • Path to GLPI : the URI to access GLPI on this server (for example glpi)
  • Compression enabled : compress data to receive. This option is only available in PHP >= 5.3
  • Outgoing GLPI user : login of a account used to connect to the GLPI slave instance
  • Outgoing GLPI password : password of the account used to connect to the GLPI slave instance
  • Outgoing Webservice user : login of the account to access the remote WebService plugin (optional)
  • Outgoing Webservice password : password of the account to access the remote WebService plugin (optional)

Testing the connection

Got to the Interactions tab and :
  1. check the connection
  2. identify to the master server: sends the client's token on the master

Note: the client's token is available for display in the plugin's configuration page (or click on the small tool picture in the menu).

That's all you need to do on the slave server!

Setting up a slave on the master

In the general form
  1. Set Master GLPI server to No

the ingoing form

The first options are used to indicates which data the slave will get:
  1. Incoming Webservice : webservice client used by the slave to connect to the master
  2. Incoming GLPI user : GLPI to use to connect to the master's webservice
  3. Storage entity : indicates the entity in the master server representing the slave(data of this entity may be pushed to the slave)
  4. Token : a token is a slave unique identifier. Once the slave is authenticated on the master, it sends it's token

h4.The outgoing form

Fill theses options so indicates the way used by the server to connect onto the slave:

  1. GLPI Server : the IP or name of the slave server. No http:// needed
  2. Path to GLPI : the URI to access GLPI on this server (for example glpi)
  3. Compression enabled : compress data to receive. This option is only available in PHP >= 5.3
  4. Outgoing GLPI user : login of a account used to connect to the GLPI slave instance
  5. Outgoing GLPI password : password of the account used to connect to the GLPI slave instance
  6. Outgoing Webservice user : login of the account to access the remote WebService plugin (optional)
  7. Outgoing Webservice password : password of the account to access the remote WebService plugin (optional)

Testing the connection

Got to the Interactions tab and :
  1. check the connection
  2. select the client's token in the token dropdown and validate
Then you have 2 options :
  1. Recover data : get data already in the slave GLPI into the master server
  2. Prepare the data deployment : send data from the master server into the slave

Plugin use cases

One central server and several local slaves

Several local slaves to be federated