<releaseinfo>$Id: realisation.xml,v 1.3 2004/09/07 15:58:49 laurent Exp $</releaseinfo>
Copyright © 2003
Résumé
Cette documentation revet un caractère interne et sert de "base de connaissance" aux techniciens de l'académie de Grenoble ayant en charge le déploiement, le suivi et la maintenance des systèmes SLIS.
cette section traite des procèdures de sauvegarde
=> http://172.16.0.1:1098/
=> Fonction avancée => Menu experimental => Sauvegarde
Cette section traite de la sauvegarde du site Web Intranet
# ssh nom_du_slis
# du -sk /home/httpd/html
# df
# tar -zcvf /home/assistance/html.tgz --exclude /home/httpd/html/index.html /home/httpd/html
# ncftp # open -u assistance nom_du_slis # get html.tgz # bye
Cette section traite de la sauvegarde des mails spoolés
# tar zcvf /home/bzeznik/mails.tgz /var/spool/mail
# scp /home/bzeznik/mails.tgz root@ "adresse_ip_de_votre_portable":/tmp
# ssh nom_du_slis
# mcopy a:backup-1x.bash . # bash ./backup-1x.bash
=> http://172.16.0.1:1098/backup.tgz (attention a l'espace disque) => Enregistrer le fichier de sauvegarde "backup.tgz" sur cette station (A).
=> Fonction avancee => Menu experimental => Restauration des bases => Restore from SLIS 1.x
=> http://172.16.0.1:1098/
=> Fonction avancée => Menu experimental => Restauration des bases => Restore from SLIS 2.x
# ncftp# open -u assistance "nom_du_slis" # put html.tgz # bye
# tar zxvf /home/assistance/html.tgz --directory /
# scp mail.tgz root@IP_slis:/tmp/mails.tgz
# tar zxvf /home/bzeznik/mails.tgz --directory /
# cd /var/spool/mail; for i in `ls`; do chown $i $i; done
Postgres est le système de gestion de bases de données relationnelles (DBMS, en français : SGBDR) utilisé par SLIS.
Typiquement, on retrouve les bases suivantes sur SLIS :
hadmin=# \l List of databases Name | Owner | Encoding -----------+----------+----------- b2i | slis | SQL_ASCII dhcp | postgres | SQL_ASCII hadmin | postgres | SQL_ASCII horde | postgres | SQL_ASCII slis | slis | SQL_ASCII template0 | postgres | SQL_ASCII template1 | postgres | SQL_ASCII (7 rows)
Voici une procédure qui permet de supprimmer tous les utilisateurs d'un SLIS, d'un seul coup. (en effet, cette opération n'est pas possible depuis l'interface d'administration
# grep ADMIN /home/hadmin/html/config_pgsql.inc.php
$ADMINPASS="Vzj1S2EX"; $ADMINUSER="hadmin"; $BASE_HADMIN="hadmin";
# export PGUSER=hadmin# export PGPASSWORD=Vzj1S2EX
# psql hadmin
hadmin=> update users set delete='1',tovalid='1';
hadmin=> \q
# /usr/local/sbin/valid
localisation => /home/hadmin/html
#cp -a phppgadmin/ pg
##vi config.inc.php
$cfgServers[1]['stduser'] = $SLISSUSER; $cfgServers[1]['stdpass'] = $SLISPASS; $cfgServers[1]['user'] = $SLISSUSER; $cfgServers[1]['password'] = $SLISPASS;par :
$cfgServers[1]['stduser'] = $POSTGRESUSER; $cfgServers[1]['stdpass'] = $POSTGRESPASS; $cfgServers[1]['user'] = $POSTGRESUSER; $cfgServers[1]['password'] = $POSTGRESPASS;
http://mon_slis:1098/pg/
Voici 3 lignes qui peuvent résoudre pas mal de soucis sur des SLIS qui ont des lenteurs (vous savez, par exemple, messages a répetition ERR: lockfile: Sorry, giving up on "/var/lock/process_subnets.cron" )
export PGPASSWORD=`grep POSTGRESPASS \ /home/hadmin/html/config_pgsql.inc.php |cut -d\" -f2` export PGUSER=postgres psql -tqc "vacuum full analyse" hadmin
Voici une petite séquence de commandes qui peuvent remettre sur pied la base SQL d'un vieux SLIS lorsque celle-ci est bloquée sans raison apparente (process_subnets.cron qui plante en permanence sur une v2. Mais cela peut-etre utile sur v3 aussi). Le but est de purger les grosses tables de logs squid et apache (attention, on perd les données) et de reconstruire tout le reste et d'optimiser les index. Attention, il s'agit bien d'une séquence et pas d'un script, c'est à dire que ce sont des choses à taper ligne par ligne, cela ne marchera pas en copier-coller à partir de la commande psql puisqu'on passe en mode interactif. J'ai cependant ajouté des commentaires pour bien comprendre. Si le problème se reproduit trop souvent et que cette procédure se révèle efficace, on pourra en faire un script.
Récupérer les password dans /home/hadmin/html/config_pgsql.inc.php)
# less /home/hadmin/html/config_pgsql.inc.php
On passe "root" du serveur SQL
# export PGUSER=postgres # export PGPASSWORD=xxxxxxx
On dump la structure complète de la base
# pg_dump -s hadmin > /home/bzeznik/hadmin.sql
On dump les données de toutes les tables "utiles"
for i in alias badlogin classes conns groups oldvalue password security_filters subnets subnetstat users do pg_dump -a -t $i hadmin >> /home/bzeznik/hadmin.sql done
On se connecte avec le client interactif
# psql template1
On détruit la base hadmin
# drop database hadmin
On recréé la base hadmin et on quitte le client sql
# create database hadmin; # \q
On passe sous le user hadmin
# export PGUSER=hadmin # export PGPASSWORD=xxxxxxxx
# On se connecte avec le client interactif
# psql hadmin
On restaure la base et on quitte
# \i /home/bzeznik/hadmin.sql # \q
A Grenoble, on utilise maintenant :
BASE_DN = "ou=<code RNE>,ou=ac-grenoble,ou=education,o=gouv,c=fr" LDAP_USERS="ou=People,ou=<code RNE>,ou=ac-grenoble,ou=education,o=gouv,c=fr LDAP_GROUPS="ou=Groups,ou=<code RNE>,ou=ac-grenoble,ou=education,o=gouv,c=fr LDAP_COMPS="ou=Computers,ou=<code RNE>,ou=ac-grenoble,ou=education,o=gouv,c=fr
Les SLIS existants n'ont pas été modifié, mais dès qu'on réinstalle un SLIS, on passe sur ce nouveau modèle. Par ailleurs, depuis SLIS 3.1, on ne peut plus reprendre des variables dans les définitions de variables.
On retrouve les différents services ici:
/etc/rc.d/init.d
Pour connaître le statut d'un service:
service [nom du service] status
Pour relancer un service:
service [nom du service] restart
Cette commande à pour effet de purger les mails spoolés dans Sendmail
#sendmail -q
Il faut modifier le fichier /etc/samba/smb.conf et ajouter la ligne suivante dans la section [global] (Attention à la taille maxi du fichier de log qui serait écrasé si trop petit)
=============== [global] log level = 9 ===============
Il est possible de diagnostiquer certains problèmes liés à squid en utilisant lynx. En spécifiant comme proxy l'interface Eth1 de slis dans la config de lynx, on oblige ce dernier à passer par squid pour tout accès http.
Editer la configuration de lynx
#vi /etc/lynx.cfg
Rechercher et modifier les lignes spécifiques à la configuration du proxy
/proxy
Remplacer lal ligne:
#http_proxy:http://some.server.dom:port/
par
http_proxy:http://172.16.0.1:3128/
N'oubliez pas de décommenter la ligne ...
Comment remettre une carte reseau qui n'est plus en static, c'est à dire qui prend par exemple une adresse ip du serveur dhcp présent sur le reseau. Le problème survient lors du changement d'une carte réseau et que celle-ci est mal parametrée au moment ou SLIS signale le changement.
Se conecter root
Editer la configuration de la carte
#vi /etc/sysconfig/network-scripts/ifcfg-eth1
Relancer le service:
#/etc/rc.d/init.d/network restart
Dans certains cas spécifique, il est nécéssaire de changer l'adresse IP d'une interface réseau (cas des slis situés dans un réseau connecté par le biais d'autres équipements)
Se connecter root
# ifconfig eth(1) 172.16.0.1 netmask 255.255.0.0
Dans certains cas spécifique, il est nécéssaire de changer la route par défaut du système (cas des slis situés dans un réseau connecté par le biais d'autres équipements)
Se connecter root
Supprimer la route par défaut
# route del default gateway
Ajouter la route voulue
# route add default gateway [IP gateway]
Il s'agit du mot de passe pour l'administration via l'interface web.
#cd /etc/hadmin/conf
#htpasswd users admin