User Tools

Site Tools


wiki:epims4_0:admin:configuration

Configuration Serveurs pour ePims

PostgreSQL

Accès TCP/IP au serveur PostgreSQL

La configuration de l'accès TCP/IP n'est en réalité pas spécifique d'ePims, et si votre serveur PostgreSQL est déjà configuré pour accepter les connections TCP/IP, ce paragraphe n'est pas utile.

  • Modification des fichiers d’accès à la base : pg_hba.conf et pg_ident.conf (windows: accès depuis le menu démarrer…) . Le premier permet de lister les utilisateurs qui ont le droit de se connecter et le second permet de faire un mapping entre les utilisateurs Linux et les utilsateurs PostgreSQL.
pg_hba.conf :
      // En local, utilisation de la map <nom_map> définie dans pg_ident.conf
      local all all ident <nom_map>
      // A distance, autorisation sur adresse ip. Au minimum l'adresse locale du serveur doit 
      // etre saisie pour les accès de l'application tomcat.
      // L'adresse est soit l'adresse ip soit 127.0.0.1 selon comment est configuré le 
      // fichier hosts.
      // Entrer toutes les adresses ip des pc dont les utilisateurs ont un droit d'accès direct à la BD
      host all all 182.110.182.19 255.255.255.255 md5
      pg_ident.conf : définition de la map <nom_map>, saisir tous les mappings autorisés.
      // utilisateur système (unix ou windows) robert correspond à l’utilisateur postgresql pims_db_user
      <nom_map> robert pims_db_user 
  • Modification du ficher de configuration <pgsql_home>/data/postgresql.conf (windows: accès depuis le menu démarrer…Ne semble pas nécessaire sous windows! )
      listen_addresses = '*'
      port = 5432

Remarque pour Linux : Par défaut, PostgreSQL s’installe sous /var/. Selon les installations, l’espace disque de /var est limité et rapidement un problème se pose lorsque la base de données grossit. Il est possible d’installer PostgreSQL sous /usr/local/share/pgsql, par exemple, puis de modifier le fichier /etc/init.d/postgresql ou /etc/sysconfig/pgsql/postgresql.conf (appelé depuis /etc/init.d/postgresql) : export des variables PGLOG (/usr/local/share/pgsql/logs/pgsql) et PGDATA (/usr/local/share/pgsql/data).

Creation de l'utilisateur ePims

Depuis une console ou un terminal. (windows: se mettre dans le répertoire bin de postgres)

  • Création d’un utilisateur pour ePims pims_db_user :
createuser –d –P pims_db_user <enter> 
  ou 
createuser -U postgres -d -P pims_db_user <enter>.
  • Spécifier le mot de passe. Seuls les droits pour la création de base sont nécessaire à l'utilisateur pims_db_user (spécifier par l'option -d). Dans “-U postgres”, postgres correspond au superuser spécifié lors de l'installation du serveur PostgreSQL. Remarque : La création d'un nouvel utilisateur peut nécessiter d'être connecté comme l'utilisateur “postgres” (linux: su - postgres windows : se logger en tant que postgres).

Création de la base de données ePims

Une fois la configuration faite, il est possible de créer la base de données utilisées dans ePims :

En ligne de commande

  • Créer la BD en utilisant l’encodage LATIN 1:
    createdb –E ‘UTF-8’ –U pims_db_user PimsDB 

    FIXME Encodage à confirmer

  • Créer le modèle à partir du fichier ePimsModel.sql :
     psql –U pims_db_user PimsDB

    puis

    \i <path/to/ePimsModel>.sql 

Via pgAdmin

L'outil pgAdmin III permet d'effectuer la création de la base sans pour autant se trouver sur le serveur :

  • Configurer une connection sur localhost en utilisant l'utilisateur “pims_db_user” !
  • Créer la BD 'PimsDB' en utilisant l’encodage UTF-8 et appartenant à l'utilisateur pims_db_user
  • Créer le modèle à partir du fichier ePimsModel.sql : exécuter le fichier sql dans la BD Pims

Migration d'une base existante

Si vous utilisiez déjà Pims dans sa version précédente (version 2.x ou 3.x et +), il est possible de migrer les données. Pour cela connectez-vous à la BD PimsDB, avec PgAdmin par exemple, en utilisant le user pims_db_user et exécuter un des fichiers de migration (voir ci-dessous) de la même façon que l'on exécute ePimsModel.sql (cf les chapitres précédents).

  • Passage de la base de données version 2.x à la version 3.x : exécution de Data_migration-1.sql
  • Passage de la base de données version 3.x à la version 4.x : exécution de Data_migration-2.sql

A partir de la version 4.0M1 d'ePims, la base de données à une table 'admin-info' qui permet de savoir quel est la version du model de la BD. En fonction de cette version, il est nécessaire d'exécuter les scripts sql des versions suppérieurs. Par exemple, si la version est '3', il faut exécuter le script Data_migration-4.sql qui permet de passer à la version 4 de la BD. Si la version est '2', il faut exécuter les scripts Data_migration-3.sql PUIS Data_migration-4.sql….

Test de la Configuration

Afin de s'assurer que postgresql est correctement installé :

  • Tenter une connexion en local depuis un terminal/une console:
    psql -U pims_user PimsDB
    • Vérifier qu'il existe 68 tables, 25 vues et 2 actors (guest et admin, sauf dans le cas d'une migration où les données précédentes sont conservées)
  • Tenter une connexion à distance, en utilisant PGAdmin III depuis un autre poste par exemple.

Apache Geronimo 2.0

Installer l'artifact de Postgresql en utilisant la console d'installation de Geronimo:

  • depuis la console, sous la rubrique “services” accéder au lien “common libs”
  • ajouter le .jar postgresql-8.1-407.jdbc3.jar en spécifiant les caractéristiques suivantes (à récupérer sur le web … version 8.x…)
    • group = lib, Artifact = postgresql, version =8.1.407.jdbc3, type=jar

Remarque : Les informations saisies ici devront être les mêmes que celles spécifiées lors de la configuration/déploiement de ePims (voir application_web). Dans le cas où une des ces informations change, il faut également modifier le fichier de ressources correspondant.

Serveur FTP

Si le serveur choisi permet une authentification des utilisateurs par l'intermedaire d'une BD, le mieux est de le configurer pour qu'il utilise les données de la BD de PimsDB : table actor, champs login et password. C'est le cas de l'exemple ci-dessous avec ProFTP. Dans le cas contraire, un seul et même utilisateur sera utilisé pour toutes les connections au serveur FTP, quel que soit l'utilisateur ePims qui initie la connexion. C'est le cas avec le serveur TYPSoft.

Dans les deux cas, il est nécessaire de configurer l'application eP-Web en fonction du serveur choisi et de son mode d'authentification. Voir le chapitre consacré à l'installation et à la configuration de eP-Web.

ProFTP

Modifier le fichier proftpd.conf (sous /etc/ ou /usr/local/etc/…), donné en exemple ici :

ServerName           "Pims FTP Server"   
ServerType           standalone
DefaultServer        on
DefaultRoot          /local/path/to/pims_root    # Répertoire accessible via FTP
SystemLog            /var/log/proftpd.log        # Fichier de log

# Port 21 is the standard FTP port.
Port                 21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                022


MaxInstances         30

# Set the user and group under which the server will run.
User                 ftp        # Utilisateur ftp a déclarer au niveau de l'OS
Group                ftp

# Normally, we want files to be overwriteable.
AllowOverwrite       off        # Les données ne sont accessible qu’en lecture !

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
  DenyAll                       #  Les données ne sont accessible qu’en lecture !
</Limit>

<Limit WRITE>
  DenyAll                       # Les données ne sont accessible qu’en lecture !
</Limit>

<Limit DIRS READ>
  AllowAll
</Limit>

#
# SQL Authentication
#
SQLAuthTypes           Plaintext                              # Les passwords sont en clairs.
SQLAuthenticate        users*
SQLConnectInfo         PimsDB@<servBD> pims_db_user pswd      # connexion a la base pour identification
SQLUserInfo            actor login passwd null null null null # table (actor) et champs pour authentification
SQLDefaultGID          65534
SQLDefaultUID          65534
SQLMinUserGID          100
SQLMinUserUID          500
SQLDefaultHomedir      null
RequireValidShell      off

TYPSoft

Ce serveur FTP ne permet pas d'authentification via une base de donnée. L'authentification par un utilisateur unique est donc nécessaire. Dans l'application,

  • choisir le menu Setup > Users .
  • choisir New User et entrer le login
  • sélectionner le nouvel utilisateur et saisir le password ainsi que le Root directory en cochant l'option “Sub Directory Include”
  • sauvegarder les modifications

Test de la configuration

Avant la configuration de l'authentification SQL, autoriser les connexions en anonymous et tenter de se connecter depuis une autre machine. Exécuter 'ftp [ftp_host]' depuis une console/terminal.

Puis ajouter l'authentification SQL et tenter de nouveau de se connecter avec cette fois ci le nom d'un utilisateur existant dans la base de données ePims (créé préalablement un utilisateur “à la main” dans la table actor).



(Continuez vers ⇒ configurationepims)

wiki/epims4_0/admin/configuration.txt · Last modified: 2009/01/08 17:31 by 132.168.73.9