Ce manuel contient des informations concernant des opérations d'installation et de maintenance (sauvegardes, mises à jour, ...) d'Ametys ODF. Il contient aussi diverses astuces qui pourront vous être utiles.
Il est conseillé de lire auparavant le manuel d'installation (version de démonstration ou serveur) de votre application, afin d'en connaître tous les concepts énoncés ici. Merci de lire également, s'il existe, le manuel d'installation complémentaire lié à votre projet, afin d'en connaître les spécificités : dans certains cas, des informations présentes ici peuvent ne pas être applicables.
Ce manuel a été écrit pour les personnes souhaitant administrer le Ametys ODF, c'est-à-dire effectuer les opérations de maintenance telles que la sauvegarde, les mises à jour, etc...
Si vous avez besoin d'aide, ou si vous souhaitez nous faire part de vos suggestions, critiques, éloges, n'hésitez pas à demander de l'aide sur les forums. Vous pouvez aussi contribuer à l'amélioration de cette documentation en ajoutant vos propres commentaires.
Ametys gère deux types de données.
Les données principales concernent les contenus, leurs méta-données, leurs pièces jointes, l'organisation des pages, le workflow... Elles sont gérées par l'API JCR 2.0 (JSR 238).
L'implémentation Apache JackRabbit (http://jackrabbit.apache.org) est utilisée car le stockage physique peut être réalisé de différentes manières : système de fichiers, base de données embarquée (DERBY), base de données classique (MySQL), ...
Afin de connaître toutes les implémentations et la manière de les configurer, vous pouvez consulter le site de JackRabbit.
Le fichier de configuration du Repository JackRabbit est WEB-INF/param/repository.xml.
Par défaut, Ametys utilise Derby et le système de fichiers, tout étant stockée dans le répertoire configuré (voir la page de configuration).
Les données secondaires peuvent être (selon la configuration de votre application) :
Elles sont stockées dans une base de données SQL (MySQL par exemple). La base de données choisie est visible dans les paramètres de configuration (voir la page de configuration).
Pour sauvegarder les données, il est nécessaire de sauvegarder tous les types de données simultanément. Il faut effectuer les opérations suivantes :
Il est très important que tout soit sauvé simultanément, sinon des incohérences applicatives risquent d’arriver : il est donc conseillé d’effectuer ces opérations lorsqu’aucun utilisateur n’est connecté et qu’aucun travail automatique n’est en cours (en coupant le tomcat par exemple).
Il est conseillé d’effectuer une sauvegarde toutes les nuits, en utilisant un cron par exemple.
Pour restaurer les données, il faut effectuer les opérations suivantes :
Il est très important que tout soit restauré simultanément, sinon des incohérences applicatives risquent d’arriver : il est donc conseillé d’effectuer ces opérations lorsqu’aucun utilisateur n’est connecté et qu’aucun travail automatique n’est en cours.
Il est également conseillé de faire une sauvegarde juste avant la restauration, dans le cas où cette restauration se déroulerait mal.
Pour mettre à jour Ametys ODF, il faut suivre les étapes suivantes :
Il peut également être nécessaire d'effectuer d'autres opérations, selon les indications du fournisseur de la mise à jour : scripts SQL par exemple (se référer au Manuel de Migration).
L'installation d'une nouvelle instance de l'application (sans données) est immédiatement réalisée avec la version la plus récente, et ne nécessite aucune mise à jour.
Avant d’exécuter une mise à jour il est important de vérifier l’espace disque disponible. Pour une application de 70 MO par exemple, il faut avoir 150 MO d’espace disponible, car une fois le fichier de 70 MO téléchargé il sera dé-zippé pour former l’application.
Les zips téléchargés et les anciennes versions sont conservés sur le disque : si après installation de la nouvelle version il est nécessaire de revenir à la version précédente, il faut couper les services et refaire basculer les liens symboliques sur l’ancien répertoire.
Si vous avez suivi notre procédure d'installation, il faut utiliser les services correspondants (Apache Tomcat, Apache HTTPD…) par exemple en lançant la commande « /etc/init.d/tomcat start ».
Sinon, les processus de démarrage, arrêt et redémarrage dépendent de votre installation et de votre moteur de servlets. Par exemple sur Tomcat, il vous faudra surement exécuter les scripts de démarrage et d'arrêt (startup / shutdown) dans le répertoire bin.
Il arrive que l'appel au shutdown ne se termine pas correctement. Il faut donc vérifier après quelques secondes que le serveur est réellement arrêté, en regardant les processus qui tournent encore. |
On y trouve le fichiers JavaScript et CSS déjà servis.
Vider le cache du tomcat
# Effacer le répertoire workrm –rf /usr/local/tomcat/work# Effacer le contenu du répertoire temp (et non le répertoire en lui-même)rm –rf /usr/local/tomcat/temp/* |
On y trouve principalement les pages générées par l'application CMS pour être servies statiquement depuis l'application SITE.
Vider le cache du site
cd /home/cms/Ametys_CMS/datarm –rf cache |
ps waux | grep tomcat |
Il se peut que plusieurs tomcat tournent sur la même machine. Le retour de la commande permet de savoir le nombre de tomcat qui tournent, ainsi que leur « identité ».
Cette commande permet de s’assurer qu’un tomcat stoppé s’est bien arrêté.
ping <mon_dns> |
Si un serveur http est configuré : wget <mon_url> et vérifier que la page a bien été écrite.
Il arrive parfois qu’un serveur ait des problèmes d’accès aux autres machines réseaux, cela permet de vérifier que les serveurs ont bien accès entre eux.
Les erreurs fonctionnelles sont généralement contenues dans les logs applicatifs. Ces logs sont configurés via le fichier WEB-INF/log4j.xml et stockés dans le répertoire WEB-INF/logs (voir le site de log4j pour plus de détails).
Ils peuvent être téléchargés directement depuis dans l'espace d'administration (voir la page dédie du manuel d'administration pour plus de détails).
Les erreurs d'Apache Tomcat sont stockées dans le répertoire Tomcat/logs. Le fichier catalina.out contient les informations de la console (notamment les informations de démarrage). Tomcat utilise aussi log4j.
Ces logs doivent être suivis et supprimés régulièrement, afin de ne pas remplir l'espace disque.
Afin de prévenir un disque plein qui pourrait povvenir de l’accroissement régulier des fichiers de logs (tomcat, CMS…) il est recommandé de supprimer les fichiers logs inutiles. Cette opération est disponible de l'espace administrateur.
Les applications ODF back-office et front-office sont des applications web JAVA.
Mis à part des projets particuliers, Ametys ODF n'a pas besoin de beaucoup de CPU mais il peut être intéressant d'utiliser un multiple processors and multi-heart.
Le back-office peut devenir gourmand en mémoire en fonction du nombre d'utilisateurs (devrait être entre 512MB et 1GB pour plusieurs utilisateurs).
Le front-office n'est pas gourmand en mémoire quand il est principalement statique : dans ce cas, Tomcat est utilisé uniquement lors des recherches ou lors de la génération des autres pages dynamiques.
Au lancement, les options -Xms et -Xmx spécifient le minimum et le maximum de mémoire allouée. La JVM de Sun prend l'espace minimum et, chaque fois que c'est nécessaire, augmente l'espace sans dépasser la taille maximum; cependant il ne rend jamais la mémoire au système : il est donc important de considérer que cette mémoire n'est pas partageable. Si vous souhaitez savoir comment la mémoire est réellement utilisée par la JVM, vous pouvez regarder dans l'espace d'administration).
Dans le cas d'une OutOfMemoryException retournée par Java, cela peut venir de 2 types de mémoire :
Exemple de configuration des options relatives à la mémoire
-Xms256m -Xmx1024m -XX:MaxPermSize=256M |
Pour plus de détails à propos de la configuration de la JVM, reportez à la documentation JDK6/Virtual Machine. |
L'espace disque utilisé par tout le système est difficile à prévoir. Il est constitué :