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.
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
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).
Depuis une console ou un terminal. (windows: se mettre dans le répertoire bin de postgres)
createuser –d –P pims_db_user <enter> ou createuser -U postgres -d -P pims_db_user <enter>.
Une fois la configuration faite, il est possible de créer la base de données utilisées dans ePims :
createdb –E ‘UTF-8’ –U pims_db_user PimsDB
Encodage à confirmer
psql –U pims_db_user PimsDB
puis
\i <path/to/ePimsModel>.sql
L'outil pgAdmin III permet d'effectuer la création de la base sans pour autant se trouver sur le serveur :
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).
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….
Afin de s'assurer que postgresql est correctement installé :
psql -U pims_user PimsDB
Installer l'artifact de Postgresql en utilisant la console d'installation de Geronimo:
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.
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.
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
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,
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)