Voici la première maquette qui servira aussi pour la configuration des installations de supervision. Petite mise à jour avec Debian Jessie et corrections d’erreurs sur les pages.
1 Plantons le décor
Pour cette première maquette, nous allons créer notre petite entreprise. Nous l'appellerons DUCHMOL, elle aura un nom de domaine duchmol.net. Trois personnes travaillent dans cette entreprise : un patron, un informaticien et un stagiaire. Chacun aura un rôle bien défini dans les rôles d'administration de la supervision. L'entreprise DUCHMOL est équipée d'un site web gréé par le stagiaire. Celui-ci aura une délégation sur la supervision pour sa partie concernée au Web. Le patron aura une visu sur le SI informatique tel un directeur informatique et l'informaticien aura la vision globale du SI. Une connexion LDAP sera nécessaire pour s'authentifier sur la supervision. Un webmail pourra être consulté pour les notifications.
2 Serveur DNS, LDAP, WEBMAIL
Construisons notre premier serveur nommé server3. Nous utiliserons une vm debian comme indiqué dans l’article de l’installation d’une VM VMware Fusion.
2.1 Configuration de base
Notre VM étant préparée, installons ssh pour utiliser une fenêtre de terminal.
apt-get install ssh
Modifions le nom du serveur, modifiez /etc/hostname
server3
le fichier host, modifiez /etc/hosts
127.0.0.1 localhost.duchmol.net localhost 127.0.1.1 server3.duchmol.net server3 172.16.209.52 server3.duchmol.net server3
et l'adresse IP, modifiez /etc/network/interfaces
iface eth0 inet static address 172.16.209.52 netmask 255.255.255.0 gateway 172.16.209.2
2.2 DNS
Installons les paquets pour le DNS et les outils correspondants.
apt-get install bind9 dnsutils
2.2.a configuration
InstallonCréation des fichiers de la zone duchmol.net. Ajoutons le fichier /etc/bind/db.duchmol.net pour créer la zone principale
$ORIGIN duchmol.net. $TTL 1600 @ IN SOA server3.duchmol.net. root.duchmol.net. ( 20140324 ; Serial -> N° de série à incrémenter à chaque modif ; de ce fichier. Ce N° est utilisé par les ; serveurs esclaves pour lui indiquer qu'il ; doit mettre à jour sa base. Par commodité ; ce n° est une date à l'envers. 604800 ;Refresh -> A l'expiration du délai Refresh exprimé en ; secondes, le serveur excalve va entrer en ; communication avec le maitre et si il ne ; le trouve pas, il fera une nouvelle ; tentative au bout du délai Retry et si au ; bout du délai Expire il considerera que le ; serveur n'est plus disponible. 86400 ; Retry 2419200 ; Expire 604800 ) ; Minimum -> Durée de vie minimum du cache en secondes ;** Les 3 lignes suivantes permettent au serveur de se retrouver lui même @ IN NS server3.duchmol.net. ;Nom du serveur @ IN MX 10 server3.duchmol.net. server3 IN A 172.16.209.52 ;Adresse IP du serveur de noms server3 IN HINFO "vmfusion :-)" "Debian Testing" ;Info complèmentaire ;** Les lignes suivantes définissent la table entre les noms et les IP ldap CNAME server3 imap CNAME server3 pop CNAME server3 smtp CNAME server3 ;** Les lignes suivantes sont des alias entre des noms et des autres noms supervision A 172.16.209.50 ;Adresse IP du serveur Nagios-Centreon weblamp A 172.16.209.51 ;serveur weblamp
Création de la zone inverse, créez le fichier /etc/bind/db.duchmol.net.inv pour la résolution inverse
$ORIGIN 209.16.172.in-addr.arpa. $TTL 1600 @ IN SOA server3.duchmol.net. root.duchmol.net. ( 20140324 604800 86400 2419200 604800 ) @ IN NS server3.duchmol.net. 52 PTR server3.duchmol.net. 51 PTR weblamp.duchmol.net 50 PTR supervision.duchmol.net.
Modifier le fichier de configuration local de bin, /etc/bind/named.conf.local
// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; zone "duchmol.net" { type master; file "/etc/bind/db.duchmol.net"; forwarders{}; }; zone "209.16.172.in-addr.arpa" { type master; file "/etc/bind/db.duchmol.net.inv"; forwarders{}; };
Attention de ne pas oublier de modifier le fichier /etc/resolv.conf.
domain duchmol.net search duchmol.net nameserver 172.16.209.52
On relance le service dns
service bind9 restart [....] Stopping domain name service...: bind9waiting for pid 2289 to die . ok [ ok ] Starting domain name service...: bind9.
2.2.b vérification du fonctionnement
On vérifie les logs, il ne doit pas avoir d'erreur.
# tail /var/log/syslog Mar 30 18:07:52 server3 named[3045]: command channel listening on 127.0.0.1#953 Mar 30 18:07:52 server3 named[3045]: command channel listening on ::1#953 Mar 30 18:07:52 server3 named[3045]: zone 0.in-addr.arpa/IN: loaded serial 1 Mar 30 18:07:52 server3 named[3045]: zone 127.in-addr.arpa/IN: loaded serial 1 Mar 30 18:07:52 server3 named[3045]: zone 209.16.172.in-addr.arpa/IN: loaded serial 20140324 Mar 30 18:07:52 server3 named[3045]: zone 255.in-addr.arpa/IN: loaded serial 1 Mar 30 18:07:52 server3 named[3045]: zone localhost/IN: loaded serial 2 Mar 30 18:07:52 server3 named[3045]: zone duchmol.net/IN: loaded serial 20140324 Mar 30 18:07:52 server3 named[3045]: managed-keys-zone ./IN: loaded serial 11 Mar 30 18:07:52 server3 named[3045]: running
Nous allons vérifier la résolution dns avec nslookup.
# nslookup > server3 Server: 172.16.209.52 Address: 172.16.209.52#53 Name: server3.duchmol.net Address: 172.16.209.52 > server3.duchmol.net Server: 172.16.209.52 Address: 172.16.209.52#53 Name: server3.duchmol.net Address: 172.16.209.52
On vérifie la fonction de forwarder (redirection).
> google.fr Server: 172.16.209.52 Address: 172.16.209.52#53 Non-authoritative answer: Name: google.fr Address: 173.194.40.120 Name: google.fr Address: 173.194.40.127 Name: google.fr Address: 173.194.40.119
2.3 LDAP
Installons les paquets pour LDAP et les outils web correspondants. A l'installation de LDAP, on vous demandera un mot de passe administrateur. Notez le, vous en aurez besoin lors de la configuration de notre maquette.
apt-get install slapd ldap-utils phpldapadmin
2.3.a configuration
Configurez LDAP
dpkg-reconfigure slapd
Nous avons besoin du schéma de Courier pour notre base LDAP. Installons les paquets pour COURIER et les outils correspondants.
apt-get install courier-base courier-authdaemon courier-imap courier-authlib-ldap courier-pop courier-ldap fam
Il faut récupérer le schéma pour l'authentification de COURIER avec LDAP et l'inclure dans notre base LDAP. Si le fichier est compressé, utilisez cette commande :
zcat /usr/share/doc/courier-authlib-ldap/authldap.schema.gz > /etc/ldap/schema/authldap.schema
Sinon utilisez cette commande :
cat /usr/share/doc/courier-authlib-ldap/authldap.schema > /etc/ldap/schema/authldap.schema
Vous devrez corriger ce schéma en supprimant la chaine $ mailhost située à la description de la classe d'objet CourierMailAccount (ligne MAY)
objectclass ( 1.3.6.1.4.1.10018.1.2.1 NAME 'CourierMailAccount' DESC 'Mail account object as used by the Courier mail server' SUP top AUXILIARY MUST ( mail $ homeDirectory ) MAY ( uidNumber $ gidNumber $ mailbox $ uid $ cn $ gecos $ description $ loginShell $ quota $ userPassword $ clearPassword $ defaultdelivery $ disableimap $ disablepop3 $ disablewebmail $ sharedgroup $ disableshared ) )
Générez le schéma complet de votre LDAP. Appliquez les droits sur la configuration et redémarrez LDAP.
cat > /etc/ldap/slapd.conf << EOF include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/authldap.schema EOF
rm -R /etc/ldap/slapd.d/cn\=config/cn\=schema/* slaptest -f /etc/ldap/slapd.conf -F /etc/ldap/slapd.d/ chown openldap:openldap /etc/ldap/schema/ -R chown openldap:openldap /etc/ldap/slapd.d/ -R service slapd restart
Vous pouvez vérifier le fonctionnement de votre LDAP
ldapsearch -h ldap -b dc=duchmol,dc=net -x
2.3.b Peuplement de votre LDAP
Créez un fichier ldif addcontact.ldif comme ci-dessous. Ne vous inquiétez pas pour les mots de passe, vous pourrez les redéfinir avec l'interface web phpldapadmin.
dn: o=maboite,dc=duchmol,dc=net objectClass: CourierDomainAlias objectClass: organization objectClass: top o: maboite virtualdomain: duchmol.net virtualdomainuser: duchmol.net/ dn: ou=users,o=maboite,dc=duchmol,dc=net objectClass: organizationalUnit objectClass: top ou: users dn: ou=aliases,o=maboite,dc=duchmol,dc=net objectClass: organizationalUnit objectClass: top ou: aliases dn: cn=jean.dupont,ou=users,o=maboite,dc=duchmol,dc=net objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: CourierMailAccount objectClass: top cn: jean.dupont gidNumber: 5000 givenName: jdupont homeDirectory: /home/vmail/ mail: jean.dupont@duchmol.net mailbox: duchmol.net/jean.dupont/ sn: dupont uid: jean.dupont uidNumber: 5000 quota: 500 userPassword: {SSHA} e1NTSEF9MTk2QzBtbEU0Wi9BN0RjeVpHa1Y0Zm1lT1l6d3RoZ1MK dn: cn=eric.coquard,ou=users,o=maboite,dc=duchmol,dc=net objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: CourierMailAccount objectClass: top cn: eric.coquard gidNumber: 5001 givenName: ecoquard homeDirectory: /home/vmail/ mail: eric.coquard@duchmol.net mailbox: duchmol.net/eric.coquard/ sn: coquard uid: eric.coquard uidNumber: 5001 quota: 500 userPassword:{SSHA} e1NTSEF9Zlh2Qi9jS2hRMU1uZFFtcGx5elA5c3VIRWdxL0ViaWoK dn: cn=alain.durand,ou=users,o=maboite,dc=duchmol,dc=net objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: CourierMailAccount objectClass: top cn: alain.durand gidNumber: 5002 givenName: adurand homeDirectory: /home/vmail/ mail: alain.durand@duchmol.net mailbox: duchmol.net/alain.durand/ sn: durand uid: alain.durand uidNumber: 5002 quota: 500 userPassword:{SSHA} e1NTSEF9d09wOEVobFJSeUEyNDk0cEJ3NUR3T1ZXNmhFQ0IraVgK
Peuplez votre base LDAP avec la commande suivante
ldapadd -D "cn=admin,dc=duchmol,dc=net" -W -h localhost -f addcontact.ldif
Si vous avez fait une erreur et que vous voulez repartir sur une base propre, vous pouvez utiliser cette commande.
ldapdelete -D "cn=admin,dc=duchmol,dc=net" -W -h localhost -v -r "dc=duchmol,dc=net"
2.3.c Configuration de phpldapadmin
Modifiez les paramètres du fichiers de configuration /etc/phpldapadmin/config.php pour l'adapter à notre configuration.
$servers->setValue('server','base',array('dc=duchmol,dc=net')); $servers->setValue('login','bind_id','cn=admin,dc=duchmol,dc=net');
Créez le lien symbolique pour avoir accès à partir d'apache
ln -s /usr/share/phpldapadmin/ /var/www/ldap
Connectez vous avec votre navigateur à l'url http://172.16.209.52/phpldapadmin/
Initialisez les mots de passe des comptes comme indiqué sur l'organigramme précédent. Passons à la configuration de POSTFIX.
2.4 POSTFIX
Installons les paquets correspondants à POSTFIX.
apt-get install postfix postfix-ldap postfix-pcre
2.4.a Configuration
Nous allons créer un utilisateur système pour gérer les utilisateurs
groupadd -g 6000 vmail useradd -u 6000 -g 6000 -d /home/vmail -s /bin/false -m vmail
Il faut aussi créer les boîtes mail des utilisateurs
mkdir –p /home/vmail/duchmol.net/ cd /home/vmail/duchmol.net/ maildirmake eric.coquard maildirmake -f Sent eric.coquard maildirmake -f Queue eric.coquard maildirmake -f junkmail eric.coquard maildirmake -f virus eric.coquard maildirmake -f Drafts eric.coquard maildirmake -f Trash eric.coquard maildirmake jean.dupont maildirmake -f Sent jean.dupont maildirmake -f Queue jean.dupont maildirmake -f junkmail jean.dupont maildirmake -f virus jean.dupont maildirmake -f Drafts jean.dupont maildirmake -f Trash jean.dupont maildirmake alain.durand maildirmake -f Sent alain.durand maildirmake -f Queue alain.durand maildirmake -f junkmail alain.durand maildirmake -f virus alain.durand maildirmake -f Drafts alain.durand maildirmake -f Trash alain.durand chown -R vmail:vmail /home/vmail
Rajoutons les lignes suivantes dans le fichier /etc/postfix/main.cf
virtual_mailbox_domains = ldap:/etc/postfix/ldap-domains.cf virtual_mailbox_base = /home/vmail virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf virtual_minimum_uid = 100 virtual_gid_maps = static:6000 virtual_uid_maps = static:6000 virtual_alias_maps = ldap:/etc/postfix/ldap-aliases.cf unknown_local_recipient_reject_code = 450
N'oubliez pas d'autorisez le réseau dans la configuration POSTFIX.
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 172.16.209.0/24
Il nous faut ensuite créer les 3 fichiers pour la connectivité LDAP : ldap-domains.cf, ldap-accounts.cf, ldap-aliases.cf. N'oubliez pas de remplacer la chaine [mot de passe] par votre mot de passe préféré.
cat > /etc/postfix/ldap-domains.cf << EOF server_host = localhost server_port = 389 search_base = dc=duchmol,dc=net query_filter = (&(objectClass=CourierDomainAlias)(virtualdomain=%s)) result_attribute = virtualdomain bind = yes bind_dn = cn=admin,dc=duchmol,dc=net bind_pw = [mot de passe] version = 3 EOF
cat > /etc/postfix/ldap-accounts.cf << EOF server_host = localhost server_port = 389 search_base = dc=duchmol,dc=net query_filter = (& (objectClass=CourierMailAccount)(mail=%s)) result_attribute = mailbox bind = yes bind_dn = cn=admin,dc=duchmol,dc=net bind_pw = [mot de passe] version = 3 EOF
cat > /etc/postfix/ldap-aliases.cf << EOF server_host = localhost search_base = dc=duchmol,dc=net query_filter = (&(objectClass=CourierMailAlias) (mail=%s)) result_attribute = maildrop bind = yes bind_dn = cn=admin,dc=duchmol,dc=net bind_pw = [mot de passe] version = 3 EOF
2.4.b vérification du fonctionnement
Vérifions le paramétrage et relançons le serveur.
postfix check service postfix stop newaliases service postfix start
2.5 Courier
Passons à la configuration du serveur IMAP. Pour cela, éditons le fichier /etc/courier/authdaemonrc. Modifions la ligne suivante :
authmodulelist="authldap"
Pour l'authentification LDAP, éditons le fichier /etc/courier/authldaprc. Modifiez les lignes suivantes.
LDAP_URI ldap://ldap.duchmol.net LDAP_BASEDN dc=duchmol, dc=net LDAP_BINDDN cn=admin, dc=duchmol, dc=net LDAP_BINDPW [mot de passe] LDAP_DOMAIN duchmol.net LDAP_GLOB_UID vmail LDAP_GLOB_GID vmail #LDAP_CLEARPW clearPassword LDAP_CRYPTPW userPassword
Redémarrer le service courier
service courier-authdaemon restart
afin de vérifier le bon fonctionnement de COURIER, vous pouvez utiliser cette commande. Elle vous retournera les informations de la personne concernée.
authtest jean.dupont@duchmol.net
Authentication succeeded.
Authenticated: jean.dupont@duchmol.net (uid 6000, gid 6000)
Home Directory: /home/vmail/
Maildir: duchmol.net/jean.dupont/
Quota: (none)
Encrypted Password: {SSHA}7/SIWphkpXrxbgjEDAi060muWemJ7RFX
Cleartext Password: (none)
Options: (none)
2.6 Webmail
Installons maintenant un webmail, nous utiliserons SquirrelMail, pour sa simplicité d'utilisation.
apt-get install squirrelmail
2.6.a Configuration Apache 2.2
Effectuez un lien symbolique pour fonctionner avec le serveur Web.
ln -s /usr/share/squirrelmail/ /var/www/webmail
2.6.b Configuration Apache 2.4
Copiez le fichier de configuration de squirrelmail.
cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail.conf
Activez le fichier de configuration et rechargez apache.
a2ensite squirrelmail.conf service apache2 reload
2.6.c Configuration de SquirrelMail
Configurez SquirrelMail avec COURIER
squirrelmail-configure
Pour vérifier la configuration via le navigateur Web, saisissez l'url suivante
http://172.16.209.52/webmail/src/configtest.php
Vous obtiendrez la page suivante.
Connectez-vous a votre webmail avec un compte.
2.6.d Support de la langue française
Vous avez la possibilité de modifier la langue par défaut. Utilisez l'utilitaire de configuration de SquirrelMail.
squirrelmail-configure
Pour obtenir la langue française, vous devez vérifiez vos jeux de paramètres régionaux. Vous devez sélectionnez au moins celui qui est mentionné sur la configuration de SquirrelMail (iso-8859-1). En effet, par défaut, l'installation de Debian vous configure le jeu de paramètre régional fr_FR.UTF 8. Vous n'aurez jamais l'interface de SquirrelMail en français avec ce jeu de paramètre régional. Il faut rajouter le jeu fr_FR ISO-8859-1. Lancez la commande suivante.
dpkg-reconfigure locales
Generating locales (this might take a while)... fr_FR.ISO-8859-1... done fr_FR.UTF-8... done Generation complete.
Vous devriez obtenir ce message ci-dessus. Relancez la page de vérification de configuration avec l’url suivante.
http://172.16.209.52/webmail/src/configtest.php
Vérifiez le changement de la langue dans votre interface web de SquirrelMail.
3 Serveur Weblamp
Réaliser un serveur Lamp est un jeu d'enfant avec Debian. Installer les paquets suivants.
apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php-apc mysql-server phpmyadmin apache2-suexec-custom libapache2-mod-suphp vsftpd
4 Serveur Supervision
Pour l'installation de votre serveur de supervision, il vous reste à consulter les pages suivantes :
- Installation du moteur de supervision
- Installation du broker
- Installation de l'interface Web.
Je vous invite à consulter mes autres pages
- pour la configuration de base de notre supervision,
- pour l'authentification LDAP,
- pour la gestion des notifications.
- pour l'installation des widgets
- Installation du moteur de supervision
- Installation du broker
- Installation de l'interface Web.
Je vous invite à consulter mes autres pages
- pour la configuration de base de notre supervision,
- pour l'authentification LDAP,
- pour la gestion des notifications.
- pour l'installation des widgets