1. Accélérer l'affichage des pages à l'aide d'un cache
Lorsque de nombreux utilisateurs visitent mon site, le serveur semble saturer rapidement. Comment y remédier simplement ?
Réponse:
Il suffit d'ajouter un HTTP Cache Manager à la racine du site, et de le paramétrer correctement. Pour ce faire :
1- Se connecter en tant qu'admin du site
2- Cliquer sur l'icone Z, la ZMI (Zope Management Interface) apparaît
3- Cliquer sur internet, en haut de page, à droite de "Folder at". Vous devez voir sur la page qui s'affiche alors : zwo_lib, zwo_modules, etc.
4- En haut à droite, dans le menu déroulant, sélectionner "Accelerated HTTP Cache Manager" et cliquer sur Add (vérifier auparavant qu'il n'en existe pas déjà un sur la page)
5- Le nommer "HTTPCacheManager" (sans espaces) et cliquer sur Add
6- Cliquer sur HTTPCacheManager, décocher "Cache anonymous connections only?" et cliquer sur le bouton "Save Changes"
7- Cliquer sur l'onglet Associate, choisir le type Image (et non pas All !). Cocher les bouton All et Search subfolders. Cliquer sur Locate, et attendre patiemment que la page se charge.
8- Une fois la page chargée, aller tout en bas, cliquer sur "Select all", patienter. Une fois toutes les cases cochées, cliquer sur "Save Changes", et patienter à nouveau. Un message "nnn association(s) made, 0 removed." apparaît.
9- Recommencer les étapes 7 et 8 pour le type File.
C'est fait, les images et les fichiers de votre site sont en cache. Mine de rien votre site va devenir rapidement 4 à 5 fois plus rapide qu'avant !
Recommencer l'opération après que votre site aura subi de profond changements (nouvelles images, nouveaux fichiers).
2. Charger les pilotes SCSI lors de l'installation d'un ZEServer (Sarge)
Lorsque je lance l'installation d'un ZEServer (version Sarge), le lecteur de cédérom est bien reconnu, mais pas mes disques durs SCSI ou SATA.
Réponse:
S'assurer, dans le Setup du BIOS, que les interfaces SATA sont en mode "Compatible".
Après la configuration de la langue et du réseau, vient celle des disques durs. Il se peut que ceux-ci ne soient pas reconnus, s'ils sont de type SATA ou SCSI. Il faut charger les pilotes en mémoire.
Pour charger les pilotes SCSI/SATA en mémoire :
1°) Ouvrir une console (si, si, c'est possible, même pendant l'installation !) :
ctl-alt-F2
valider pour ouvrir la seconde console
2°) Dans cette console, entrez les commandes ([TAB] représente la touche de tabulation):
# cd /lib/modules/[TAB]/[TAB]/drivers/scsi/
# ls (toute une liste de .ko s'affiche)
# for f in `ls *ko` ; do (g=`echo $f | sed s/\.ko//` ; modprobe $g ); done
Le symbole ` s'obtient avec AltGr 7 suivi d'un espace.
Tous les pilotes sont testés, et ceux compatibles avec le matériel chargés en mémoire.
3°) Retour à l'installation (Alt F1) et choix : recommencer la détection des disques.
Revenir
3. Impossible de créer les groupes Manager et config_zwook sur l'Active-Directory, en cliquant sur les liens prévus
Après avoir paramétré correctement l'annuaire LDAP (Active-Directory d'un serveur Win200x), lors de la mise en place des groupes, j'ai beau cliquer sur les liens permettant de créer automatiquement les groupes Manager et config_zwook sur LDAP, rien ne se passe et les liens sont toujours là (alors qu'ils devraient disparaître en cas de succès de l'opération).
Réponse:
Cela vient du fait que l'Administrateur n'est pas autorisé à accéder au serveur Win200x depuis le réseau.
Sur un serveur Win2000 :
Démarrer / Outils d'administration / Stratégies de sécurité du domaine
Paramètres de sécurité -> Stratégies locales -> Attribution des droits d'utilisateur
-> Accéder à cet ordinateur depuis le réseau
Mettre le compte Administrateur ou le groupe Administrateurs.
-> Synchoniser les données de l'annuaire Active Directory
Mettre le compte Administrateur ou le groupe Administrateurs.
4. Je ne peux pas administrer mon serveur Win2003 à distance
Comment obtenir l'autorisation d'accéder à distance au bureau du serveur Win2003 ?
Réponse:
Sur un serveur Win2003 :
Clic-droit sur Poste de travail, Propriétés, onglet Utilisation à distance
-> Cocher la case Bureau à distance / Autoriser ...
-> Bouton choisir des utilisateurs distants : mettre le compte Administrateur ou le groupe Administrateurs.
5. Mes groupes LDAP sont vides !
Lorsque je veux éditer un groupe pour y insérer (ou en supprimer) des utilisateurs LDAP, la liste de ceux-ci est vide. Comment y remédier ?
Réponse:
Cela n'est pas un bug de ZwookEdu, mais votre serveur LDAP ou Active Directory qui répond que la requête retourne trop de réponses. La liste retournée est vide.
Pour pallier à cela, il faut indiquer à LDAP (ou Active Directory) qu'il doit augmenter le nombre maxi de réponses à une requête.
Cas de LDAP sur serveur Linux :
Editez le fichier /etc/ldap/slapd.conf ou /etc/openldap/slapd.conf et ajoutez ou modifiez la ligne :
sizelimit 5000
(Remplacez 5000 par ce que vous voulez, je conseille au moins le double du nombre actuel de vos utilisateurs.)
Redémarrez le service:
/etc/init.d/ldap restart ou /etc/init.d/slapd restart
Cela suffit.
Cas d'Active Directory sous Win2003 :
C'est plus compliqué, mais on y arrive !
Notez d'abord le nom DNS de votre serveur :
Démarrer/Outils d'administration/Utilisateurs et ordinateurs Active Directory
Le nom DNS de votre serveur est indiqué entre crochets après le titre, sur la première ligne de la fenêtre de gauche (qu'il faut peut-être faire défiler horizontalement). Par exemple : iaca.test.local
Lancez l'utilitaire ntdsutil de Win200x : (Tapez ce qui en gras.)
Démarrer/Exécuter : ntdsutil.exe
C:\WINNT\system32\ntdsutil.exe: ldap policies
ldap policy: connections
server connections: connect to server nom_DNS_de_votre_serveur
server connections: q
ldap policy: show values
...
MaxPageSize 1000
...
ldap policy: set MaxPageSize to 5000
ldap policy: commit changes
ldap policy: show values
...
MaxPageSize 5000
...
ldap policy: q
C:\WINNT\system32\ntdsutil.exe: q
C'est fait !
6. ZEServer lent - Horloge double vitesse
Après quelques heures d'utilisation, il me semble que mon ZEServer est très ralenti. Que se passe-t-il et comment y remédier ?
Réponse:
C'est le problème de l'horloge qui tourne à double vitesse, et qui affecte principalement des ordinateurs 64 bits, mais aussi certains des ordinateurs 32 bits (cela dépend des cartes-mère).
Symptômes : Mon serveur devient très lent. Il met longtemps à m'authentifier, sur une console, ou la souris se bloque, ou la connexion au serveur web est très lente, la première page met du temps à s'afficher.
Test de diagnostic :
- se connecter en root sur une console non graphique (Ctrl-Alt-F2, par exemple ; taper soit Ctrl-Alt-F5 soit Ctrl-Alt-F7 pour revenir à la console graphique, si elle était utilisée)
- taper simplement le mot : date et validez
- si la date est fantaisiste, il y a de fortes chances que vous soyez confronté à ce problème ; retapez date deux fois, en chronométrant environ 30 secondes entre chaque fois ; si la différence affichée est d'environ 1 minute, c'est confirmé !
Remède sur un ordinateur 32 bits (voir plus bas pour les 64 bits):
- redémarrez (commande reboot sur une console root)
- lorsque le menu de boot s'affiche (deux lignes commençant par "Debian GNU/Linux"), vous avez 5 secondes pour taper la touche e (pour éditer ; touche Esc pour annuler si besoin)
- placez-vous sur la ligne commençant par le mot "kernel", tapez à nouveau la touche e
- vous êtes à la fin de la ligne commençant par le mot "kernel", tapez noapic nolapic (tapez q pour obtenir a, vous êtes en clavier qwerty) ; validez et tapez la touche b (pour boot)
- attendez que votre serveur soit opérationnel, et refaites le test de diagnostic indiqué ci-dessus.
Cela n'a pas marché...
- recommencez successivement (jusqu'à ce que le test soit bon) avec, à la place de : 1) noapic nolapic :
2) noapic acpi=noirq
3) noapic acpi=off
4) noapictimer
5) noapictimer irqpoll
6) noapic acpi=off
7) noapic acpi=noirq nolapic
Cela a marché !
Il ne vous reste plus qu'à pérenniser cela dans /boot/grub/menu.lst :
Ouvrez une console root, tapez : vi /boot/grub/menu.lst
Placez-vous sur la première ligne commençant par kernel, tapez la touche i ou Inser pour passer en mode insertion, déplacez-vous à la fin de la ligne et ajoutez les options qui ont bien fonctionné (noapic nolapic ou autre). Tapez la touche Esc, puis les deux caractères :x et validez. C'est fait, au prochain démarrage (reboot) ces options seront prises en compte par le noyau.
Remède sur un ordinateur 64 bits (voir ci-dessus pour les 32 bits):
Ouvrez une console root, tapez : vi /boot/grub/menu.lst
Placez-vous sur la ligne commençant par # kopt, tapez la touche i ou Inser pour passer en mode insertion, ajoutez à la fin de cette ligne le mot : no_timer_check précédé d'un espace (attention, ce sont des "soulignés" (touche 8), pas des tirets (touche 6)). Ne pas supprimer le dièse du début de ligne !
Tapez la touche Esc, puis les deux caractères :x et validez.
Rebootez.
Lorsque je mets à jour mon site à l'aide du ZwooksManager, cela se termine par un message m'indiquant que mon espage disque est insuffisant, et mon Zwook n'a pas été mis à jour. Pourtant, il reste plusieurs Go de libres sur la partition où est stocké Zope, et donc Zwook.
Réponse:
Le problème ne vient pas de la partition où est stocké Zope, mais de la partition /tmp, où sont stockés des fichiers temporaires durant la mise à jour. Souvent, la partition /tmp ne fait que quelques centaines de Mo, ce qui est insuffisant lorsque le site que vous devez mettre à jour commence à prendre du poids. D'où le message d'erreur.
Il y a deux façons d'y remédier.
1ere METHODE :
Cette première méthode a l'avantage de la rapidité et de la simplicité, mais elle ne concernera que Zope. Si vous désirez que tout le système, et pas uniquement Zope, bénéficie de l'augmentation de taille de /tmp, il faudra utiliser la seconde méthode.
1°) Connectez-vous en root sur une console du serveur.
2°) Déterminez la taille de vos partitions montées, à l'aide de :
# df -h
3°) Supposons que vous décidiez que les fichiers temporaires seront stockés sur la partition /var, car elle vous semble suffisamment grande (vous pourriez choisir /home, ou /usr ; remplacez simplement /var par votre choix, dans la suite des explications).
4°) Créez, s'il n'existe pas déjà, le dossier /var/tmpzope, et attribuez-lui les droits drwxrwxrwt. Pour ce faire, procédez ainsi :
# mkdir /var/tmpzope
# chmod 1777 /var/tmpzope
# ls -l /var (pour vérifier les droits attribués à tmpzope)
5°) Dans les fichiers zope.conf de vos instances (/etc/zope.conf ou /var/lib/zope2.xx/instances/yyyy/etc/zope.conf) créez ou modifiez la section "environment" ; par exemple :
<environment>
TZ Europe/Paris
TMPDIR /var/tmpzope
</environment>
6°) Redémarrez alors le service Zope :
# /etc/init.d/zope restart (ou /etc/init.d/zope2.xx restart)
2nde METHODE :
Cette seconde méthode a l'avantage de faire bénéficier l'ensemble du système de l'augmentation de taille de /tmp.
Vous devez être face au serveur (et non à distance, avec ssh).
Prévenez vos utilisateurs que vous allez faire une maintenance bloquante (le serveur sera inaccessible pendant quelques minutes).
1°) Connectez-vous en root sur une console du serveur.
2°) Déterminez la taille de vos partitions montées, à l'aide de :
# df -h
3°) Supposons que vous décidiez que les fichiers temporaires seront stockés sur la partition /var, car elle vous semble suffisamment grande (vous pourriez choisir /home, ou /usr ; remplacez simplement /var par votre choix, dans la suite des explications).
4°) Créez, s'il n'existe pas déjà, le dossier /var/tmp, et attribuez-lui les droits drwxrwxrwt. Pour ce faire, procédez ainsi :
# mkdir /var/tmp
# chmod 1777 /var/tmp
# ls -l /var (pour vérifier les droits attribués à tmp)
5°) Passez en mode "single user" (à partir de maintenant, votre serveur sera indisponible ; attention, n'effectuez pas ceci à distance, par ssh, vous perdriez la main sur votre serveur !) :
# init 1
Entrez le mot de passe du root, lorsque cela est demandé, au bout de quelques dizaines de secondes. Vous êtes maintenant seul maître à bord, et pouvez faire toutes les bêtises que vous voulez - ou ne voulez pas ; soyez prudent !
6°) Placez-vous sur la racine, puis démontez les partitions /tmp et /var :
# cd /
# umount /tmp
# umount /var
7°) Répétez les trois commandes du 4°), afin de créer un /var/tmp qui sera accessible au système, avant même que la partition /var ne soit montée.
8°) Détruisez le dossier /tmp, et créez à la racine un lien symbolique vers /var/tmp :
# cd / (pour être sûr qu'on est à la racine)
# rm -rf /tmp (pour supprimer /tmp et tout son contenu)
# ln -fs /var/tmp (pour créer le lien symbolique)
# ls -l (pour vérifier que tmp pointe bien vers /var/tmp)
9°) Remontez /var (ne cherchez pas à remonter /tmp !):
# mount /var
10°) Editez /etc/fstab (à l'aide de vi) afin de placer un dièse (#) au début de la ligne qui concerne la partition /tmp. Cela évitera que la partition ne soit montée lors des prochains démarrages du serveur.
11°) Quittez le mode "single user" pour rendre votre serveur à nouveau disponible :
# init 2 (sur une distrib à base de Debian)
Sur une distrib à base de Mandriva (ex-Mandrake), vous taperez init 3 pour vous retrouver en mode console, ou init 5 pour vous retrouver en mode graphique.
La question fréquemment posée est : "si un fichier temporaire toto est créé dans /var/tmp avant que /var ne soit monté, n'est-il pas perdu une fois /var monté ?" La réponse est non, il n'est pas perdu. Sous Linux, un fichier est repéré par son inode, et le système connaît ainsi l'emplacement physique du fichier qu'il a créé et auquel il veut accéder, et sait donc que toto a été placé sur la partition racine, et non dans celle où /var a été monté.