====== 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 définie dans pg_ident.conf local all all ident // 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 , saisir tous les mappings autorisés. // utilisateur système (unix ou windows) robert correspond à l’utilisateur postgresql pims_db_user robert pims_db_user * Modification du ficher de configuration /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 ou createuser -U postgres -d -P pims_db_user . * 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 .sql === Via pgAdmin === L'outil [[http://www.pgadmin.org/|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 [[http://www.pgadmin.org/|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 [[.:configurationepims#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 DenyAll # Les données ne sont accessible qu’en lecture ! DenyAll # Les données ne sont accessible qu’en lecture ! AllowAll # # SQL Authentication # SQLAuthTypes Plaintext # Les passwords sont en clairs. SQLAuthenticate users* SQLConnectInfo PimsDB@ 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]])