NOM : ids-bas-geoserver.nancy.inra.fr (en version 7.7 au 21/10/2014) Hérite de : DEBIAN_7-TOMCAT6 *** Description générale *** Cette station contient Linux DEBIAN 7.7 64 bits installé par cd iso (debian-7.1.0-amd64-netinst.iso téléchargement sur http://cdimage.debian.org/debian-cd/7.1.0/amd64/iso-cd/debian-7.1.0-amd64-netinst.iso du 02/09/2013. (Paquets usuels + Serveur SSH) Elle contient également le nécessaire pour exécuter tomcat6. Elle comporte 3 instances de tomcat6 et une installation des applications suivantes de georchestra : Tomcat instance 1 : 23/10/2014: création de la machine (Alain BENARD) Caractéristiques initiales de la machine virtuelle : mémoire : 16 Go processeur : 2 seul disque1 : SCSI 20 Go (0/0 - non préalloué) - Partitionnement conforme à la documentation d'installation excepté la partition de swap (voir second disque). - fichier 'Disque DEBIAN_7-INRA'. disque2 : SCSI 18 Go (0/1 - préalloué) - 1 seule partition primaire de type sawp utilisant tout l'espace du disque. - fichier 'Disque DEBIAN_7-INRA Swap'. disque3 : SCSI 250 Go (0/2 - non préalloué) - 1 seule partition primaire utilisant tout l'espace du disque et montée sous /data. Facilement extensible en cas de besoin. - fichier 'Disque DEBIAN_7-INRA Data'. CD-ROM / DVD : Lecteur Physique (image ISO durant l'installation). Périphérique supprimé le 23/10/2014 Ethernet : VM Network Contrôleur USB : Absent Autre : Pas de lecteur de disquette, ni de carte son ni de port parallèle comptes utilisateurs initiaux : (idem machine mère) login : root mdp : Templ@t3 --------------------------------------------------------------------------------------------------- ISSU MACHINE MERE : --------------------------------------------------------------------------------------------------- 02/09/2013 (Alain Benard) : Installation OS : Nom Machine Initial : debianmaquette (sur domaine nancy.inra.fr) Réseau : Configuration IP Statique Résolution graphique : pas d'interface graphique. Principales options retenues durant l'installation : Partionnement : utilisation complète du 1° disque virtuel (1 Logical Volume contenant un groupe de volumes vg1 et 5 volumes logiques définis par le programme d'installation) : Point de montage Type Nom de volume logique Taille du volume logique (Mo) / ext4 root 2 Gb /usr ext4 usr 7,9 Gb /var ext4 var 4,4 Gb /home ext4 home 2 Gb /tmp ext4 tmp 380 Mb Reste 4 Gb de libre en cas de besoin. - Le swap est herbergé dans l'unique partition du second disque virtuel. Le non respect des préconisations INRA utilisant les volumes logiques est dû au fait que l'on ne connait pas la future utilisation du serveur virtuel et que les outils VMWare permettent facilement d'ajouter des disques et d'en modifier la taille. Cela permet également de préallouer le fichier correspondant à la partiton swap. La séparation en plusieurs disques permet d'utiliser le thin provisioning Vmware de manière plus fine, voir d'héberger certains disques virtuels d'une même machine virtuelle sur des architectures de stockage différentes (par exemple un disque système sur un SAN à disque rapide et un disque données sur un NAS RAID5 avec des disques de grande capacité). ------------ 02/09/2013 (Alain Benard) - Installation de vim - alias root dans /etc/aliases pointant vers nom@domaine.fr pour ne pas polluer une adresse réelle lors des phases de déploiement ou test. - Purge partielle de /root/.bash_history pour mieux mettre en évidence les commandes nécessaires à la personnalisation de dernière minute et les opérations importantes réalisées lors de la constitution de la machine virtuelle. 23/10/2013 (Alain Benard) - Installation diverses + tomcat (https://svngeodb.nancy.inra.fr/svn/scripts/trunk/serveurs%20virtuels/installations/tomcat/tomcat6_georchestra.sh) : 21/10/2014 (Alain Benard) - Mise à niveau du système (apt-get update + apt-get dist-upgrade) --------------------------------------------------------------------------------------------------- NON HERITE : --------------------------------------------------------------------------------------------------- 23/10/2014 : (reproduction des opérations effectuées par Alain Benard et Nathalie Leroy pour la configuration du geoserver bac à sable situé à Orléans (Version 13.09 de georchestra) - voir CD CampToCamp). Ces opérations ont parfois été complétées par la documentation (https://github.com/georchestra/georchestra/blob/14.06/INSTALL.md) - apt-get install libgdal1 (nécessaire pour extractor) - apt-get install ttf-mscorefonts-installer (Fontes pour les styles geoserver) - apt-get install libjai-imageio-core-java (Native JAI) - Conformément à la documentaion (https://github.com/georchestra/georchestra/blob/14.06/INSTALL.md#geoserver) - cd /usr/share/tomcat6/lib (CETTE OPERATION EST A REPRODUIRE SUR CHAQUE INSTANCE TOMCAT HEBERGEANT Geoserver sauf si ces instances partagent /usr/share/tomcat6) - ln -s /usr/share/java/jai_codec.jar - ln -s /usr/share/java/jai_core.jar - ln -s /usr/share/java/jai_imageio.jar - ln -s /usr/share/java/clibwrapper_jiio.jar - ln -s /usr/share/java/mlibwrapper_jai.jar - apt-get install gdal-bin (nécessaire si on compile geoserver avec l'extension ogr, les prérequis indiquant que la commande ogr2ogr doit être accessible - à défaut un message sera inscrit dans le log de geoserver au démarrage et le flux WFS ne fonctionnera pas). - configuration du fichier tomcat-users.xml- ajout du role manager-gui - Régénération du keystore de tomcat (nom = localhost et mdp = changeit) - cd /var/lib/tomcat6/conf - rm keystore # Génération du certificat - keytool -genkey -alias geoserver -keystore keystore -storepass [nonstocké] -keypass [nonstocké] -keyalg RSA -keysize 2048 - Mettre le meme mot de passe pour le keystore et pour le keypass en raison d'un bug tomcat : les véritables mot de passe ne sont pas stockés dans ce document. - Mettre ids-bas-geoserver.nancy.inra.fr à la réponse à la question nom et prenom # Ce certificat doit être regeneré si la vm change de nom - Exportation de ce certificat en vue de l'importer dans le portail: keytool -export -keystore keystore -alias geoserver -file geoserver.crt - Mise en place de l'authentification mutuelle entre le portail et geoserver (cf https://www.esup-portail.org/plugins/viewsource/viewpagesrc.action?pageId=132710411) - Les configurations de setenv.sh et de server.xml sont déjà intégrées à la maquette et doivent être vérifiées notamment pour prendre en compte les mots de passe keystore et l'allocation mémoire. - Pour geoserver une configuration telle : JAVA_OPTS="$JAVA_OPTS -Xms2G -Xmx4G -XX:PermSize=256m -XX:MaxPermSize=256m \ -DGEOSERVER_DATA_DIR=/data/work/gs_data \ -DGEOWEBCACHE_CACHE_DIR=/data/work/geowebcache/cache/dir \ -DGEOSERVER_LOG_LOCATION=/data/work/gs_data/logs/geoserver1.log -Djava.awt.headless=true \ -Dfile.encoding=UTF8 \ -Djavax.servlet.request.encoding=UTF-8 \ -Djavax.servlet.response.encoding=UTF-8 \ -server \ -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=2 \ -XX:SoftRefLRUPolicyMSPerMB=36000 \ -XX:NewRatio=2 \ -XX:+AggressiveOpts " export LD_LIBRARY_PATH="/lib:/usr/lib/:/data/sig/gdal/NativeLibs/:$LD_LIBRARY_PATH" export GDAL_DATA="/data/sig/gdal/gdal-data" export JAVA_OPTS="$JAVA_OPTS -Dorg.geotools.referencing.forceXY=true - Pour extractor : -Dextractor.storage.dir=/data/tmp/ - Arrêt tomcat6 : service tomcat6 stop - Mise en place de 3 autres instances de tomcat6 (configuration des ports pour éviter les conflits avec le premier tomcat : 8005 - [8009] - 8080 - 8443) https://svngeodb.nancy.inra.fr/svn/scripts/trunk/serveurs%20virtuels/installations/georchestra/second_tomcat6_debian.sh Les fichiers /etc/init.d/tomcat6[bis][ter][qua] doivent être personnalisés à l'issue du script. NAME="tomcat6bis" DESC="par exemple Tomcat 6 seconde instance" ... CATALINA_HOME=/usr/share/tomcat6bis Entête du fichier à modifier Relancer ensuite les commandes update-rc.d tomcat6[bis][ter][qua] defaults - La mise à jour des /var/lib/tomcat6[bis][ter][qua]/conf/server.xml est manuelle : Seconde instance tomcat : - port 8006 pour shutdown au lieu de 8005 - port 8444 au lieu de 8443. - port 8081 au lieu de 8080 redirigé sur 8444 au lieu de 8443 Troisieme instance tomcat : - port 8007 pour shutdown au lieu de 8005 - port 8445 au lieu de 8443. - port 8082 au lieu de 8080 redirigé sur 8445 au lieu de 8443 Quatrieme instance tomcat : - port 8008 pour shutdown au lieu de 8005 - port 8446 au lieu de 8443. - port 8083 au lieu de 8080 redirigé sur 8446 au lieu de 8443 - Les fichiers /var/lib/tomcat6[bis][ter][qua]/conf/keystore sont supprimés (on utilise un seul keystore pour les 3 instances tomcat) - Mise en place du script de déploiement des applications java (https://svngeodb.nancy.inra.fr/svn/scripts/trunk/serveurs%20virtuels/installations/georchestra/) - lancement du script confiance.sh - personnalisation des scripts de déploiement selon le contexte. - Configuration messagerie (notamment pour les logs serveur, monit et l'extracteur...) - dpkg-reconfigure exim4-config - Recopie du dossier des librairies natives (depuis georchestra-source.nancy.inra.fr/data/sig vers /data/sig) - Les options de la JVM présentées plus haut tiennent compte de ce chemin. - Mise en place dossier de travail geoserver : - mkdir /data/work/ - mkdir /data/work/gs_data - chown tomcat6:tomcat6 /data/work/gs_data - Mise en place dossier de travail extractor : - mkdir /data/tmp - chown tomcat6:tomcat6 /data/tmp - Récupération du répertoire et des données de geoserver bac à sable hébergé à Orléans. (pour un répertoire vide : recopie de tomcat6/webapps/geoserver/data sous /data/work/gs_data et autorisation en écriture pour l'utilisateur tomcat6 (après un premier déploiement de l'application geoserver)). - Installation de monit pour superviser le serveur. - apt-get install monit - configuration de base de monit. - Mise en place des redirections via Apache (/var/www/georchestra/conf/z_admin.conf) pour adresser les outils d'administration de la page spécialement concue (https://ids-bas-portail.nancy.inra.fr/admin) : ProxyRequests Off ProxyPreserveHost On AddDefaultCharset off Order deny,allow Allow from all #Allow from .example.com # Define the character set for proxied FTP directory listings ProxyFtpDirCharset UTF-8 ProxyPass /geosrv-tomcat2/ http://ids-bas-geoserver.nancy.inra.fr:8081/ ProxyPassReverse /geosrv-tomcat2/ http://ids-bas-geoserver.nancy.inra.fr:8081/ ProxyPass /monitbasgeoserver/ http://ids-bas-geoserver.nancy.inra.fr:2812/ ProxyPassReverse /monitbasgeoserver/ http://ids-bas-geoserver.nancy.inra.fr:2812/ .......... - Installation / configuration nginx - apt-get install nginx - Le fichier /etc/nginx/conf.d/site-available/georchestra est créé puis activé (lien enabled). Le contenu principal : ## La premiere instance de tomcat fournit l'instance de geoserver ayant le droit de modifier le catalogue (creation de cartes ...) ## En cas d'indisponibilite la seconde instance de tomcat/geoserver assurera ce role. upstream geoserver_admin { server localhost:8080; server localhost:8081 backup; } ## Les instances 2 et 3 repondent aux besoins de flux OGC (geoserver servant des flux WMS, WFS ....) upstream geoserver_cartes{ ip_hash; server localhost:8081; server localhost:8082; } server { listen 8090; ## listen for ipv4; this line is default and implied root /usr/share/nginx/www; index index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; ## url pour administration geoserver location /geoserver/rest{ proxy_pass http://geoserver_admin; } ## url pour administration geoserver location /geoserver/web{ proxy_pass http://geoserver_admin; } ## url pour flux OGC geoserver location /geoserver{ proxy_pass http://geoserver_cartes; }