Dynacase Platform 3.1 - Ressources
Transcription
Dynacase Platform 3.1 - Ressources
D Y N AC A S E P L AT F O R M 3 . 1 Installation & Exploitation Version : 1.2 Date : Octobre 2012 Auteur : Anakeen Préambule RÉSUMÉ ABSTRACT Ce document décrit d'installation et de mise à jour de Dynacase et en présente les principales procédure d'exploitation. TABLE D E S M AT I È R E S Dynacase Platform 3.1.................................................................................................................................. 1 Introduction.......................................................................................................................................................................4 dynacase-control...............................................................................................................................................................5 Téléchargement et installation...............................................................................................................................5 Première connexion...................................................................................................................................................5 Interface de dynacase-control.................................................................................................................................7 dynacase-platform.........................................................................................................................................................14 Pré-Requis logiciels..................................................................................................................................................14 Paramétrage PHP.....................................................................................................................................................16 Paramètres INI..........................................................................................................................................................16 Installation de dynacase-platform........................................................................................................................17 Procédures d'exploitation......................................................................................................................... 21 Archivage et restauration de contextes....................................................................................................................21 Archivage...................................................................................................................................................................22 Restauration..............................................................................................................................................................22 Sauvegarde et restauration de contextes.................................................................................................................23 Éléments d'un contexte Dynacase.......................................................................................................................23 Sauvegarde................................................................................................................................................................23 Restauration..............................................................................................................................................................24 Tuning PostgreSQL.........................................................................................................................................................24 shared_buffers..........................................................................................................................................................25 effective_cache_size................................................................................................................................................25 work_mem.................................................................................................................................................................26 maintenance_work_mem.......................................................................................................................................26 Conclusion..................................................................................................................................................................26 Liens utiles.................................................................................................................................................................27 Dépannage/troubleshoot......................................................................................................................................27 Connexion sécurisée (SSL)......................................................................................................................................28 Exploitation base documentaire.................................................................................................................................28 main connection db.................................................................................................................................................28 unreference user in group......................................................................................................................................28 user as group.............................................................................................................................................................29 unreference actions.................................................................................................................................................29 unreference parameters.........................................................................................................................................29 unreference acl.........................................................................................................................................................29 Dynacase Platform 3.1 Installation & Exploitation version 1.2 -ii- Préambule unreference permission..........................................................................................................................................29 connection db freedom..........................................................................................................................................30 double doc id.............................................................................................................................................................30 double doc name......................................................................................................................................................30 multiple alive revision.............................................................................................................................................30 family inheritance....................................................................................................................................................31 user group synchro..................................................................................................................................................32 connection db webdav............................................................................................................................................32 connection USER LDAP...........................................................................................................................................32 Suppression dépôts de paquets freedom-ecm.org.................................................................................................32 dynacase-control en mode CLI.................................................................................................................. 33 Utilisation.........................................................................................................................................................................33 Commandes.....................................................................................................................................................................34 Lister les contextes existants................................................................................................................................34 Manipuler les modules du contexte.....................................................................................................................34 Manipuler les paramètres des modules..............................................................................................................38 Administration système..........................................................................................................................................39 Dynacase Platform 3.1 Installation & Exploitation version 1.2 -iii- Dynacase Platform 3.1 INSTALL ATION & MISE À JOUR Introduction L'installation d'un contexte Dynacase nécessite au préalable l'installation de dynacase-control qui permet de créer et de gérer les contextes Dynacase. Ensuite, dans un contexte Dynacase vous pouvez installer le module dynacase-platform et votre application spécifique. dynacase-control contexte 1 contexte 2 contexte 3 dynacase-platform dynacase-platform . . . . . . . . . application A application C dynacase-platform application D application B Base de Données Dynacase Platform 3.1 Installation & Exploitation Version 1.0 Vault // // -4- Dynacase Platform 3.1 dynacase-control dynacase-control est l'outil qui permet d'installer et de gérer des contextes Dynacase. Téléchargement et installation dynacase-control est livré sous la forme d'une archive "tar.gz" à décompresser dans un répertoire servi par Apache. L'installation s'effectuera sous le compte `root'. Connectez-vous `root' sur la machine et déplacez-vous dans un répertoire accessible via apache (dans votre "DocumentRoot" décrit dans vos fichiers de configuration apache - par exemple) : • Pour Debian/Ubuntu : # cd /var/www • Pour RedHat/CentOS : # cd /var/www/html Télécharger l'archive de dynacase-control : # wget http://eec.anakeen.com/public/control/dynacase-control-current.tar.gz Extraire l'archive et renommer le répertoire : # tar zxf dynacase-control-current.tar.gz # mv dynacase-control-*-* dynacase-control Modifier le propriétaire du répertoire de dynacase-control pour être celui de l'utilisateur faisant tourner Apache : • Pour Debian/Ubuntu : # chown -R www-data: dynacase-control/ • Pour RedHat/Centos : # chown -R apache: dynacase-control/ Connectez-vous à l'URL de dynacase-control : • http://localhost/dynacase-control/ Première connexion Define Password Lors de la première connexion, dynacase-control vous demande de définir un login et un mot de passe pour protéger les accès à celui-ci. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -5- Dynacase Platform 3.1 EEC Registration Ensuite, dynacase-control vous demande si vous souhaitez enregistrer ce dernier aurpès de votre compte entreprise EEC (voir Contrat EEC). Si vous n'avez pas de compte EEC, cliquez sur le bouton "[Register later…]". Si vous n'enregistrez pas votre dynacase-control lors de cette première connexion vous aurez la possibilité d'enregistrer celui-ci plus tard à partir de l'interface Control > Setup. Par la suite ces informations ne vous seront plus demandés lors de la connexion à dynacase-control. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -6- Dynacase Platform 3.1 Interface de dynacase-control Control > Setup L'interface “Control > Setup” permet de configurer dynacase-control. • Mettre à jour dynacase-control lorsqu'une nouvelle version est détectée • Changer le mot de passe de connexion à dynacase-control : “Dynacase Control Information > Password” • Enregistrer son dynacase-control avec son compte EEC : “Dynacase Control Information > Registration > Register” • (Dé)Activer le mode debug de dynacase-control : “Debug > Debug Mode On/Off” • Ajouter/Supprimer/Modifier des dépôt de paquets : ”Repositories” • Modifier les paramètres de dynacase-control : ”Parameters” • Voir les paramètres de PHP : “PHP Info” Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -7- Dynacase Platform 3.1 Mise à jour de dynacase-control Lors de la connexion à l'interface de dynacase-control, celui-ci vérifie si une nouvelle version est disponible. Si une nouvelle version disponible est détectée, alors une popup propose de télécharger et d'appliquer la mise à jour : Si l'on refuse la mise à jour, il est alors possible d'appliquer la mise à jour en allant dans la section "Setup" > "Dynacase Control Information", et de cliquer sur le bouton "[Update]". Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -8- Dynacase Platform 3.1 Dépôts de paquets La section “Repositories” permet d'ajouter, supprimer et éditer des dépôts de paquets qui pourront être utilisés pour créer un contexte Dynacase. Champ Description Le nom du dépôt de paquets (caractère alpha-numérique uniquement). Un champ libre de description du dépôt (optionnel). Le procotol d'accès au dépôt (“http”, “ftp” ou “file”). Le nom d'hôte du dépôt. Le chemin d'accès au répertoire `webinst' du dépôt. Cocher pour que ce dépôt soit activé par défaut lors de la création d'un contexte Dynacase. Cocher si le dépôt de paquets requiet une authentification (comme dans le cas d'un dépôt EEC par exemple). Le nom d'utilisateur (ou nom de compte EEC) pour l'authentification du dépôt. Le mot de passe associé pour l'authentification du dépôt. Confirmation du mot de passe. Name Description Protocol Host Path Default Authenticated Login Password Confirm Password Dépôts pré-configurées Par défaut, les dépôts de la version communautaire de Dynacase sont pré-configurées : Repository dynacase Dynacase Platform 3.1 Installation & Exploitation Version 1.0 Protocol http Host eec.anakeen.com Path public/platform/ -9- Dynacase Platform 3.1 Paramètres de dynacase-control Utilisation d'un proxy Si vous utiliser dynacase-control au travers d'un proxy HTTP, vour pouvez définir celui-ci avec les paramètres : Paramètre Description Cocher “use proxy mode” si vous utilisez un proxy pour accéder à Internet. Le nom DNS (ou adresse IP) du proxy HTTP (Exemple : “proxy.example.net”) Le numéro de port du proxy HTTP (Exemple : “3128”) Le nom d'utilisateur si le proxy requiert une authentification. Le mot de passe associé si le proxy requiert une authentification. use-proxy proxy-host proxy-port proxy-username proxy-password Configuration des mises-à-jour de dynacase-control Lors du lancement de l'interface de dynacase-control, celui-ci va vérifier si une mise-à-jour est disponible. Vous pouvez configurer avec ces paramètres l'hôte sur lequel dynacase-control effectuera les recherches et téléchargements de mises-à-jour. Paramètre wiff-update-host Valeur pré-configurée http://eec.anakeen.com wiff-update-path /public/control/ wiff-update-file dynacase-control-current.tar.gz wiff-update-login wiff-update-password Description Le nom de l'hôte hébergeant les mises-à-jour avec le protocole à utiliser (“http:” ou “ftp:”) (Exemple : “http://eec.anakeen.com”). Le chemin d'accès au répertoire des mises-à-jour (Exemple : ”/foo/repo/agpl-3.0/stable/tarball/”). Le fichier de la version courante (Exemple : “dynacase-controlcurrent.tar.gz”). Le nom d'utilisateur si le serveur de mise-à-jour requiert une authentification. Le mot de passe associé si le serveur de mise-à-jour requiert une authentification. Control > Create Context L'interface “Create Context” permet de créer un nouveau contexte Dynacase. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -10- Dynacase Platform 3.1 Champ Name Root Description Url Registration Repositories Description Le nom du contexte Dynacase Le chemin d'accès au répertoire dans lequel sera installé le contexte. Le répertoire doit être accessible en lecture/écriture par Apache. Si le répertoire spécifié n'existe pas, dynacase-control essayera de le créer. Un champ permettant de décrire le contexte (optionnel). Ce champ d'information permet de saisir l'URL par laquelle sera accessible le contexte (optionnel). Si dynacase-control est enregistré avec votre compte EEC, vous pouvez enregistrer ce contexte avec votre compte EEC en cochant cette case. Cocher la liste des dépôts de paquets que vous souhaitez utiliser pour installer ce contexte. Par défaut les dépôts de paquets configurés (dans l'interface Control > Setup > Repositories) avec “Default” seront pré-sélectionnés. Lorsque le contexte est créé, celui-ci apparaît dans l'interface ”Context”. Context L'interface “Context” présente la liste des contextes créés. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -11- Dynacase Platform 3.1 Lors de la sélection d'un contexte, les informations suivantes sont présentés : Informations La section “Informations” présente les informations et configuration générale du contexte. Modify Context Cette interface permet d'éditer la description du contexte et la liste des dépôts utilisés par ce contexte. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -12- Dynacase Platform 3.1 Import Module Cette interface permet d'importer et d'installer un module au format `.webinst' (Voir format webinst) dans le contexte. Create Archive Cette interface permet de Créer une archive du contexte au format `.fcz' (Voir format fcz) pour installer ce contexte sur une autre machine par exemple. Delete context Ce bouton permet de supprimer le contexte et ses éléments associés (base de donnée, vault, etc. Installed La section “Installed” présente la liste des modules `webinst' qui sont installés dans le contexte. Lorsqu'un module a une mise-à-jour de disponible sur les dépôts de paquets, une icône apparaît en début de ligne d'un module et la nouvelle version disponible est présentée dans la colonne "Available Version". Pour mettre à jour le module, il faut alors cocher la ligne du module et cliquer sur le bouton "[ Upgrade Selection]". Available La section “Available” présente la liste des modules disponibles sur les dépôts de paquets. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -13- Dynacase Platform 3.1 Vous pouvez cocher les modules que vous souhaitez installer dans le contexte, et lancer l'installation en cliquant sur le bouton "[Install Selection]". dynacase-platform Une fois dynacase-control installé, il est alors possible de créer un contexte et d'installer dynacase-platform dans celui-ci. Pré-Requis logiciels Les informations fournies ci-dessous, le sont à titre indicatif et peuvent varier en fonction de la distribution linux cible (nom des extensions PHP et nom des paquets par exemple). Ces informations sont fournies pour la version 3.1 de dynacase. Les informations relatives aux composants sont exhaustives (utilisée par certain modules) et nécessaires pour une installation standard faite par défaut. Pré-requis poste client Navigateurs supportés La version Dynacase 3.1 est fonctionnelle avec les navigateurs suivants : • Internet Explorer 8 • Firefox 3 (>3.5) • Chrome branche stable Pré-requis serveur Dynacase GNU/Linux Dynacase nécessite un système GNU/Linux (Debian, Ubuntu, RedHat, etc.) PHP Dynacase nécessite PHP version 5.3. Pour les distributions qui ne fournissent pas PHP 5.3 vous pouvez télécharger et installer Zend Server avec PHP 5.3. Extensions PHP Les extensions notées (core) sont normalement incluse de manière statique dans PHP. • Core (core) • SimpleXML • calendar • ctype • curl • date (core) • fileinfo • gd • gettext • iconv • imap • json Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -14- Dynacase Platform 3.1 • ldap • mbstring • pcntl • pcre • pgsql • posix • pspell • session (core) • sockets • standard (core) • xml • xsl • zip Composants PEAR • XML_Parser • XML_RSS • Net_SMTP • Mail_Mime • Crypt_CHAP (optionnel) PostgreSQL Dynacase nécessite PostgreSQL version 8.4. HTTPD Apache Dynacase nécessite le serveur HTTPD Apache 2.2 Les modules Apache suivants sont requis : • php5_module (Voir pré-requis PHP) • env_module • expires_module • dir_module • auth_basic_module • authn_file_module • authz_host_module • setenvif_module • rewrite_module Commandes système Dynacase requiert les commandes système suivante : • rm • file Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -15- Dynacase Platform 3.1 • mkdir • tar • gzip • zip (Info-ZIP) • unzip (Info-ZIP) • dot (Graphviz) • convert (ImageMagick) • recode • html2ps (html2ps) • ps2pdf (Ghostscript) • php (PHP en ligne de commande. Voir pré-requis php) • ldapdelete (OpenLDAP) (optional) • psql (Voir pré-requis postgresql) • pg_dump (Voir pré-requis postgresql) • msgcat (gettext) Paramétrage PHP Certains paramètres de PHP doivent être changés afin que Dynacase fonctionne au mieux et en fonction de votre utilisation. Paramètres INI date.timezone Ce paramètre permet de spécifier le fuseau horaire utilisé par les fonctions de manipulation de dates. date.timezone = 'Europe/Paris' max_execution_time Ce paramètre permet de spécifier le temps maximal (en seconde) de traitement d'une requête par PHP. Par défaut ce paramètre est à “30”. Exemple : max_execution_time = 300 ; 5 min. max_file_uploads Ce paramètre permet de spécifier le nombre de fichiers maximum qui seront pris en compte par PHP lors de la soumission d'un formulaire contenant des fichiers. Par défaut ce paramètre est à “20”. Si la valeur est trop basse, vous pourriez perdre des fichiers lors l'édition/sauvegarde de document Dynacase contenant beaucoup de fichiers. Exemple : max_file_uploads = 100 Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -16- Dynacase Platform 3.1 upload_max_filesize Ce paramètre permet de spécifier la taille maximale qu'un fichier uploadé peut avoir. Si un fichier d'une taille supérieure est envoyé par le navigateur, alors il ne sera pas pris en compte par PHP. Par défaut ce paramètre est à “2M” (2 Mo). Exemple : upload_max_filesize = 20M max_post_size Ce paramètre permet de spécifier la taille maximale d'une requête de type POST. Par défaut ce paramètre est à “8M” (8 Mo). Généralement, il doit être supérieur à `upload_max_filesize' et être au plus égal à `max_file_uploads' * `upload_max_filesize' : • upload_max_filesize < post_max_size ⇐ ( max_file_uploads * upload_max_filesize ) Exemple : post_max_size = 128M error_reporting Ce paramètre permet de spécifier le niveau de reporting des notices/warnings/erreurs/etc. Il est nécessaire de ne pas afficher les messages de notices (E_NOTICE) de dépréciation (E_DEPRECATED) de PHP lors de l'utilisation de Dynacase. Exemple : error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED display_errors Ce paramètre permet d'activer ou non l'affichage des erreurs PHP dans les réponses émises au client. Par défaut ce paramètre est à “On”. En production, il est souhaitable de désactiver le display_errors. Exemple : display_errors = Off Installation de dynacase-platform dynacase-platform sera installé dans un contexte créé avec dynacase-control. Avant de créer un contexte pour recevoir dynacase-platform, il vous faudra déclarer dans dynacase-control les dépôts de paquets que vous souhaitez utiliser. Paramétrer les dépôts de paquets dans dynacase-control La liste des dépôts que vous souhaitez utiliser est paramétrable dans la section ”Control > Setup > Repositories” de dynacase-control. Si vous avez un compte entreprise EEC, vous pouvez aussi configurer dynacase-control pour qu'il effectue ses recherches de mises à jour sur votre dépôt dans la section ”Control > Setup > Parameters” de dynacasecontrol. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -17- Dynacase Platform 3.1 Créer un nouveau contexte Une fois votre liste de dépôt renseigné, vous pouvez créer un nouveau contexte avec ”Control > Create Context”. Installer dynacase-platform dans le contexte Une fois votre contexte créé, celui-ci apparaît dans la liste des contexte “Context”. Sélectionner votre contexte. Dans la section “Available” sont présentés les modules disponibles sur les dépôts configurés pour ce contexte. Sélection des modules à installer Dans la section “Available” des modules disponibles, sélectionner le module : • dynacase-platform Lancer l'installation avec [Install Selection]. Résolution des dépendances dynacase-control va vérifier les dépendances des paquets sélectionnés, et proposer la liste des paquets à installer. Si vous êtes d'accord avec la liste proposée, vous pouvez valider cette liste et poursuivre l'installation. Téléchargement des modules Les modules sont téléchargés. Licences Les modules qui possèdent une licence vont demander votre accord. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -18- Dynacase Platform 3.1 Paramètres Les modules peuvent demander des paramètres lors de leur installation ou upgrade. dynacase-platform présente les paramètres suivantes lors de son installation : Paramètre client name database postgresql service name authenticate default mode apache system user temporary folder Dynacase Platform 3.1 Installation & Exploitation Version 1.0 Description Le nom de l'installation qui apparaîtra sur la page d'accueil générique de Dynacase Le nom du service postgresql pour accéder à la base dédiée pour ce contexte Le mode d'authentification par défaut : “html” pour l'authentification par une page HTML et “basic” pour une authentification par le mécanisme HTTP Basic L'utilisateur sous lequel est exécuté Apache (“wwwdata” pour Debian/Ubuntu, “apache” pour RedHat/CentOS) Le chemin du répertoire ou seront stockés les fichiers -19- Dynacase Platform 3.1 Admin password Enable compression temporaires Le mot de passe par défaut du compte “admin” de Dyncase Active la compression des données avec le module Apache mod_deflate Process d'installation Chacun des modules sélectionné pour l'installation va suivre ce même processus d'installation : • Demande de licence • Demande des paramètres du module • Exécution des processus de pre-installation • Exécution des processus d'installation • Exécution des processus de post-installation • La liste des modules à installer est présenté dans la liste “Module List”. • Les modules installés avec succès sont marqués par une pastille verte. • Le panneau principal détaille l'exécution des processus de pre-installation, installation et postinstallation. Fin de l'installation A la fin de l'installation, les modules installés sont présentés dans la section “Installed”. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -20- Dynacase Platform 3.1 PROCÉDURES D ' E X P LO I TAT I O N Archivage et restauration de contextes dynacase-control permet de créer une archive d'un contexte qui contiendra tous les éléments du contexte en vue d'une restauration sur une autre machine par exemple. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -21- Procédures d'exploitation Archivage La fonction d'archivage d'un contexte est accessible dans dynacase-control, sur la page du contexte dans la section "Information", bouton Create Archive. L'archive inclut les éléments suivants : – Les fichiers du contexte. – Un dump de la base de données. – Les fichiers des vaults (optionnel : il est possible de désactiver l'archivage des fichiers du vault afin de réduire la taille de l'archive). Les archives sont stockés dans le sous-répertoire `archived-contexts' de dynacase-control avec une extension `.fcz'. Restauration Les archives `.fcz' présentes dans le sous-répertoire `archived-contexts' de dynacase-control sont présentés dans la section "Archives" de l'interface de dynacase-control, sous la liste "Context". Pour restaurer une archive il faut cliquer sur le bouton "[Create Context]" et remplir les informations demandés : – Root : Le chemin d'accès du répertoire dans lequel les fichiers du contexte seront restaurés. – Core Database Service : Le nom du service PostgreSQL dans lequel sera restauré le dump de la base de données. – Vault Root : Le chemin d'accès du répertoire dans lequel les fichiers du vault seront restaurés. Ces répertoires doivent être créés manuellement et être accessibles en écriture à l'utilisateur Apache. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -22- Procédures d'exploitation Sauvegarde et restauration de contextes La sauvegarde se différencie de l'archivage par le fait que la sauvegarde est une opération effectuée par le service d'exploitation système, et qu'il peut s'intégrer plus facilement dans les procédures mises en place par le service informatique. Ce chapitre va donc présenter les éléments à sauvegarder en se focalisant sur les aspects systèmes. Éléments d'un contexte Dynacase Un contexte Dynacase est composé des éléments suivants : – Le répertoire du contexte : il contient le code PHP des applications et des familles de documents. – La base de données : elle contient les documents et le paramétrage Dynacase. – Le ou les vaults : ils contiennent les fichiers insérés dans les documents Dynacase. Sauvegarde wstop Afin d'assurer l'intégrité des données, l'accès au contexte sera bloqué afin que les utillisateurs ne puissent pas modifier les données durant le déroulement de la sauvegarde. Pour cela il faudra lancer la commande `wstop' dans le contexte Dynacase qu'on sauvegarde : # /var/www/dynacase-control/wiff wstop <nomDuContexte> Sauvegarde du répertoire du contexte Le répertoire du contexte contient des ficheirs et des répertoires qui peuvent être sauvegardés de manière standard avec des outils comme `tar' : # tar zcf /backup/dynacase.context.tar.gz /var/www/dynacase Afin de réduire la durée de sauvegarde vous pouvez exclure les éléments suivant de la sauvegarde de ce répertoire et qui seront régénérés dynamiquement après la restauration : – sessions/ : sous-répertoire contenant les sessions PHP. – .img-resize/ : sous-répertoire de cache d'images. Vous pouvez aussi effectuer une sauvegarde incrémentale des fichiers du répertoire du contexte. Sauvegarde de la base de données La sauvegarde de la base de données s'effectue par un dump complet à l'aide de la commande `pg_dump' : # PGSERVICE=dynacase pg_dump | gzip > /backup/dynacase.pg_dump.gz Sauvegarde du vault Le vault, comme le répertoire du contexte, peut être sauvegardé avec des outils standards comme `tar' : Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -23- Procédures d'exploitation # tar zcf /backup/dynacase.vault.tar.gz /var/vault Une sauvegarde incrémentale est aussi possible pour ce répertoire. wstart Une fois les éléments sauvegardés, l'accès au contexte peut-être ré-ouvert : # /var/www/dynacase-control/wiff wstart <nomDuContexte> Restauration La restauration des éléments s'effectue de manière inverse à leur sauvegarde. Restauration des vaults Restauration des fichiers précédemment archivés : # tar -C / -zxf /backup/dynacase.vault.tar.gz Restauration de la base de données Restauration du dump de la base de données : # gzip -dc /backup/dynacase.pg_dump.gz | PGSERVICE=dynacase psql Restauration du répertoire du contexte Restauration des fichiers du contexte : # tar -C / -zxf /backup/dynacase.context.tar.gz Ré-enregistrement des crontab # /var/www/dynacase-control/wiff context <nomDuContexte> wstart Comme la sauvegarde a été effectués en mode maintenance `wstop', il faut à la fin ré-ouvrir l'accès avec `wstart' : # /var/www/dynacase-control/wiff wstart <nomDuContexte> Tuning PostgreSQL Dans le cadre de son utilisation avec Dynacase, une couche d’abstraction logicielle Dynacase sur PostgreSQL permet d’optimiser son utilisation. Les éventuels tuning de la base PostgreSQL dépendent Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -24- Procédures d'exploitation entièrement du modèle documentaire mis en œuvre par Dynacase. Ils sont réalisés ou préconisés si nécessaire lors de la mise en œuvre de la solution par un expert Anakeen. La plupart des distributions livrent PostgreSQL avec une configuration basique, passe-partout, qui n'est pas forcement adaptée au volume et au nombre de transaction que peut générer Dynacase. Voici quelques éléments de configuration pour une machine type avec 2 Go à 3 Go de RAM. shared_buffers Le paramètre shared_buffers permet de spécifier la taille de la mémoire partagée allouée par Postgresql. Il est à noter que ce paramètre PostgreSQL dépend d'un paramètre du kernel qui indique la valeur maximale de mémoire partagée disponible pour les process. Il faudra donc au préalable augmenter la valeur de ce paramètre au niveau du noyau, pour ensuite augmenter la valeur dans PostgreSQL. Sous Linux, la taille de la mémoire partagée maximale autorisée est définie par le paramètre sysctl kernel.shmmax : # sysctl kernel.shmmax kernel.shmmax = 33554432 On voit dans ce cas que la valeur est de 32 Mo Sur une machine dédiée à PostgreSQL avec 2 à 3 Go de RAM on alloue entre 1 et 2 Go de mémoire partagée utilisable par les process : # sysctl -w kernel.shmmax=2147483648 kernel.shmmax = 2147483648 Pour rendre ce paramètre persistant au redémarrage, on enregistre celui-ci dans le fichier /etc/sysctl.conf. Une fois le shmmax configuré sur le kernel, on définit le paramètres PostgreSQL shared_buffers. # vi /var/lib/pgsql/data/postgresql.conf [...] shared_buffers = 1024MB [...] La prise en compte de ce paramètre est effective après re-démarrage de PostgreSQL : # /etc/rc.d/init.d/postgresql restart Si Postgresql ne redémarre pas, vérifier que la valeur de shared_buffers est bien inférieure à la valeur de kernel.shmmax. effective_cache_size Ce paramètre indique à PostgreSQL la mémoire restante une fois que PostgreSQL et tous les autres process du serveur tournent en fonctionnement normal. Cet espace « libre » est utilisé par le noyau pour gérer ses buffers et son cache. Cet espace est visualisable sous Linux avec la commande free sous la forme des Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -25- Procédures d'exploitation valeurs de buffers et cached : # free total Mem: 3095688 -/+ buffers/cache: Swap: 1044208 used 1932116 435816 89816 free 1163572 2659872 954392 shared 0 buffers 62524 cached 1433776 Dans le cas ci-dessus, on peut donc indiquer à PostgreSQL une valeur de effective_cache_size de 1400 Mo : # vi /var/lib/pgsql/data/postgresql.conf [...] effective_cache_size = 1400MB [...] work_mem Le paramètre work_mem spécifie la quantité de mémoire que peut utiliser un process PostgreSQL pour effectuer des tris. Une valeur plus grande lui permettra de pouvoir manipuler plus de données en mémoire vive (plutôt que d'avoir recours à des fichiers temporaires qui sont plus lents). Ce paramètre doit être calibré en fonction du nombre maximum de connexions concurrentes déclaré par le paramètre max_connections. La mémoire allouée pour ces opérations étant alors égale à max_connections * work_mem. # vi /var/lib/pgsql/data/postgresql.conf [...] max_connections = 64 [...] work_mem = 16Mb [...] Dans l'exemple ci-dessus, l'utilisation mémoire pourra monter à 64 * 16 Mo = 1 Go. maintenance_work_mem Le paramètre maintenance_work_mem spécifie la quantité de mémoire que peuvent utiliser les commandes/process PostgreSQL de VACUUM, création d'index et altération de table. Une valeur plus grande lui permettra de pouvoir manipuler plus de données en mémoire vive, et accélèrera le temps de traitement sur les VACUUM (freedom_clean) par exemple. # vi /var/lib/pgsql/data/postgresql.conf [...] maintenance_work_mem = 128Mb [...] Conclusion Ces paramètres permettent donc de donner une plus grande liberté de mouvement à PostgreSQL comparés à ceux livrés par défaut. Les valeurs données ci-dessus sont des exemples qu'il faudra bien sûr adapter/moduler en fonction de la machine et de son utilisation dans le temps. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -26- Procédures d'exploitation Liens utiles http://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server Dépannage/troubleshoot Voir les requêtes en cours d'exécution : pg_stat_activity Pour voir les requêtes en cours d'exécution, Postgresql propose la table `pg_stat_activity' : postgres=# SELECT * FROM pg_stat_activity; datid | datname | procpid | usesysid | usename | application_name | client_addr | client_port | backend_start | xact_start | query_start | waiting | current_query --------+----------+---------+----------+----------+-----------------+-------------+-------------+------------------------------+-------------------------------+-------------------------------+--------+--------------------------------11874 | postgres | 40516 | 10 | postgres | psql90 | | -1 | 2011-01-17 11:49:52.022024+01 | 2011-01-17 11:53:43.766623+01 | 2011-01-17 11:53:43.766623+01 | f | SELECT * FROM pg_stat_activity; 207531 | 3.0.16 | 40570 | 16391 | freedom | | ::1 | 57914 | 2011-01-17 11:50:28.902947+01 | | 2011-01-17 11:51:30.213533+01 | f | VACUUM FULL ANANLYSE; (2 rows) Cette table présente le détail des requêtes en cours d'exécution (current_query), le pid du process qui execute cette requêtes (procpid), l'heure de prise de reception de la requête (backend_start), l'heure de début de traitement de la requête (query_start) et le caractère « waiting » (waiting) d'une requête si elle est bloqué ou en attente de libération d'une ressource par une autre requête. La visualisation du champ `current_query' nécessite le paramètre `track_activities = on' (par défaut à `on'). Si ce paramètre n'était pas actif, vous pouvez le dfinir dans postgresql.conf et recharger la conf à chaud : # vi /path/to/postgresql.conf [...] track_activities = on [...] # psql postgres=# SELECT pg_reload_conf(); postgres=# SHOW track_activities; Logger les requêtes longues : log_min_duration_statement Lorsque l'observation de longues requêtes par `pg_stat_activity' n'est pas possible (parce que le problème n'est pas reproductible ou observable à une heure précise de la journée par ex.) on peut indiquer à Postgresql de logger les requêtes qui mettent plus N secondes à s'exécuter. La durée est paramétrable via le paramètre `log_min_duration_statement' (par défaut `-1' : désactive le log). Vous pouvez soit le définir en global dans postgresql.conf, soit par base de données (via un ALTER DATABASE) : • Configuration globale commune à toutes les bases (ex. 5 minutes) : # vi /path/to/postgresql.conf [...] log_min_duration = 5min [...] # psql postgres=# SELECT pg_reload_conf(); Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -27- Procédures d'exploitation • Paramétrage sur une base spécifique (ex. 5 minutes) : # psql postgres=# ALTER DATABASE dynacase SET log_min_duration_statement = '5min'; Les logs apparaissent alors dans `postgresql.log' sous la forme : 2011-01-11 17:15:01 CET LOG: duration: 2.291 ms statement: SELECT * from paramv where type='G' or (type='A' and appid=1); </pre> Connexion sécurisée (SSL) Configuration client : • SSL Support (http://www.postgresql.org/docs/8.3/interactive/libpq-ssl.html) Configuration serveur : • Secure TCP/IP Connections with SSL (http://www.postgresql.org/docs/8.3/interactive/ssl-tcp.html) Utilisation de la directive `sslmode=require' dans `pg_service.conf' pour forcer la connexion du client par SSL : [dynacase] host=pg.example.net port=5432 user=dynacase password=secret dbname=dynacase sslmode=require Exploitation base documentaire Une liste de vérification de problèmes pouvant se produire sur une installation Dynacase est disponible dans le sous-répertoire `admin' du contexte et accessible par l'URL : http://<nomDuServeur>/admin/checklist.php L'interface présente alors une liste de vérification avec un statut : vert pour "OK", rouge pour "KO". main connection db Signification : Remède : Vérifier que Postgresql est bien lancé unreference user in group Signification : Remède : Supprimer les références : Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -28- Procédures d'exploitation DELETE FROM groups where iduser not in (select id from users); user as group Exemple : user as group1 users detected as group 25 Signification : Peut arriver par un import sql qui écraserait les utilisateurs Remède : Soit mettre les utilisateurs comme groupe (mettre l'attribut isgroup à Y dans la table users) ou supprimer la référence dans la table groupe : dynacase=# BEGIN; dynacase=# DELETE FROM groups WHERE idgroup not in (select id from users where isgroup='Y'); DELETE 110 dynacase=# COMMIT; COMMIT Et exécuter cette commande : # /var/www/dynacase-control/wiff context <nomDuContexte> exec ./wsh --api=freedom_groups unreference actions Signification : Peut arriver lors de suppression d'applications Remède : Appliquer le fichier sql /var/www/dynacase/WHAT/what_clean.sql sur la base principale unreference parameters Signification : Peut arriver lors de suppression d'applications Remède : Appliquer le fichier sql /var/www/dynacase/WHAT/what_clean.sql sur la base principale unreference acl Signification : Remède : Appliquer le fichier sql /var/www/dynacase/WHAT/what_clean.sql sur la base principale unreference permission Signification : Remède : Appliquer le fichier sql /var/www/dynacase/WHAT/what_clean.sql sur la base principale Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -29- Procédures d'exploitation connection db freedom Signification : Idem. "main connection db" Remède : double doc id Exemple : 1 double id detected Array ( [1178] => 2 ) Signification : Plusieurs documents ont le même identifiant numérique. Peut arriver lors d'importation avec des identificateurs fixe ou lors d'importation avec des familles inexistantes. Remède : Supprimer l'un des doublons (ou les deux) dynacase=# SELECT id,count(*) FROM doc GROUP BY id HAVING count(*) > 1; id | count ------+------1178 | 2 Détail des enregistrements posant problème : dynacase=# SELECT id, title, fromid, locked FROM doc WHERE id = 1178; id | title | fromid | locked ------+-----------------+--------+-------1178 | Fiche de suivi | 0 | 0 1178 | Dossier EI auto | 1169 | 0 Suppression de l'enregistrement incorrecte : dynacase=# DELETE FROM doc WHERE id = 1178 AND fromid = 0; DELETE 1 double doc name Signification : Plusieurs documents ont le même identifiant logique (attribut name) Remède : Supprimer l'un des doublons (ou les deux) multiple alive revision Exemple : 2 multiple alive Array ( [73780] => [email protected] [85480] => Restauration groupe test ) Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -30- Procédures d'exploitation Signification : Plusieurs révisions “vivante” sur un même document. Cela peut arriver sur d'ancienne version (< 2.14) lorsque deux tentatives de révisions simultanées sont créés ou si par programmation on force des restauration. Remède : dynacase=# SELECT id, title FROM docread WHERE id IN (SELECT m AS id FROM (SELECT min(id) AS m, initid, count(initid) AS c FROM docread WHERE locked != -1 AND doctype != 'T' GROUP BY docread.initid) AS z WHERE z.c > 1); id | title -------+----------------------------------------------------73780 | [email protected] 85480 | Restauration groupe test (2 lignes) # /var/www/dynacase-control/wiff context <nomDuContexte> exec ./wsh.php --api=fixMultipleAliveRevision Fixing mutiple alive revision for (initid='35198', id='85480') Fixing mutiple alive revision for (initid='56405', id='73780') family inheritance Exemple : Family [44232]: fromid = 0, pg inherit= Family [44237]: fromid = 0, pg inherit= Family [44241]: fromid = 0, pg inherit= ... Signification : L'héritage déclaré par la famille ne correspont pas à celle défini dans postgresql. Peut arriver si on change l'héritage d'une famille ou si une famille est créée avant la famille père Remède : Identifier les enregistrement posant problème : dynacase=# SELECT id, title, fromid, locked, doctype FROM doc WHERE fromid = 0 AND doctype IS NULL; id | title | fromid | locked | doctype -------+-------+--------+--------+--------44232 | | 0 | 0 | 44237 | | 0 | 0 | 44241 | | 0 | 0 | ... Supprimer les enregistrements : dynacase=# DELETE FROM doc WHERE fromid = 0 AND doctype IS NULL; DELETE 14 Ou supprimer le table correspondante et lancer : # /var/www/dynacase-control/wiff context <nomDuContexte> exec ./wsh --api=fdl_adoc --docid=<N°famille> Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -31- Procédures d'exploitation user group synchro Exemple inheritance tables group are differents between user=anakeen dbname=anakeen and user=anakeen dbname=freedom connection db webdavdbnam Signification : Les groupes définis dans la base principale ne sont pas les mêmes que celle de la base FREEDOM Remède : Lancer : # /var/www/dynacase-control/wiff context <nomDuContexte> exec ./wsh --api=freedom_groups connection db webdav Signification : Si le module WORKSPACE est installé Remède : connection USER LDAP Signification : Si le module NETWORKUSER est installé Remède : Suppression dépôts de paquets freedom-ecm.org Les premières versions de Freedom et Dynacase étaient hébergés sur des serveurs du domaine `freedomecm.org`. Suite au changement de nom, ce domaine n'est plus valide et vous ne devez plus utiliser de dépôts de paquets qui font référence à ce domaine. Pour supprimer les références à ces anciens dépôts de paquets, vous pouvez soit les supprimer manuellement, soit utiliser le script `utils/remove_freedom_ecm_repos.php` fournit avec les dernières versions de `dynacase-control` pour supprimer automatiquement ces dépôts. Le script fonctionne en mode notification (pour vous informer de la présence de dépôts invalides) ou en mode suppression (pour supprimer les dépôts invalides rencontrés). Mode notification (mode par défaut) : # cd /var/www/dynacase-control # php utils/remove_freedom_ecm_repos.php * Inspecting repository list... Found invalid repository 'invalid1' with host 'ftp.freedom-ecm.org'. Found invalid repository 'invalid2' with host 'ftp.freedom-ecm.org'. Re-run with '--remove' argument to remove the invalid repositories. Mode suppression (option --remove) : Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -32- Procédures d'exploitation # cd /var/www/dynacase-control # php utils/remove_freedom_ecm_repos.php --remove * Inspecting repository list... Found invalid repository 'invalid1' with host 'ftp.freedom-ecm.org'. Found invalid repository 'invalid2' with host 'ftp.freedom-ecm.org'. * Deactivating repository 'invalid1' on context 'c1'. Done. * Deactivating repository 'invalid1' on context 'c2'. Done. * Deactivating repository 'invalid2' on context 'c2'. Done. * Deleting repository 'invalid1'. Done. * Deleting repository 'invalid2'. Done. DY N AC A S E - CO N T RO L E N M O D E CLI Le mode CLI de dynacase-control permet d'administrer les contextes Dynacase en ligne de commande. Utilisation La commande `wiff' permet de manipuler et administrer les contextes Dynacase-platform. A terme, les opérations actuellement accessibles à travers l'UI Web, seront accessibles en ligne de commande à l'aide de cette commande `wiff'. La commande `wiff' doit être lancé sous `root'. Pour cela, vous pouvez soit vous logger sous le compte `root' pour exécuter la commande, soit utiliser `sudo pour exécuter celle-ci. Si vous n'êtes pas `root' sur le serveur, et que les opérations d'administrations s'effectuent avec `sudo' : $ sudo /var/www/dynacase-control/wiff help Password: ****** [message d'aide] Si vous avez accès au compte `root' sur le serveur : # /var/www/dynacase-control/wiff help [message d'aide] Par la suite, nous utiliserons la notation de ce dernier cas (`# control/wiff'). Dynacase Platform 3.1 Installation & Exploitation Version 1.0 /var/www/dynacase- -33- dynacase-control en mode CLI Commandes Lister les contextes existants Syntaxe list context [--pretty] Description Cette opération permet d'afficher les contextes installés. Exemple # /var/www/dynacase-control/wiff list context developpement test production # /var/www/dynacase-control/wiff list context --pretty Name Description ----------------------------------------------------------------------------------developpement Développement test Test production Production Manipuler les modules du contexte Lister les modules installés Syntaxe context <context-name> module list installed [--pretty] Description Cette opération affiche les modules installés dans le contexte sélectionné. Exemple # /var/www/dynacase-control/wiff context test module list installed dynacase-fckeditor (2.6.3-7) dynacase-webdesk (1.2.2-1) dynacase-extjs (3.1.1-8) dynacase-toolbox (3.0.11-1) dynacase-extui (0.6.4-1) dynacase-workspace (0.6.1-1) dynacase-ecm (0.3.0-1) Lister tous les modules disponibles à l'installation Syntaxe context <context-name> module list available [--pretty] Description Cette opération affiche la liste des modules disponibles sur les dépôt de paquets accessibles par HTTP ou FTP. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -34- dynacase-control en mode CLI Exemple # /var/www/dynacase-control/wiff context test module list available dynacase-extjs (3.1.1-8) dynacase-toolbox (3.0.11-1) dynacase-fckeditor (2.6.3-7) dynacase-freeevent (2.6.0-0) dynacase-webdesk (1.2.2-1) [...] dynacase-apisamples (0.1.3-1) dynacase-familysamples (0.1.0-2) dynacase-cas (0.0.2-1) dynacase-theme (0.0.1-4) dynacase-url (0.0.0-3) ) Lister les modules installés ayant une mise-à-jour de disponible Syntaxe context <context-name> module list upgrade [--pretty] Description Cette opération permet d'afficher la liste des modules installés dont une mise-à-jour est disponible sur les dépôts de paquets. Exemple # /var/www/dynacase-control/wiff context test module list upgrade dynacase-platform (2.14.1-12) Installer un module Syntaxe context <context-name> module install [options] <localPackagePath> context <context-name> module install [options] <moduleName> Description Cette opération permet d'installer un module contenu dans un paquet local (archive .webinst stocké en local sur le serveur) ou à partir d'un paquet disponible sur un dépôt de paquets distant accessible par HTTP ou FTP. Les options disponibles sont : • `–nopre' permet de ne pas exécuter les processus de `pre-install' déclarés par le paquet. • `–nopost' permet de ne pas exécuter les processus de `post-install' déclarés par le paquet. • `–nothing' permet de ne pas exécuter les processus de `pre-install' et de `post-install' déclarés par le paquet. • `–force' permet de forcer l'installation du paquet même si celui-ci est déjà installé. Exemple Installation d'un paquet distant : # /var/www/dynacase-control/wiff context test module install dynacase-platform Will install (or upgrade) the following packages: - dynacase-vault-3.10.0-0 - dynacase-fckeditor-2.6.3-5 - dynacase-common-0.6.0-0 - dynacase-platform-2.14.3-18 Proceed to installation ? [Y/n] Y Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -35- dynacase-control en mode CLI Processing required module 'dynacase-platform' (2.14.1-12) for install. Downloading module 'dynacase-platform-2.14.1-12'... [OK] Parameters for module 'dynacase-platform' -----------------------------------client_name ? [] Test core_db ? [test] authtype ? [html] apacheuser ? [www-data] _www Doing 'pre-install' of module 'dynacase-platform'. [...] Doing 'unpack' of module 'dynacase-platform'. Unpacking module 'dynacase-platform'... [OK] Doing 'post-install' of module 'dynacase-platform'. Running 'Initialize system database'... [OK] Running 'Record core application in database'... [OK] Running 'Record users application in database'... [OK] Running 'Record access application in database'... [OK] Running 'Record authent application in database'... [OK] Running 'Record appmng application in database'... [OK] Running 'Generate traduction catalog'... [OK] Running 'Register client name'... [OK] Processing required module 'dynacase-vault' (3.10.0-0) for install. Downloading module 'dynacase-vault-3.10.0-0'... [OK] Doing 'pre-install' of module 'dynacase-vault'. Doing 'unpack' of module 'dynacase-vault'. Unpacking module 'dynacase-vault'... [OK] Doing 'post-install' of module 'dynacase-vault'. Running 'Process programs/record_application VAULT'... [OK] Running 'Process wsh.php --api=vault_init'... [OK] Running 'Process programs/update_catalog'... [OK] Processing required module 'dynacase-fckeditor' (2.6.3-5) for install. Downloading module 'dynacase-fckeditor-2.6.3-5'... [OK] Doing 'pre-install' of module 'dynacase-fckeditor'. Doing 'unpack' of module 'dynacase-fckeditor'. Unpacking module 'dynacase-fckeditor'... [OK] Doing 'post-install' of module 'dynacase-fckeditor'. Processing required module 'dynacase-common' (0.6.0-0) for install. Downloading module 'dynacase-common-0.6.0-0'... [OK] Doing 'pre-install' of module 'dynacase-common'. Doing 'unpack' of module 'dynacase-common'. Unpacking module 'dynacase-common'... [OK] Doing 'post-install' of module 'dynacase-common'. Running 'Process programs/record_application FDC'... [OK] Running 'Process programs/update_catalog'... [OK] Processing required module 'freedom' (2.14.3-18) for install. Downloading module 'dynacase-2.14.3-18'... [OK] Doing 'pre-install' of module 'freedom'. Running 'Check php function gd_info'... [OK] Running 'Check php function cal_info'... [OK] Running 'Check php class XSLTProcessor'... [OK] Doing 'unpack' of module 'freedom'. Unpacking module 'freedom'... [OK] Doing 'post-install' of module 'freedom'. Running 'Process programs/app_post FDL I'... [OK] Running 'Process programs/record_application FDL I'... [OK] Running 'Process programs/app_post FDL U'... [OK] Running 'Process programs/app_post USERCARD I'... [OK] Running 'Process programs/record_application USERCARD I'... [OK] Running 'Process programs/app_post USERCARD U'... [OK] Running 'Process programs/record_application GENERIC I'... [OK] Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -36- dynacase-control en mode CLI Running 'Process programs/record_application ONEFAM I'... [OK] Running 'Process programs/record_application FUSERS I'... [OK] Running 'Process programs/app_post FREEDOM I'... [OK] Running 'Process programs/record_application FREEDOM I'... [OK] Running 'Process programs/app_post FREEDOM U'... [OK] Running 'Process programs/record_application FGSEARCH I'... [OK] Running 'Process wsh.php --api=crontab --cmd=register --file=FREEDOM/freedom.cron'... [OK] Running 'Process programs/update_catalog'... [OK] Done. Installation d'un paquet local : # /var/www/dynacase-control/wiff context test module install /tmp/foo-1.2.34.webinst Processing required module 'foo' (1.2.3-4) for install. Module 'foo-1.2.3-4' is already downloaded in '/private/tmp/foo-1.2.34.webinstkeZbf9'. Doing 'pre-install' of module 'foo'. Running 'Check php class XML_Parser'... [OK] Running 'Check php function imap_open'... [OK] Doing 'unpack' of module 'foo'. Unpacking module 'foo'... [OK] Doing 'post-install' of module 'foo'. Running 'Process programs/app_post FOO I'... [OK] Running 'Process programs/record_application FOO'... [OK] Running 'Process programs/app_post FOO U'... [OK] Running 'Process programs/update_catalog'... [OK] Done. Upgrader un module Syntaxe context <context-name> module upgrade [options] <localPackagePath> context <context-name> module upgrade [options] <moduleName> Description Cette opération permet d'upgrader un module à partir d'un paquet local (archive .webinst stocké en local sur le serveur) ou à partir d'un paquet disponible sur un dépôt de paquets distant accessible par HTTP ou FTP. Les options disponibles sont : • `–nopre' permet de ne pas exécuter les processus de `pre-upgrade' déclarés par le paquet. • `–nopost' permet de ne pas exécuter les processus de `post-upgrade' déclarés par le paquet. • `–nothing' permet de ne pas exécuter les processus de `pre-upgrade' et de `post-upgrade' déclarés par le paquet. • `–force' permet de forcer l'upgrade du paquet même si une version supérieure ou égale est déjà installée. Exemple # /var/www/dynacase-control/wiff context test module upgrade /tmp/foo-2.0.01.webinst Processing required module 'foo' (2.0.0-1) for upgrade. Module 'foo-2.0.0-1' is already downloaded in '/private/tmp/foo-2.0.01.webinstwEvSU3'. Doing 'pre-upgrade' of module 'foo'. Running 'Check php class XML_Parser'... [OK] Running 'Check php class XML_RSS'... [OK] Running 'Check php function imap_open'... [OK] Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -37- dynacase-control en mode CLI Doing 'unpack' of module 'foo'. Unpacking module 'foo'... [OK] Doing 'post-upgrade' of module 'foo'. Running 'Process programs/pre_migration FOO'... [OK] Running 'Process programs/app_post FOO U'... [OK] Running 'Process programs/record_application FOO'... [OK] Running 'Process programs/post_migration FOO'... [OK] Running 'Process programs/update_catalog'... [OK] Done. Manipuler les paramètres des modules Afficher l'ensemble des paramètres d'un ou des modules Syntaxe context <context-name> param show [<moduleName>] Description Cette opération permet d'afficher la liste des paramètres des modules installés. Exemple # /var/www/dynacase-control/wiff context test param show dynacase-platform:client_name = Test dynacase-platform:core_db = test dynacase-platform:authtype = html dynacase-platform:apacheuser = _www foo:bar = baz foo:bir = biz # /var/www/dynacase-control/wiff context test param show foo foo:bar = baz foo:bir = biz Afficher la valeur d'un paramètre d'un module Syntaxe context <context-name> param get <module-name>:<param-name> Description Cette opération permet d'afficher la valeur d'un paramètre d'un module donné. Exemple # /var/www/dynacase-control/wiff context test param get foo:bar foo:bar = baz Positionner la valeur d'un paramètre d'un module Syntaxe context <context-name> param set <module-name>:<param-name> <param-value> Description Cette opération permet de positionner la valeur d'un paramètre d'un module donné. Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -38- dynacase-control en mode CLI Exemple # /var/www/dynacase-control/wiff context <context-name> param set foo:bar buzz foo:bar = buzz Exécuter wstop sur un contexte Syntaxe wstop <context-name> Description Cette opération permet d'exécuter le script historique `wstop' sur un contexte. Exemple # /var/www/dynacase-control/wiff wstop test check update needed (/var/www/test/wcheck) Exécuter wstart sur un contexte Syntaxe wstart <context-name> Description Cette opération permet d'exécuter le script historique `wstart' sur un contexte. Exemple # /var/www/dynacase-control/wiff wstart test Exécuter whattext sur un contexte Syntaxe whattext <context-name> Description Cette opération permet d'exécuter le script historique `whattext' sur un contexte. Exemple # /var/www/dynacase-control/wiff whattext test Administration système Ouvrir un shell sous l'uid Apache Syntaxe context <context-name> shell context <context-name> exec <command> [<command-options>]] Description Cette opération permet d'ouvrir un shell, ou d'exécuter une commande, sous l'uid de l'utilisateur exécutant le serveur Apache afin d'effectuer manuellement des opérations d'administration spécifiques. Par défaut, si aucune commande n'est spécifié, le shell par défaut définit pour l'utilisateur du serveur Apache est lancé. Si l'utilisateur n'a pas de shell associé, il faudra alors spécifier le chemin du shell qu'on souhaite Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -39- dynacase-control en mode CLI exécuter avec la variante `exec'. Lors de l'ouverture du shell, ou de l'exécution de la commande, les variables d'environnement suivantes sont pré-positionnés : • `HOME' : le répertoire racine du contexte. • `wpub' : le répertoire racine du contexte (pour compatibilité scripts post/migr de Dynacase). • `pgservice_core' : le service Postgresql de la base `core' (pour compatibilité scripts post/migr de Dynacase). • `pgservice_freedom' : le service Postgresql de la base `freedom' (pour compatibilité scripts post/migr de Dynacase). • `freedom_context' : vaut toujours ”default” (pour compatibilité scripts post/migr de Dynacase). Exemple # /var/www/dynacase-control/wiff context test shell /bin/bash wiff(test)~$ id uid=70(_www) gid=70(_www) egid=20(staff) groups=70(_www) wiff(test)~$ pwd /var/www/test wiff(test)~$ ./FOO/FOO_post U [...] # /var/www/dynacase-control/wiff context test exec /usr/bin/tar -zcf /tmp/archive.tar.gz . Dynacase Platform 3.1 Installation & Exploitation Version 1.0 -40-