LAMP : 8ème Etape - LDAP, EGROUPWARE [DEBIAN]

DEBIANLINUXVIRTUAL HOSTLDAPGROUPWARE

EGROUP : Téléchargement des paquets

Les paquets à télécharger

Choisir les paquets :

Egroupware 1.4.004 (ou le dernier en cours)

Egwpear qui va avec.

Gallery qui va avec.

Prendre les fichiers.tar.gz.

Les copier dans un répertoire utilisateur quelconque, puis les détarer.

tar xvzf eGroupWare-1.4.004-2.tar.gz

tar xvzf eGroupWare-egw-pear-1.4.004-2.tar.gz

tar xvzf eGroupWare-gallery-1.4.004-2.tar.gz

Par défaut, un répertoire egroupware est créé dans l’arborescence existante et l’ensemble des trois archives a été décompressée dedans.

Rappel : nous avions décidé, dans les installations précédentes, de donner une arborescence particulière aux utilisateurs, en séparant les utilisateurs ftp des utilisateurs locaux - /home/ftp/utilisateurFtp. De même que pour les utilisateurs, nous avons appliqué la même méthode aux sites internet. L’egroupware sera donc réparti et installé dans le répertoire /var/www/wwwegroup).

Il convient maintenant de déplacer cet egroupware sous /var/wwwegroup.

cd egroup
mv * /var/www/wwwegroup/

Ensuite, il faut créer un virtual host egroupware qui va pointer sur /var/www/wwwegroup/.

Pour cela, il faut éditer le fichier :

nano /etc/apache2/sites-enabled/000-default

EGROUP : 1ère connexion

Vous pouvez dès à présent vous connecter par l’adresse IP du serveur egroupware.

https://192.22.1.1/

Bien, nous savons que ça marche, mais n’allons pas plus loin car il faut créer la base mysql, que nous évoquerons après la remarque de sécurité ci-dessous.


EGROUP : Gestion des virtual hosts

Remarque de sécurité importante :

C’est le premier enregistrement décrit dans virtualhost qui est pris par défaut, selon le port demandé, si aucun servername n’est indiqué dans l’url.

Pour exemple, un virtual host qui contient :

 premier virtual host - 192.22.1.1:80 internet
 deuxième virtual host - 192.22.1.1:443 egroupware
 troisième virtual host - 192.22.1.1 : 443 intranet
 quatrième virtual host - 192.22.1.1 :80 deuxièmeSiteInternet

le site atteint avec :
 http://192.22.1.1/ est internet (premier site 80 )
 https://192.22.1.1/ est egroupware (premier site 443)

Donc, puisque que virtualhost, par défaut, vous emmène à la racine de /var/www, et puisque nos sites sont situés sous cette racine, dans des répertoires séparés (ex : /var/www/wwwegroup), il faut enlever l’enregistrement par défaut de virtual host pour ne pas arriver à la racine. De plus, nous avons à la racine de www des répertoires comme phpmyadmin, postfixadmin que nous ne voulons pas partager.

Il faut donc soit enlever tout le virtual host par défaut, soit le commenter entièrement.
Texte virtual host par défaut :


EGROUP : Création base Mysql

Utilisons phpmyadmin

Dans un explorateur :

https://192.22.1.1/phpmyadmin/ devrait théoriquement nous amener à phpmyadmin...

Cela ne marche pas ? Bien sûr car nous avons décidé de sécuriser au maximum par virtual host. Aussi, et puisque nous n’avons donné qu’un accès par défaut par type de port utilisé (ex évoqué dans la remarque de sécurité ci-dessus, un accès sur le port 80 par défaut vous amène sur internet, un accès par le port 443 vous amène par défaut sur le site egroupware. )

Pourquoi ne pas créer un accès virtual host (443 - sécurisé) qui contiendrait seulement le portail d’accès à tous les autres sites. Ainsi, notre premier enregistrement sur le port 443 de notre virtual host contient notre portail intranet dans lequel tous les liens sur tous les sites existent. Nous sommes ainsi jamais au niveau de la racine /var/www.

Ce que nous avons fait :

Nous avons donc créé un virtual host dédié à l’administration qui sera accessible seulement aux administrateurs. Pour celà, nous avons modifié leur fichier hosts de leur poste Windows. Nous avons ainsi un peu plus de sécurité et nous cachons les pages d’administration au utilisateurs lambdas.

Pour tester et administrer les virtual hosts depuis notre machine cliente d’administration, (les virtual hosts sont volontairement pas déclarés sur un serveur DNS Local pour le moment), il faut éditer le fichier C :\WINDOWS\system32\drivers\etc\hosts et rajouter les lignes suivantes :

S’il y a utilisation d’un serveur DNS, les dns ci-dessus seront renseignés, sauf évidemment le premier (admin).

Maintenant les 4 virtual hosts sont accessibles depuis notre pc d’administration.

EGROUP : Création Utilisateur Egroupware

Pour reprendre la suite de l’installation d’egroupware, nous pouvons nous connecter à phpmyadmin, avec l’url suivante, utilisant le host "admin", déclaré dans le fichier hosts de windows :

https://admin/phpmyadmin/

Depuis cet accès phpmyadmin, nous devrons ajouter un utilisateur egroupware et une nouvelle base de donnée pour accueillir l’installation d’egroupware.

Après saisie du mot de passe, sur la page de phpmyadmin, cliquons sur Privilèges dans la colonne localhost, puis Ajouter un utilisateur dans la page suivante.

Nom d’utilisateur :

Réponse : egroupware

Serveur :

Réponse : local (localhost)

Mot de passe :

Réponse : MonMotde Passe (saisi deux fois)

Base de donnée :

Réponse : Sélectionner le bouton "créer la base portant son nom...")

puis bouton : EXECUTER

La base egroupware ainsi que son utilisateur est créée.


EGROUP : Phase de vérification des modules pour eGroupWare

Nous pouvons donc passer à la phase de vérification ainsi que l’installation d’egroupware.

Pour accéder à eGroupWare maintenant on peut utiliser soit le virtual host :


https://egroup

ou


https://192.22.1.1

Nous arrivons ainsi sur la page de sélection de langue.

Cliquer sur démarrer la procédure de vérification et , sur la page suivante, et modifier obligatoirement toutes les vérifications marquées d’une croix rouge. Le mode opératoire est décrit.

Pour les modifications marquées d’un éclair jaune, il est préférable de les corriger, mais vous pouvez en éviter si vous jugez ne pas avoir besoin des modules indiquée (ex : pgsql - progress sql - si vous n’utilisez pas progress, etc ...)

verif egroup

Astuce : Après avoir rectifié un paramètre, vous pouvez actualiser la page de test d’egroupware en tapant F5 .

En ce qui nous concerne, nous avons rectifié mémory limit à 24, mbstring (à ajouter dans php.ini), magic quote à Off. Nous ignorons pgsql, odbc, et oci8.

Pour ldap, egroupware ne trouve pas le module, nous l’avons installé avec :

apt-get install slapd
apt-get Php5-ldap

Rappel : vous pouvez interroger le cache d’apt-cache, avec apt-cache search ldap (et choisir slapd), sans oublier php5-ldap.
A l’installation du paquet ldap, il faut saisir un mot de passe administrateur. Vous avez le choix plus tard d’aller dans webmin ajouter le module LDAP.

Pour mémoire, LDAP peut être considéré comme un annuaire faisant du stockage d’information disponible pour toutes les applications. Un exemple d’annuaire autre que ldap, mais fonctionnant de la même manière est l’active directory de Microsoft .

Nous avons aussi installé le module imap (qui permet à php5 de comprendre les instructions imap, dans les fichiers php).

apt-cache search imap

choisir php5 imap

apt-get install php5-imap

A la question : poursuivre l’installation de libc-client sans gestion de « maildir » ?
Réponse : OUI (très important car nous voulons que le mail soit géré par mysql et pas par un système de fichiers sur disque) Cette gestion de mail par mysql est appelée virtualmail. Ainsi, une sauvegarde de la base mysql sauvegardera également tous les mails lus, et nous serons dispensés de sauvegarder la partie disque correspondant aux mails.

Nous avons aussi installé le module gd (qui permet à egroupware d’utiliser le project manager).

apt-cache search gd

choisir php5-gd

apt-get install php5-gd

Nous avons aussi installé le module pear (qui est quasi-indispensable à egroupware pour plein de services de mail).

apt-cache search pear

choisir php-pear

apt-get install php-pear

Puis,

pear install Auth_SASL

A ce stade, l’egroupware est prêt à être installé. Seuls les paquets que nous ne voulons pas restent en avertissement. (Cependant le choix des paquets et des avertissements peuvent varier d’une configuration à une autre et vous êtes libre arbitre.).

Choisir le menu au bas de page « configurer les entêtes »


EGROUP : Configuration des entêtes

C’est une page importante, elle consiste à positionner tous les réglages système par défaut pour egroupware (sauvegardes, répertoires, etc ...) Egroupware a son propre système de réglage de fonctionnement préférentiel, mais cette partie se passera dans l’applicatif egroupware.

Conf entetes

RACINE SERVEUR :

/var/www/wwwegroup

INCLURE ROOT :

/var/www/wwwegroup

IDENTIFIANT ENTETE :

admin

MOT DE PASSE ENTETE :


MonMotdePasseEntête (pour accéder à cette page)

LIMITER L’ACCES :

(laissé vide)

CONNECTIONS PERSISTANTES :

Oui

TYPE DE SESSION :

PHP

ACTIVER MCRYPT :

NON

VERSION :

(laissé vide)

VECTEUR D’INITIALISATION MCRYPT :

(laissé tel quel)

BOITE DE SELECTION DE DOMAINE :

NON

INSTANCE DE BASE DE DONNEE (EGW) :

(laissé défault)

TYPE DE BASE DE DONNEE :

Sélectionner Mysqli (php5)

NOM DU SERVEUR DE BASE DE DONNEE :


laissé localhost, sinon indiquer l’adresse ip du serveur mysql

PORT D’ACCES A LA BASE DE DONNEE :

laissé 3306

NOM DE LA BASE DE DONNEE :

laissé egroupware (nom de la base mysql)

UTILISATEUR DE LA BASE DE DONNEE :


laissé egroupware (utilisateur egroupware dans mysql)

MOT DE PASSE UTILISATEUR A LA BASE DE DONNEE :

MotdePasseUtilisateurEgroupwareMysql (créé dans mysql)

IDENTIFIANT DE CONFIGURATION :

laissé admin

MOT DE PASSE CONFIGURATION :

MotdePasseDomaineEgroupware

NE PAS CLIQUER SUR Ajouter une nouvelle instance (Domaine Egw).


EGROUP : Ecriture du header.inc.php

Le bas de la page se présente ainsi :

header

Nous voyons qu’il ne peut pas créer le fichier header.inc.php à cause de permissions manquantes. Ceci est normal car apache2 crée un utilisateur système, qui s’appelle www-data.

La création de cet utilisateur peut se voir dans le fichier /etc/passwd.

Cet utilisateur (www-data) n’a pas les droits pour écrire dans le répertoire d’egroupware qui est situé sur /var/www/wwwegroup/, et ne peut donc écrire le fichier header.inc.php.

L’interface d’egroupware propose donc de :

 soit télécharger le fichier header.inc.php sur son pc, le modifier avec ses paramètres, puis de le remettre "à la main" sous /var/www/wwwegroup/. (Bouton Télécharger)

 soit visualiser le fichier header.inc.php (Bouton voir), copier-coller le texte (complet), dans un nouveau document directement sur le serveur dans le répertoire approprié.

C’est cette deuxième méthode que nous avons choisie.

voir header

1 - ouvrir une fenêtre ssh,

2 - cd /var/www/wwwegroup/

(.. le répertoire de votre egroupware)

3 - nano header.inc.php

(..ou votre éditeur préféré..)

4 - copier l’intégralité du contenu de header.inc.php affiché par votre egroupware

5 - Coller dans l’éditeur ouvert en ssh (click droit souris)

6 - Sauvegarder votre fichier dans l’éditeur de texte en ssh.

Header.inc.php existe maintenant à la racine de votre site egroupware, avec les bons paramètres. Nous pouvons donc continuer l’installation d’egroupware, à travers l’interface web...

Cliquer sur bouton "Continuer", en bas de la page du contenu de header.inc.php.

Nous arrivons sur la page suivante :

setup g ?n ? egroup

Nous remarquons que la partie "Header Admin Login" est terminée. Il ne reste plus qu’à lancer la partie "Setup/Config Admin Login".

Allons y gaiement !


EGROUP - Suite de la Configuration

Nous arrivons sur l’écran suivant :

installation egroupware

Cocher "afficher les informations de déboguage supplémentaire", puis cliquer sur le bouton "installer" (juste en dessous).

Attention, tout le script s’affiche, avec les résultats sur la page, il faut donc aller tout au bas de la page pour cliquer ensuite sur le bouton "vérifier mon installation".

Vous devriez voir passer "en vert" tout sauf :

 étape 2 : configuration

 étape 3 : compte administrateur.

Cliquez sur bouton Etape 2 et répondre aux questions suivantes :

Entrez le chemin complet pour les fichiers temporaires :

laisser /tmp

Entrez le chemin complet pour les fichiers d’utilisateurs :

/home/sauve/egroupware/files

Entrez le chemin complet vers le répertoire de sauvegarde :

/home/sauve/egroupware/backup

NOTE : Ces répertoires correspondent à une politique de sauvegarde qui est décrite dans l’article suivant concernant les sauvegardes.

Entrez l’emplacement de l’URL de eGroupWare :

https://mondomaine.com/egroupware

ATTENTION : Ne pas mettre de "/" à la fin de l’adresse.

Ordre de sélection de type d’image :

PNG->JPEG->GIF

Entrez le nom de la machine sur laquelle ce serveur s’exécute :

192.22.1.1 (adresse IP du serveur)

Entrez votre serveur FTP par défaut :

192.22.1.1
(...adresse IP du serveur.. parce qu’on a installé proftpd)

Tentative d’utiliser le type MIME correct pour FTP au lieu de celui par défaut :

Laisser NON

Entrez votre serveur proxy HTTP :

adresse IP de votre proxy HTTP

... s’il existe sur votre réseau, sinon laisser vide.

Entrez le port de votre serveur proxy HTTP :


Le cas échéant, autres paramètres de votre proxy que vous devez connaître...en général 3128 ou 8080

Entrez le nom d’utilisateur pour le proxy HTTP :


Le cas échéant, autres paramètres de votre proxy que vous devez connaître...

Entrez le mot de passe pour le proxy HTTP :


Le cas échéant, autres paramètres de votre proxy que vous devez connaître...

ATTENTION : Du fait qu’on a précisé des sauvegardes ailleurs que dans le répertoire par défaut d’egroupware, il faut les créer sur le disque :

mkdir /home/sauve

mkdir /home/sauve/egroupware

mkdir /home/sauve/egroupware/files

mkdir /home/sauve/egroupware/backup

Ensuite, il faut autoriser "l’utilisateur d’apache2", soit www-data à s’approprier les répertoires où apache doit écrire.

chown -R www-data /home/sauve/egroupware/*


SERVEUR DE MESSAGERIE

nom d’hôte ou adresse IP du serveur de messagerie POP/IMAP :

adresse IP de votre serveur de messagerie
... s’il existe sur votre réseau, sinon laisser vide.

Protocole Mail server :

Choisir IMAP
(..parce qu’on reste dans le réseau local et que le serveur de mail n’est pas à l’extérieur - s’il avait une IP publique, on prendrait IMAPS).

Type de login Mail server :

Choisir Virtual Mail Manager
(..car nous avons choisi une authentification par base Mysql pour les comptes mail - évoqué ci-dessus - pas de maildir).

Domaine Mail (pour Virtual mail manager) :

saisir MonDomaine.com
(..il s’agit de l’extension d’adresse, après l’arobase, dans les adresses mail).

Nom d’hôte ou adresse IP du serveur SMTP :

adresse IP de votre serveur SMTP
... s’il existe sur votre réseau, sinon laisser vide.

Port du serveur SMTP :

port de votre serveur SMTP, en général 25
... s’il existe sur votre réseau, sinon laisser vide.

Utilisateur pour l’authentification SMTP (laisser vide si aucune authentification n’est requise) :

Laisser vide.

Mot de passe pour l’authentification SMTP :

Laisser vide.

Astuce : Pour les paramètres mail que nous venons de compléter, il est évident qu’ils ne sont obligatoires que si nous voulons nous servir des fonctions de mail d’egroupware. Dans le cas contraire, vous pouvez laisser à blanc les champs à compléter et ne pas vous servir du mail d’egroupware. Et si, plus tard, vous décidiez d’implémenter les fonctions de mail, vous pourrez revenir sur cette page et compléter les champs pour egroupware. Il suffira de taper dans l’url de votre explorateur :
https://adresse_Ip_serveur/setup/config.php



AUTHENTIFICATION COMPTES

Voir les réponses choisies sur l’image ci-dessous...

setup authentification

Sur l’image suivante :

Pour la partie Ldap et active directory. Nous n’avons pas complété LDAP car nous pourrons le faire si nous décidons plus tard de laisser LDAP gérer les comptes et les groupes Egroupware. Par défaut, les comptes et les groupes d’egroupware sont gérés par défaut par egroupware.

Nous avons renseigné la partie active directory car nous avons un serveur de domaine windows sur le réseau et nous pensons que cette partie est nécessaire à l’usage de samba dans un domaine windows avec les comptes d’egroupware.

setup ldap

Image suivante :

Enfin dernière étape, nous n’avons pas sélectionné de méthode de cryptage, et nous avons choisi SQL version 2 (expérimentale..), ainsi que le stockage par système de fichiers pour éviter d’avoir une base sql énorme et faciliter la sauvegarde des fichiers.

fin config egroup

EGROUP : Dernière Etape - Compte Admin

Depuis la page générale de configuration, sélectionner Etape 3 - Création du compte admin.

Aux questions :

Supprimez tous les comptes ...?


NON (...vu que nous venons de créer la base, elle est vide..)

Identifiant (login), prénom, nom, adresse email, mot de passe.

A compléter selon votre choix mais nous conseillons très fortement de ne jamais créer un utilisateur admin, avec le login admin pour des raisons de sécurité dont vous ne pouvez douter !

Donner les droits administrateurs à tous...

Coché la Case (... oui, pour qu’on puisse avoir tous les accès pour gérer egroupware, depuis egroupware).

FELICITATIONS ! - Vous pouvez vous connecter par l’url :

https://MonDomaine/egroup/

Documents joints