Référence : Document de préconisations DSI (équipe IS SIL de Montpellier) Version : 2.0 Page 4 Description : Installation des applicatifs de catalogages sur la plate-forme IS (Montpellier et Nouméa) Auteurs : Ndomassi TANDO 2, Relecteurs : Stéphane DEBARD 1, Adrien CHEYPE 1 1 Equipe 'informatique scientifique et appui au Sud' - 2 IS&AS - OSIATIS Dernière modif. : 12/07/2012 Référence : HEBER-0209 Version : 2.0 Pages: 4 Diffusion : Public Installation des applicatifs de catalogages sur la Plateforme IS (Montpellier et Nouméa) GéoPortal Version 2.1 IRD-DSI-IS&AS 12/07/2012
1 PRE-REQUIS :... 3 3 TELECHARGEMENT DES SOURCES :... 3 4 INSTALLATION :... 3 4.1 Création de la base de données postgresql :... 3 4.1.1 Création du schéma :... 3 4.1.2 Création des tables :... 3 5 INSTALLATION DES APPLICATIONS:... 4 6 CONFIGURATION DE GEOPORTAL:... 4 6.1 Modification du fichier $TOMCAT_HOME/webapps/geoportal/WEB-INF/classes/gpt/config/gpt.xml :... 4 6.1.1 Modification de l envoi des mails :... 4 6.1.2 Modification de la carte intéractiveinteractive :... 4 6.1.3 Modification de l onglet download :... 5 6.1.4 Configuration d un utilisateur avec une authentification simple :... 6 6.1.5 Configuration des utilisateurs en utilisant ldap :... 7 6.2 Configuration JDBC :... 9
1 PRE-REQUIS : Un serveur centos 5.5 ou supérieur Tomcat 6 ou supérieur Postgresql 8.4 ou supérieur Apache 2.2.3 ou supérieur 2 TELECHARGEMENT DES SOURCES : Télécharger geoportal 2-1 à l adresse: http://sourceforge.net/projects/geoportal/files/latest/download 3 INSTALLATION : 3.1 Création de la base de données postgresql : Créer une base postgresql avec comme nom geoportal et en UTF8 Dézipper le fichier geoportal-1-2.zip Aller dans le répertoire où l archive a été extraite puis dans Database Scripts/Postgresql 3.1.1 Création du schéma : Lancer le script grants_linux.sh avec la commande (remplacer HOST par le nom de la machine) : chmod 755 grants_linuxpg.sh su postgres./grants_linuxpg.sh HOST5432 geoportal geoportal postgres geoportal exit Puis tapez deux fois le nouveau mot de passe pour l utilisateur geoportal et encore deux fois le mot de passe courant de l utilisateur postgres pour obtenir les droits de lancer les scripts. 3.1.2 Création des tables : Lancer le script create_schema_linuxpg.sh avec la commande (remplacer HOST par le nom de la machine) : chmod 755 create_schema_linuxpg.sh su postgres./create_schema_linuxpg.sh HOST 5432 geoportal geoportal exit 4 INSTALLATION DES APPLICATIONS: On installe le fichier geoportal.war (répertoire /Web Applications/Geoportal de l archive décompressée) soit en les copiant directement sur le serveur dans le répertoire /usr/local/tomcat/webapps du serveur et en redémarrant le service tomcat. Soit en passant par le manager de l interface web : http://nom_serveur:8080/manager/html
5 CONFIGURATION DE GEOPORTAL: 5.1 Modification du fichier $TOMCAT_HOME/webapps/geoportal/WEB- INF/classes/gpt/config/gpt.xml : 5.1.1 Modification de l envoi des mails : Configurer la balise <mail> </mail> de la façon suivante : <mail smtphost="nom_serveur_mail" smtpport="25" siteemailaddress="adresse_email_destinataire" emailaddressregexp="^[a-za-z0-9,!#\$%&'\*\+/=\?\^_`\{\ }~-]+(\.[a-za-z0-9,!#\$%&'\*\+/=\?\^_`\{\ }~- ]+)*@[a-za-z0-9-]+(\.[a-za-z0-9-]+)*$"> <smtpauth username="adresse_email_expediteur" password="" encrypted="false"/> </mail> 5.1.2 Modification de la carte interactive : Configurer la balise <InteractiveMap> de la façon suivante : <interactivemap jsapiurl="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.0" mapserviceurl="http://server.arcgisonline.com/arcgis/rest/services/world_physical_map/mapserver" mapservicetype="dynamic" geometryserviceurl="http://sampleserver3.arcgisonline.com/arcgis/rest/services/geometry/geometryserver" locatorurl="http://sampleserver1.arcgisonline.com/arcgis/rest/services/locators/esri_geocode_usa/geocodeserver" locatorsinglefieldparameter = "zip"/> Configurer la balise lucene de la façon suivante :
<lucene indexlocation="/usr/local/tomcat/lucene_index_location" writelocktimeout="60000" usenativefslockfactory="true" analyzerclassname="org.apache.lucene.analysis.standard.standardanalyzer"> <!-- <adaptor name="like" classname="com.esri.gpt.catalog.lucene.standardnetworkparseradaptor"> <attribute key="baseurl" value="http://servername/ontologyservice/query?threshold=0.25&term="/> </adaptor> --> </lucene> Puis rajouter le répertoire lucene_index_location dans /usr/local/tomcat (avec les droits de l utilisateur tomcat). Configurer la balise <mapviewer> de la façon suivante : <mapviewer> <instance url="http://geoss.esri.com/geoviewer/index.html" classname="com.esri.gpt.catalog.search.mapviewerflex"> <parameter key="width" value="1000"/> <parameter key="height" value="700"/> <parameter key="regexcanconsumeurl" value=""/> </instance> </mapviewer> 5.1.3 Modification de l onglet download : <downloaddata taskurl="http://yourarcgisserver/rest/services/datadownload/gpserver/extract%20data%20and%20email%20task " mapserviceurl=" http://yourarcgisserver/rest/services/datadownload/mapserver " mapservicetype="dynamic"> Pour récupérer l url du paramètre taskurl, aller à l adresse http://yourarcgisserver/rest/services/ en substituant «yourarcgisserver» par l adresse de son serveur argis. Le service de geoprocessing DataDownload devrait apparaitre dans la liste. Cliquer sur le lien «Extract Data and Email Task» de cette page Copier ensuite l url de la page redirigée et la copier comme valeur pour le paramètre taskurl: taskurl="http://yourarcgisserver/rest/services/datadownload/gpserver/extract%20data%20and%20email%20task Pour récupérer l url du paramètre mapserviceurl, aller à l adresse http://yourarcgisserver/rest/services/ en substituant «yourarcgisserver» par l adresse de son serveur argis. On obtient l url en cliquant sur le lien de notre service de cartographie exemple : mapserviceurl=" http://yourarcgisserver/rest/services/datadownload/mapserver " La valeur du paramètre mapservicetype doit être «dynamic»
5.1.4 Configuration d un utilisateur avec une authentification simple : Supprimer les balises «<! «et «-- >» autour des balises «<simpleadapter> </simpleadapter>» Configurer ensuite la balise de la manière suivante : <simpleadapter> <account username="nom_user" password="mot_de_passe" encrypted="false"/> <roles> <role key="gptregistereduser"/> <role key="gptpublisher"/> <role key="gptadministrator"/> </roles> </simpleadapter> Avec nom_user: le nom de l utilisateur avec lequel on veut se connecter à l application mot_de_passe : le mot de passe de l utilisateur Il faut ensuite commenter la balise <ldapadapter>...</ldapadapter> en les encadrant avec «<! «et «-- >» 5.1.5 Configuration des utilisateurs en utilisant ldap : Configurer la balise <ldapadapter>...</ldapadapter>
<identity enckey="ptkesri" > <ldapadapter> <ldapconnectionproperties providerurl="ldap://nom_serveur_ldap:port_ldap" initialcontextfactoryname="com.sun.jndi.ldap.ldapctxfactory" securityauthentication="simple" securityprotocol=""> <ldapserviceaccount securityprincipal="entree_ldap_correspondant_a_l_utilisateur_admin" securitycredentials="nom_de_passe_crypté" encrypted="true" catalogadmindn=" entree_ldap_correspondant_a_l_utilisateur_admin "/> </ldapconnectionproperties> <singlesignon active="false" credentiallocation="userprincipal" anonymousvalue="" logoutoutcome=""/> <selfcaresupport supportslogin="true" supportslogout="true" supportsuserregistration="true" supportsuserprofilemanagement="true" supportspasswordchange="true" supportspasswordrecovery="true"/> <roles authenticateduserrequiresrole="true"> <role key="gptregistereduser" groupdn="groupe_ldap_des utilisateurs enregistrés"/> <role key="gptpublisher" inherits="gptregistereduser" groupdn="groupe_ldap des utilisateurs qui peuvent publier"/> <role key="gptadministrator" inherits="gptpublisher" groupdn="groupe_ldap des administrateurs de geoportal"/> </roles> <users displaynameattribute="samaccountname" passwordencryptionalgorithm="sha" newuserdnpattern="cn={0},"
usernamesearchpattern="(&(objectclass=person)(samaccountname={0}))" searchdit="entrée_ldap_de recherche des utilisateurs"> <requiredobjectclasses> <objectclass name="top"/> <objectclass name="person"/> <objectclass name="organizationalperson"/> <objectclass name="inetorgperson"/> </requiredobjectclasses> <userattributemap> <attribute key="username" ldapname="samaccountname"/> <attribute key="password" ldapname="userpassword"/> <attribute key="email" ldapname="mail"/> <attribute key="firstname" ldapname="givenname"/> <attribute key="lastname" ldapname="sn"/> <attribute key="organization" ldapname="o"/> <attribute key="affiliation" ldapname="businesscategory"/> <attribute key="street" ldapname="street"/> <attribute key="city" ldapname="l"/> <attribute key="stateorprov" ldapname="st"/> <attribute key="postalcode" ldapname="postalcode"/> <attribute key="country" ldapname=""/> <attribute key="phone" </userattributemap> </users> ldapname="telephonenumber"/> <groups displaynameattribute="cn" dynamicmemberofgroupsattribute="" dynamicmembersattribute="" memberattribute="member" membersearchpattern="(&(objectclass=group)(member:1.2.840.113556.1.4.1941:={0}))" searchdit="entrée_ldap_de recherche des groupes"> <metadatamanagementgroup name="gptadministrators" groupdn="entrée ldap du groupe gptadministrators"/> </groups> </ldapadapter> </identity> 5.2 Configuration JDBC : Télécharger le driver jdbc de postgresql à l adresse http://jdbc.postgresql.org/download.html Le placer dans /usr/lib/tomcat/lib Copier le fichier geoportal.xml depuis l archive décompressée (répertoire Other/JNDI Configuration) geoportal vers
/usr/lib/tomcat/conf/catalina/localhost Modifier le fichier geoportal.xml de la façon suivante (adapter si nécessaire le password de l utilisateur «geoportal» ) : <Context docbase="geoportal" path="/geoportal" debug="0" reloadable="true" crosscontext="true"> <Resource name="jdbc/gpt" auth="container" type="javax.sql.datasource" driverclassname="org.postgresql.driver" url="jdbc:postgresql://localhost:5432/geoportal" username="geoportal" password="geoportal" maxactive="20" maxidle="10" maxwait="-1" /> </Context>