NOM : ids-bas-portail.nancy.inra.fr
(en version 7.7 au 21/10/2014)
Hérite de : DEBIAN_7-TOMCAT6 (modifié le 21/10/2014)
*** 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 :
- security proxy
- cas
- bandeau (header)
- download_form
- ldap-admin
Tomcat instance 2 :
- mapfishapp
- geofence
- analytics
Tomcat instance 3 :
- geonetwork
21/10/2014 : création de la machine (Alain BENARD)
Caractéristiques initiales de la machine virtuelle :
mémoire : 10 Go
processeur : 1 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 6 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 50 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 21/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 :
---------------------------------------------------------------------------------------------------
21/10/2014 : (reproduction des opérations effectuées par Alain Benard et Nathalie Leroy pour la configuration du portail 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)
- Installation apache : apt-get install apache2 libapache2-mod-auth-cas
- Activation de modules apache : a2enmod proxy_ajp proxy_connect proxy_http proxy
- a2enmod ssl rewrite (ssl ne fonctionnera pas pour l'instant [voir plus loin] car le nécessaire n'est pas fait au niveau certificat).
- service apache2 restart
- cd /etc/apache2/sites-available
- Désactive les sites par défaut : a2dissite default default-ssl
- Création du virtual host : vim georchestra et copie du contenu ci-dessous :
ServerName ids-bas-portail.nancy.inra.fr
DocumentRoot /var/www/georchestra/htdocs
LogLevel warn
ErrorLog /var/www/georchestra/logs/error.log
CustomLog /var/www/georchestra/logs/access.log "combined"
Include /var/www/georchestra/conf/*.conf
ServerSignature Off
ServerName ids-bas-portail.nancy.inra.fr
DocumentRoot /var/www/georchestra/htdocs
LogLevel warn
ErrorLog /var/www/georchestra/logs/error.log
CustomLog /var/www/georchestra/logs/access.log "combined"
Include /var/www/georchestra/conf/*.conf
SSLEngine On
SSLCertificateFile /var/www/georchestra/ssl/georchestra.crt
SSLCertificateKeyFile /var/www/georchestra/ssl/georchestra-unprotected.key
SSLCACertificateFile /etc/ssl/certs/ca-certificates.crt
ServerSignature Off
- Activation du site fraichement créé : a2ensite georchestra
- Préparation d /configuration Apache :
https://github.com/georchestra/georchestra/blob/master/doc/setup/apache.md#setting-up-apache
- cd /var/www/georchestra/ssl (plus d'info sur ssl : http://www.linux-france.org/prj/edu/archinet/systeme/ch24s03.html)
- une demande de certificat officiel est effectuée (https://intranet6.inra.fr/systemes-information/Offre-de-service/Services-techniques-pour-les-applications/Certificat-de-securite-pour-serveurs)
A défaut on peut générer son propre certificat :
- Génération clé privée : openssl genrsa -des3 -out georchestra.key 1024 (passw phrase = non stocké dans ce document)
- Génération demande de signature de certificat : openssl req -new -key georchestra.key -out georchestra.csr :
- Renseigner tous les champs et surtout le FQDN en lien avec le nom du serveur qui utilisera le certificat : ids-bas-portail.nancy.inra.fr
- Génération d'une clé (non protégée) : openssl rsa -in georchestra.key -out georchestra-unprotected.key
- Génération du certificat signé par la clé privée : openssl x509 -req -days 365 -in georchestra.csr -signkey georchestra.key -out georchestra.crt
- Régénération du keystore de tomcat (nom = localhost et mdp = changeit)
- cd /var/lib/tomcat6/conf
# Génération du certificat
# Ce certificat doit être regeneré si la vm change de nom
- rm keystore
- keytool -genkey -alias georchestra -keystore keystore -storepass changeit -keypass changeit -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 localhost en réponse à la question 'Nom et prénom'.
- Exportation de ce certificat en vue de l'importer dans le geoserver: (Il n'est vraiment pas certain que l'exportation d'une clé correspondant à localhopst ait un intérêt
... à retester avec l'activation https et peut être ajouter une nouvelle clé pour ids-bas-portail.nancy.inra.fr à exporter puis importer sur le geoserver)
- keytool -export -keystore keystore -alias georchestra -file georchestra.crt
- 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.
- Arrêt tomcat6 : service tomcat6 stop
- Modification /var/lib/tomcat6/bin/setenv.sh pour prendre en compte : (Xms = 25 % de la mémoire disponible [3Go pour la premiere instance de tomcat] ; Xmx = mini 75 % de la mémoire dispo)
JAVA_OPTS="$JAVA_OPTS \
-Djava.awt.headless=true \
-Xms1G \
-Xmx3G \
-XX:MaxPermSize=256m "
- modification fichier /var/lib/tomcat6/conf/server.xml pour y ajouter un connecteur sur le port 8009 :
- apt-get install libgdal1 (nécessaire pour mapfishapp ou extractor)
- Mise en place d'un second 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
Le fichier /etc/init.d/tomcat6[bis][ter] doit être personnalisé à 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] defaults
- La mise à jour de /var/lib/tomcat6bis/conf/server.xml est manuelle :
- 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
- connector sur port 8009 inutile à supprimer (utile seulement pour le security-proxy du premier tomcat)
- Les 2 étapes ci-dessus sont réitérées pour mettre en place un troisième tomcat (modificiation basique du script) configuré ainsi :
- 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
- connector sur port 8009 inutile à supprimer (utile seulement pour le security-proxy du premier tomcat)
- Les fichiers /var/lib/tomcat6bis [ter]/conf/keystore sont supprimés (on utilise un seul keystore pour les 3 instances tomcat)
- Adaptation des fichier setenv.sh des instances 2 et 3 :
- instance 2 : idem instance 1
- instance 3 : passage de Xmx à 2 Go et ajout de variables nécessaires à geonetwork :
export CATALINA_OPTS="-Dgeonetwork.dir=/data/geonetwork/gn_data \
-Dgeonetwork.schema.dir=/var/lib/tomcat6ter/webapps/geonetwork/WEB-INF/data/config/schema_plugins \
-Dgeonetwork.jeeves.configuration.overrides.file=/var/lib/tomcat6ter/webapps/geonetwork/WEB-INF/config-overrides-georchestra.xml"
- Pour les 3 instances : vérification des fichiers /var/lib/tomcat6[bis][ter]/tomcat-users.xml pour les informations de sécurité et mot de passe des instances tomcat.
- Décommenter la définition des rôles, adapter les mots de passe et creer le role manager-gui et l'associer à l'utilisateur tomcat.
- Le fichier tomcat-users.xml doit être accessible au compte tomcat6 : chown root:tomcat6 tomcat-users.xml
- 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.
- Mise en place dossier de travail geonetwork :
- mkdir /data/geonetwork
- mkdir /data/geonetwork/gn_data
- chown tomcat6:tomcat6 /data/geonetwork/gn_data
- Redemarer les instances tomcat
---------------------------------------------------------------------------------------------------
22/10/2014
- 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
### Les serveurs tomcat du portail ###
ProxyPass /tomcat1/ http://ids-bas-portail.nancy.inra.fr:8080/
ProxyPassReverse /tomcat1/ http://ids-bas-portail.nancy.inra.fr:8080/
### Le monitoring des serveurs ###
ProxyPass /monitbasportail/ http://localhost:2812/
ProxyPassReverse /monitbasportail/ http://localhost:2812/
..........
---------------------------------------------------------------------------------------------------
23/10/2014
- Mise en place de l'authentification mutuelle entre front office et back office (cf https://www.esup-portail.org/plugins/viewsource/viewpagesrc.action?pageId=132710411)
Importation du certificat du geoserver précedemment exporté depuis geoserver en geoserver.crt:
- copie du fichier crt dans /var/lib/tomcat6/conf/
- keytool -import -keystore keystore -alias geoserver -file geoserver.crt
- Configuration messagerie (notamment pour les logs serveur et monit ...)
- dpkg-reconfigure exim4-config