eGroupware, GLPI et OCS

[Document en cours de rédaction]

L’installation du groupe d’applications eGroupware, GLPI et OCS permet d’avoir un outil assez complet pour la gestion d’un parc informatique et dans une petite et moyenne structure administrant ses utilisateurs avec un Active Directory (AD). Je pense que cette configuration est également valable avec un annuaire LDAP qui stockerait les mots de passe des utilisateurs.

Cette configuration permet de suivre avec une interface commune à la fois le parc informatique, les problèmes que peuvent rencontrer les utilisateurs avec l’outil informatique et un intranet présentant toutes les possibilités de travaux collaboratifs.

Sommaire :

I. Configuration nécessaire préalable.

II. L’installation d’OCS.

III. L’installation de eGroupware.

IV. L’installation de GLPI intégré à eGroupware.

V. La liaison entre OCS et GLPI.

VI. Les problèmes rencontrés avec les versions utilisées.

VII. Conclusion.

I. Configuration nécessaire préalable

I.1. Installer sur un serveur Linux : Apache, PHP, MySQL, fcron,

II. L’installation d’OCS (version 1.3.2).

III. L’installation de eGroupware (version 1.8).

IV. L’installation de GLPI (version 0.78) intégré à eGroupware.

Je remercie Walid (un des développeurs de GLPI) avec qui cette modification a pu se faire.

Modifier les fichiers index.php, inc/auth.class.php et logout.php comme suit :

index.php

//+ ajout du paramètre name=’connexion’

echo « <form action=' ».$CFG_GLPI[« root_doc »]. »/login.php’ name=’connexion’ method=’post’> »;

//-   echo ‘<div><span><label>’.$LANG[‘login’][6].’ :  </label></span>’;

//-   echo ‘<span><input type= »text » name= »login_name » id= »login_name » size= »15″ />’;

//-   echo ‘</span></div>’;

//+

echo « <div class=’row’><span class=’label’><label> ».$lang[« login »][6]. » :  </label></span> »;

echo « <span class=’formw’><input type=’text’ name=’login_name’ id=’login_name’ value=' ».$_REQUEST[‘last_loginid’]. »‘ size=’15’ /> »;

echo « </span></div> »;

//+

//-   echo ‘<div><span><label>’.$LANG[‘login’][7].’ : </label></span>’;

//-   echo ‘<span>’;

//-   echo ‘<input type= »password » name= »login_password » id= »login_password » size= »15″ /></span></div>’;

//+

echo « <div class=’row’><span class=’label’><label> ».$lang[« login »][7]. » : </label></span> »;

echo « <span class=’formw’> »;

echo « <input type=’password’ name=’login_password’ id=’login_password’ value=’x’ size=’15’ /> </span></div> »;

echo « </fieldset> »;

//+

//-   echo ‘<p><span>’;

//-   echo ‘<input type= »submit » name= »submit » value= »‘.$LANG[‘buttons’][2].' »/>’;

//-   echo ‘</span></p>’;

//+

echo « <p ><span> »;

echo « <input type=’submit’ name=’submit’ value=' ».$lang[« buttons »][2]. »‘ class=’submit’/> »;

echo « </span></p> »;

echo « </form> »;

//+

echo « </div> »;  // end login box

inc/auth.class.php

//-            $login_string = $_SERVER[$CFG_GLPI[« existing_auth_server_field »]];

//+

$login_string = $_REQUEST[$CFG_GLPI[« existing_auth_server_field »]];

//+

// Existing auth method

if (!empty($CFG_GLPI[« existing_auth_server_field »])

//-          && isset($_SERVER[$CFG_GLPI[« existing_auth_server_field »]])

//-          && !empty($_SERVER[$CFG_GLPI[« existing_auth_server_field »]])) {

//+

&&1

|| (isset($_REQUEST[$CFG_GLPI[« existing_auth_server_field »]])

&& !empty($_REQUEST[$CFG_GLPI[« existing_auth_server_field »]])))) {

//+

logout.php

// Redirect to the login-page

//glpi_header($CFG_GLPI[« root_doc »]. »/index.php ».$toADD);

//+

echo « <html><body onload=\ »javascript:window.close();\ »></body></html> »

//+

V. La liaison entre OCS et GLPI.

Pour la synchronisation automatique entre OCS et GLPI, je suis parti de cette source d’information forge.indepnet.net et j’ai utilisé fcron pour la synchronisation.

Pour la synchronisation automatique des utilisateurs entre GLPI et le LDAP de l’Active Directory, j’ai utilisé les informations du site http://www.glpi-project.org. J’ai configuré fcron pour qu’il puisse effectuer l’actualisation régulièrement dans la journée. Il faut faire attention de lancer la commande ‘php’ dans le répertoire où se trouve le script ldap_mass_sync.php, sinon, il y a un message d’erreur.

Ne pas écrire dans fcron la commande suivante :

/usr/bin/php /var/www/glpi/scripts/ldap_mass_sync.php -server_id=1 action=1 (ou 0)

mais plutôt :

cd /var/www/glpi/scripts/ && php ldap_mass_sync.php -server_id=1 action=1

VI. Les problèmes rencontrés avec les versions utilisées.

Il est possible que vous rencontriez des problèmes avec GLPI si vous utilisiez une ancienne version et que vous souhaitez la mettre à jour. Aussi, j’ai rencontré un problème en passant de la version GLPI 0.71.2 à GLPI 0.72.4. Voici la solution que j’ai trouvée :

Vous allez dans la table ‘glpi_kbitems’ et vous adaptez « L’interclassement » avec le bon encodage de caractères « UTF8_unicode_ci » et vous rechargez la page sur votre navigateur.

Si cela ne résout pas votre problème, vous pouvez aussi consulter le forum de GLPI.

  1. isset($_SERVER[$CFG_GLPI[« existing_auth_server_field »]])

    && !empty($_SERVER[$CFG_GLPI[« existing_auth_server_field »]] []

Télécharger une version PDF de l'article

Comments are closed.